Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* r2dec pseudo code output */
- /* C:\Users\whiskey\Downloads\TcxLicenseNative.dll @ 0x18005810c */
- #include <stdint.h>
- uint64_t fcn_1800579e0 (int32_t arg_38h, int32_t arg_8h, int32_t arg_18h, int32_t arg_20h, int32_t arg5, int32_t arg1, int32_t arg2, int32_t arg3, int32_t arg4) {
- int32_t var_20h;
- int32_t var_18h;
- int32_t var_14h;
- int32_t var_10h;
- int32_t var_40h;
- r8 = arg5;
- rdi = arg1;
- rsi = arg2;
- rdx = arg3;
- rcx = arg4;
- arg_8h = rbx;
- arg_18h = rsi;
- arg_20h = rdi;
- var_20h = rcx;
- rbx = r8;
- var_18h = edx;
- r8 = rcx + 1;
- eax = *(rcx);
- edx--;
- ecx = (int32_t) al;
- var_20h = r8;
- al >>= 3;
- r9d = 3;
- cl <<= 5;
- eax = (int32_t) al;
- var_18h = edx;
- var_10h = r9d;
- var_14h = cl;
- if (eax != 0x15) {
- goto label_2;
- }
- esi = 0xe29cd76b;
- r15d = r9 + 5;
- r12d = 0;
- r14d = 0xff;
- r13d = 0xffff;
- label_1:
- r11d = 0x80;
- if (r9d >= 1) {
- r9d--;
- eax = (int32_t) cl;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx > 0) {
- ecx = *(r8);
- edx--;
- r8++;
- var_18h = edx;
- var_20h = r8;
- r9d = r15d;
- eax >>= 7;
- var_10h = r15d;
- var_14h = cl;
- } else {
- cl += cl;
- }
- var_14h = cl;
- }
- eax >>= 7;
- } else {
- if (r9d <= 0) {
- goto label_4;
- }
- r10d = 1;
- r10d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- ax = fcn_1800572d0 (rdi, rsi, r10d, var_20h, r8);
- r9d = var_10h;
- ecx = (int32_t) var_14h;
- edx = var_18h;
- r8 = var_20h;
- }
- if (ax == 0) {
- goto label_4;
- }
- if (r9d >= 1) {
- r9d--;
- eax = (int32_t) cl;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx > 0) {
- ecx = *(r8);
- edx--;
- r8++;
- var_18h = edx;
- var_20h = r8;
- r9d = r15d;
- eax >>= 7;
- var_10h = r15d;
- var_14h = cl;
- } else {
- cl += cl;
- }
- var_14h = cl;
- }
- eax >>= 7;
- } else {
- if (r9d <= 0) {
- goto label_5;
- }
- r10d = 1;
- r10d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- ax = fcn_1800572d0 (rdi, rsi, r10d, var_20h, r8);
- r9d = var_10h;
- ecx = (int32_t) var_14h;
- edx = var_18h;
- r8 = var_20h;
- }
- if (ax == 0) {
- goto label_5;
- }
- if (r9d >= 1) {
- r9d--;
- eax = (int32_t) cl;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx > 0) {
- ecx = *(r8);
- edx--;
- r8++;
- var_18h = edx;
- var_20h = r8;
- r9d = r15d;
- eax >>= 7;
- var_10h = r15d;
- var_14h = cl;
- } else {
- cl += cl;
- }
- var_14h = cl;
- }
- eax >>= 7;
- } else {
- if (r9d <= 0) {
- goto label_6;
- }
- r10d = 1;
- r10d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- ax = fcn_1800572d0 (rdi, rsi, r10d, var_20h, r8);
- r9d = var_10h;
- ecx = (int32_t) var_14h;
- edx = var_18h;
- r8 = var_20h;
- }
- if (ax != 0) {
- if (r9d >= 7) {
- r9d -= 7;
- edi = (int32_t) cl;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx > 0) {
- ecx = *(r8);
- edx--;
- r8++;
- var_18h = edx;
- var_20h = r8;
- r9d = r15d;
- edi >>= 1;
- var_10h = r15d;
- var_14h = cl;
- } else {
- cl <<= 7;
- }
- var_14h = cl;
- }
- edi >>= 1;
- } else {
- if (r9d > 0) {
- r10d = 7;
- r10d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- ax = fcn_1800572d0 (rdi, rsi, r10d, var_20h, r8);
- r9d = var_10h;
- edi = (int32_t) ax;
- ecx = (int32_t) var_14h;
- edx = var_18h;
- r8 = var_20h;
- } else {
- edi = (int32_t) r12w;
- }
- }
- di += r11w;
- if (di == r14w) {
- goto label_7;
- }
- rdx = *((rbx + 8));
- arg_38h = dil;
- if (*((rbx + 0x10)) != rdx) {
- *(rdx) = dil;
- *((rbx + 8))++;
- } else {
- fcn_1800581e0 (rdi, rsi, rdx, rbx, arg_38h, r9);
- }
- r9d = var_10h;
- ecx = (int32_t) var_14h;
- edx = var_18h;
- r8 = var_20h;
- if (dil == 0) {
- esi += 0xd1301;
- goto label_8;
- }
- eax = (int32_t) dil;
- esi += eax;
- goto label_8;
- }
- label_6:
- if (r9d >= 6) {
- r9d -= 6;
- edi = (int32_t) cl;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx > 0) {
- eax = *(r8);
- edx--;
- r8++;
- var_14h = al;
- var_20h = r8;
- edi >>= 2;
- var_18h = edx;
- var_10h = r15d;
- } else {
- cl <<= 6;
- }
- var_14h = cl;
- }
- edi >>= 2;
- } else {
- if (r9d > 0) {
- r10d = 6;
- r10d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- ax = fcn_1800572d0 (rdi, rsi, r10d, var_20h, r8);
- edi = (int32_t) ax;
- } else {
- edi = (int32_t) r12w;
- }
- }
- rax = *((rbx + 0x10));
- rdx = *((rbx + 8));
- if (di == 0) {
- arg_38h = 0xff;
- if (rax != rdx) {
- *(rdx) = 0xff;
- eax = r14d;
- *((rbx + 8))++;
- goto label_9;
- }
- fcn_1800581e0 (rdi, rsi, rdx, rbx, arg_38h, r9);
- eax = r14d;
- goto label_9;
- }
- arg_38h = dil;
- if (rax == rdx) {
- goto label_10;
- }
- *(rdx) = dil;
- *((rbx + 8))++;
- while (*((rbx + 0x10)) == rdx) {
- label_10:
- fcn_1800581e0 (rdi, rsi, rdx, rbx, arg_38h, r9);
- label_0:
- eax = 0xd1301;
- if (dil != 0) {
- eax = (int32_t) dil;
- }
- label_9:
- r9d = var_10h;
- esi += eax;
- ecx = (int32_t) var_14h;
- edx = var_18h;
- r8 = var_20h;
- goto label_8;
- label_5:
- if (r9d >= 6) {
- r9d -= 6;
- edi = (int32_t) cl;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx > 0) {
- eax = *(r8);
- edx--;
- r8++;
- var_14h = al;
- var_20h = r8;
- edi >>= 2;
- var_18h = edx;
- var_10h = r15d;
- } else {
- cl <<= 6;
- }
- var_14h = cl;
- }
- edi >>= 2;
- } else {
- if (r9d > 0) {
- r10d = 6;
- r10d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- ax = fcn_1800572d0 (rdi, rsi, r10d, var_20h, r8);
- edi = (int32_t) ax;
- } else {
- edi = (int32_t) r12w;
- }
- }
- rdx = *((rbx + 8));
- dil += 0x40;
- arg_38h = dil;
- }
- *(rdx) = dil;
- *((rbx + 8))++;
- goto label_0;
- label_4:
- rdx = *((rbx + 8));
- arg_38h = r12b;
- if (*((rbx + 0x10)) != rdx) {
- *(rdx) = r12b;
- *((rbx + 8))++;
- } else {
- fcn_1800581e0 (rdi, rsi, rdx, rbx, arg_38h, r9);
- }
- r9d = var_10h;
- esi += 0xd1301;
- r14d = esi;
- if (r9d >= 1) {
- ecx = (int32_t) var_14h;
- r9d--;
- edx = var_18h;
- eax = ecx;
- r8 = var_20h;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx > 0) {
- ecx = *(r8);
- edx--;
- r8++;
- var_18h = edx;
- var_20h = r8;
- r9d = r15d;
- eax >>= 7;
- var_10h = r15d;
- var_14h = cl;
- } else {
- cl += cl;
- }
- var_14h = cl;
- }
- eax >>= 7;
- } else {
- if (r9d > 0) {
- r10d = 1;
- r10d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- fcn_1800572d0 (rdi, rsi, r10d, var_20h, r8);
- r9d = var_10h;
- } else {
- eax = (int32_t) r12w;
- }
- r8 = var_20h;
- edx = var_18h;
- ecx = (int32_t) var_14h;
- }
- if (ax == 0) {
- goto label_11;
- }
- if (r9d >= 6) {
- r9d -= 6;
- edi = (int32_t) cl;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx > 0) {
- ecx = *(r8);
- edx--;
- r8++;
- var_18h = edx;
- var_20h = r8;
- r9d = r15d;
- edi >>= 2;
- var_10h = r15d;
- var_14h = cl;
- } else {
- cl <<= 6;
- }
- var_14h = cl;
- }
- edi >>= 2;
- } else {
- if (r9d > 0) {
- r10d = 6;
- r10d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- ax = fcn_1800572d0 (rdi, rsi, r10d, var_20h, r8);
- r9d = var_10h;
- edi = (int32_t) ax;
- ecx = (int32_t) var_14h;
- edx = var_18h;
- r8 = var_20h;
- } else {
- edi = (int32_t) r12w;
- }
- }
- di++;
- if (di == 0) {
- goto label_11;
- }
- do {
- rdx = *((rbx + 8));
- arg_38h = r12b;
- if (*((rbx + 0x10)) != rdx) {
- *(rdx) = r12b;
- *((rbx + 8))++;
- } else {
- al = fcn_1800581e0 (rdi, rsi, rdx, rbx, arg_38h, r9);
- }
- esi = r14 + 0xd1301;
- r14d = esi;
- di += r13w;
- } while (di != 0);
- r9d = var_10h;
- ecx = (int32_t) var_14h;
- edx = var_18h;
- r8 = var_20h;
- label_11:
- r14d = 0xff;
- label_8:
- if (r9d != 0) {
- goto label_1;
- }
- do {
- label_2:
- al = 0;
- label_3:
- r11 = &var_40h;
- rbx = *((r11 + 0x30));
- rsi = *((r11 + 0x40));
- rdi = *((r11 + 0x48));
- return rax;
- label_7:
- } while (r9d == 0);
- r11d = 0x10;
- if (r9d >= r11d) {
- r9d -= r11d;
- eax = (int32_t) cl;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx > 0) {
- ecx = *(r8);
- r9d = r15d;
- r8++;
- var_10h = r15d;
- edx--;
- var_20h = r8;
- var_18h = edx;
- eax = (int32_t) r12w;
- var_14h = cl;
- } else {
- cl = 0;
- }
- var_14h = cl;
- }
- eax = (int32_t) r12w;
- } else {
- if (r9d > 0) {
- r10d = r11d;
- r10d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- fcn_1800572d0 (rdi, rsi, r10d, var_20h, r8);
- r9d = var_10h;
- ecx = (int32_t) var_14h;
- edx = var_18h;
- r8 = var_20h;
- } else {
- eax = r12d;
- }
- }
- r10d = (int32_t) ax;
- r10d <<= 0x10;
- if (r9d >= r11d) {
- r9d -= r11d;
- var_10h = r9d;
- if (r9d == 0) {
- if (edx <= 0) {
- goto label_12;
- }
- ecx = *(r8);
- r9d = r15d;
- var_10h = r15d;
- cl = 0;
- } else {
- } else {
- }
- }
- if (r9d <= 0) {
- goto label_12;
- }
- r11d -= r9d;
- ax = fcn_1800572d0 (rdi, rsi, r9d, var_20h, 0);
- r8d = (int32_t) ax;
- ax = fcn_1800572d0 (rdi, rsi, r11d, var_20h, r8);
- r9d = var_10h;
- r12d = (int32_t) ax;
- ecx = (int32_t) var_14h;
- label_12:
- eax = (int32_t) r12w;
- eax |= r10d;
- if (esi != eax) {
- goto label_2;
- }
- r15b -= var_10h;
- eax = 0xffffffff;
- edx = (int32_t) cl;
- ecx = (int32_t) r15b;
- edx >>= cl;
- ecx = r9d;
- eax <<= cl;
- eax = ~eax;
- eax &= 0xca;
- al = (dl == al) ? 1 : 0;
- goto label_3;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement