Function at 0x14004f720
Capabilities:
Check for time delay via gettickcount
Resolve function by parsing pe exports

Disassembly:
mov byte [rsp + 0x18], r8b
mov byte [rsp + 0x10], dl
mov byte [rsp + 8], cl
sub rsp, 0x1c8
mov dword [rsp + 0x3c], 0x4b
mov dword [rsp + 0x34], 0x40
mov dword [rsp + 0x40], 0x11
mov byte [rsp + 0x23], 0x70
mov dword [rsp + 0x28], 0x2c
mov dword [rsp + 0x38], 0xb
mov dword [rsp + 0x48], 0xb7
mov byte [rsp + 0x20], 0x88
mov byte [rsp + 0x25], 0x4e
mov dword [rsp + 0x2c], 0x46
mov byte [rsp + 0x26], 0x34
mov byte [rsp + 0x22], 0x43
mov byte [rsp + 0x21], 0x3d
mov byte [rsp + 0x24], 0xb5
mov dword [rsp + 0x30], 0x13
mov dword [rsp + 0x44], 0x5d
mov eax, 0xe1
mov word [rsp + 0x54], ax
movsx eax, word [rsp + 0x54]
mov dword [rsp + 0x16c], eax
movzx eax, word [rsp + 0x54]
dec ax
mov word [rsp + 0x54], ax
cmp dword [rsp + 0x16c], 0
je 0x14004f8eb
movsx eax, byte [0x14007d25c]
movsx ecx, byte [rsp + 0x23]
or eax, ecx
test eax, eax
jne 0x14004f827
movsx eax, byte [rsp + 0x21]
cmp eax, dword [rsp + 0x28]
jne 0x14004f7fa
mov dword [rsp + 0x88], 1
jmp 0x14004f805
mov dword [rsp + 0x88], 0
mov eax, dword [0x14007d228]
mov ecx, dword [rsp + 0x88]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x14004f827
mov dword [rsp + 0x8c], 0
jmp 0x14004f832
mov dword [rsp + 0x8c], 1
mov eax, dword [rsp + 0x8c]
mov ecx, dword [0x14007d20c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
movzx eax, byte [0x14007d22c]
test eax, eax
je 0x14004f88b
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x34]
add ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x22]
mov dword [rsp + 0x170], ecx
mov edx, dword [0x14007d218]
movzx ecx, dl
mov edx, dword [rsp + 0x170]
shl edx, cl
mov ecx, edx
cmp eax, ecx
jne 0x14004f88b
mov byte [rsp + 0x4c], 1
jmp 0x14004f890
mov byte [rsp + 0x4c], 0
movzx eax, byte [rsp + 0x4c]
mov byte [0x14007d21d], al
movsx eax, byte [rsp + 0x25]
cmp dword [rsp + 0x2c], eax
jne 0x14004f8ba
cmp dword [rsp + 0x38], 0
je 0x14004f8ba
mov dword [rsp + 0x90], 1
jmp 0x14004f8c5
mov dword [rsp + 0x90], 0
mov eax, dword [rsp + 0x90]
mov ecx, dword [0x14007d210]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d214]
or ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
jmp 0x14004f7a9
mov dword [rsp + 0x80], 0xfffffe52
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x174], eax
mov eax, dword [rsp + 0x80]
inc eax
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x174], 0
je 0x14004f9e6
movsx eax, byte [0x14007d25c]
movsx ecx, byte [rsp + 0x23]
sar eax, cl
movsx ecx, byte [rsp + 0x24]
and eax, ecx
movzx ecx, byte [0x14007d21f]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d21f], al
movsx eax, byte [0x14007d22d]
test eax, eax
je 0x14004f969
movsx eax, byte [rsp + 0x20]
test eax, eax
je 0x14004f969
mov dword [rsp + 0x94], 1
jmp 0x14004f974
mov dword [rsp + 0x94], 0
mov eax, dword [rsp + 0x94]
mov dword [0x14007d20c], eax
movsx eax, byte [rsp + 0x20]
cmp eax, dword [rsp + 0x3c]
jne 0x14004f999
mov dword [rsp + 0x98], 1
jmp 0x14004f9a4
mov dword [rsp + 0x98], 0
movsx eax, byte [0x14007d201]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x98]
or edx, ecx
mov ecx, edx
or eax, ecx
mov dword [0x14007d228], eax
movsx eax, byte [rsp + 0x20]
mov ecx, dword [0x14007d210]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d20c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
jmp 0x14004f8f6
xor edx, edx
mov eax, dword [rsp + 0x3c]
mov ecx, 4
div ecx
mov ecx, dword [0x14007d230]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x25], al
mov dword [rsp + 0x5c], 0x82
mov dword [rsp + 0x5c], 0x1cf
jmp 0x14004fa1d
mov eax, dword [rsp + 0x5c]
dec eax
mov dword [rsp + 0x5c], eax
cmp dword [rsp + 0x5c], 0xa
jbe 0x14004fa57
movsx eax, byte [rsp + 0x25]
mov ecx, dword [rsp + 0x28]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x48]
or ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [0x14007d218]
sar eax, cl
movsx ecx, byte [0x14007d25c]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d25c], al
jmp 0x14004fa13
mov eax, dword [rsp + 0x38]
mov ecx, dword [0x14007d258]
xor ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x26]
mov dword [rsp + 0x178], ecx
movsx edx, byte [0x14007d22e]
movzx ecx, dl
mov edx, dword [rsp + 0x30]
shr edx, cl
mov ecx, edx
mov edx, dword [rsp + 0x178]
and edx, ecx
mov ecx, edx
or eax, ecx
mov ecx, dword [0x14007d228]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d228], eax
mov eax, dword [rsp + 0x40]
cmp dword [0x14007d24c], eax
je 0x14004fad3
movsx eax, byte [rsp + 0x22]
test eax, eax
je 0x14004fbbb
movsx eax, byte [0x14007d203]
test eax, eax
je 0x14004fbbb
cmp dword [rsp + 0x44], 0
je 0x14004fbbb
movsx eax, byte [rsp + 0x24]
mov ecx, dword [rsp + 0x38]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x48]
movzx ecx, al
mov eax, dword [0x14007d258]
shr eax, cl
mov dword [0x14007d228], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [0x14007d23c]
shl eax, cl
mov ecx, dword [0x14007d224]
add ecx, eax
mov eax, ecx
mov dword [0x14007d224], eax
movsx eax, byte [0x14007d21c]
test eax, eax
jne 0x14004fb44
movsx eax, byte [rsp + 0x21]
test eax, eax
jne 0x14004fb44
cmp dword [rsp + 0x34], 0
jne 0x14004fb44
mov dword [rsp + 0x9c], 0
jmp 0x14004fb4f
mov dword [rsp + 0x9c], 1
mov eax, dword [rsp + 0x9c]
mov ecx, dword [0x14007d220]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x14007d23c]
add ecx, eax
mov eax, ecx
xor eax, dword [rsp + 0x3c]
mov ecx, dword [0x14007d230]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d230], eax
movzx eax, byte [0x14007d21e]
movsx ecx, byte [rsp + 0x25]
or eax, ecx
movsx ecx, byte [0x14007d201]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d201], al
mov eax, dword [rsp + 0x3c]
mov ecx, dword [0x14007d214]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d22e], al
movsx eax, byte [rsp + 0x20]
cmp dword [0x14007d214], eax
jge 0x14004fbd5
mov dword [rsp + 0xa4], 1
jmp 0x14004fbe0
mov dword [rsp + 0xa4], 0
mov eax, dword [0x14007d220]
cmp dword [rsp + 0x34], eax
je 0x14004fbf9
mov dword [rsp + 0xa0], 1
jmp 0x14004fc04
mov dword [rsp + 0xa0], 0
mov eax, dword [rsp + 0xa0]
cmp dword [rsp + 0xa4], eax
jne 0x14004fd21
movsx eax, byte [0x14007d203]
mov dword [rsp + 0x17c], eax
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 5
div ecx
mov ecx, dword [rsp + 0x17c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14007d21c]
imul eax, dword [rsp + 0x38]
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x30], eax
cmp dword [0x14007d254], 0
jne 0x14004fc81
cmp dword [rsp + 0x44], 0
je 0x14004fc74
cmp dword [rsp + 0x34], 0
jne 0x14004fc81
mov dword [rsp + 0xa8], 0
jmp 0x14004fc8c
mov dword [rsp + 0xa8], 1
mov eax, dword [rsp + 0xa8]
mov dword [0x14007d208], eax
movzx eax, byte [0x14007d21e]
mov dword [rsp + 0x180], eax
xor edx, edx
mov eax, dword [rsp + 0x2c]
mov ecx, 4
div ecx
mov eax, edx
mov ecx, dword [rsp + 0x180]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x23], al
movzx eax, byte [0x14007d202]
movsx ecx, byte [rsp + 0x20]
mov dword [rsp + 0x184], ecx
mov edx, dword [rsp + 0x2c]
mov r8d, dword [rsp + 0x3c]
add r8d, edx
mov edx, r8d
movzx ecx, dl
mov edx, dword [rsp + 0x184]
sar edx, cl
mov ecx, edx
and eax, ecx
movzx ecx, byte [0x14007d21f]
and ecx, eax
mov eax, ecx
mov byte [0x14007d21f], al
movsx eax, byte [0x14007d25c]
mov ecx, dword [rsp + 0x3c]
shl eax, cl
mov ecx, dword [rsp + 0x44]
sar eax, cl
mov dword [0x14007d214], eax
mov eax, dword [rsp + 0x44]
cmp dword [0x14007d254], eax
jne 0x14004fd3a
mov dword [rsp + 0xb4], 1
jmp 0x14004fd45
mov dword [rsp + 0xb4], 0
movsx eax, byte [0x14007d21c]
cmp dword [rsp + 0x38], eax
jae 0x14004fd5f
mov dword [rsp + 0xac], 1
jmp 0x14004fd6a
mov dword [rsp + 0xac], 0
mov eax, dword [rsp + 0x2c]
cmp dword [rsp + 0xac], eax
jae 0x14004fd84
mov dword [rsp + 0xb0], 1
jmp 0x14004fd8f
mov dword [rsp + 0xb0], 0
mov eax, dword [rsp + 0xb0]
cmp dword [rsp + 0xb4], eax
je 0x14004fe84
cmp dword [rsp + 0x40], 0
je 0x14004fdc2
movsx eax, byte [rsp + 0x21]
cmp dword [rsp + 0x30], eax
jne 0x14004fdc2
mov dword [rsp + 0xb8], 1
jmp 0x14004fdcd
mov dword [rsp + 0xb8], 0
mov eax, dword [rsp + 0xb8]
movzx ecx, al
mov eax, dword [0x14007d218]
sar eax, cl
mov dword [0x14007d254], eax
movsx eax, byte [0x14007d203]
test eax, eax
jne 0x14004fe04
cmp dword [rsp + 0x2c], 0
jne 0x14004fe04
mov dword [rsp + 0xbc], 0
jmp 0x14004fe0f
mov dword [rsp + 0xbc], 1
mov eax, dword [rsp + 0xbc]
mov ecx, dword [0x14007d1fc]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
mov eax, dword [0x14007d208]
imul eax, dword [rsp + 0x3c]
xor edx, edx
mov ecx, 5
div ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [0x14007d1fc]
shl eax, cl
test eax, eax
je 0x14004fe65
cmp dword [rsp + 0x2c], 0
je 0x14004fe65
mov dword [rsp + 0xc0], 1
jmp 0x14004fe70
mov dword [rsp + 0xc0], 0
movsx eax, byte [0x14007d201]
sub eax, dword [rsp + 0xc0]
mov byte [0x14007d201], al
mov eax, dword [rsp + 0x2c]
movzx ecx, al
mov eax, dword [rsp + 0x3c]
shr eax, cl
and eax, dword [rsp + 0x34]
movzx ecx, al
mov eax, dword [0x14007d204]
shl eax, cl
mov ecx, dword [0x14007d240]
add ecx, eax
mov eax, ecx
mov dword [0x14007d240], eax
mov eax, dword [0x14007d214]
imul eax, dword [rsp + 0x44]
cdq
mov ecx, 3
idiv ecx
mov byte [rsp + 0x23], al
movsx eax, byte [0x14007d21c]
add eax, dword [rsp + 0x40]
mov ecx, dword [0x14007d1fc]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
movsx eax, byte [rsp + 0x21]
movzx ecx, byte [0x14007d21e]
imul ecx, ecx, 7
add eax, ecx
cdq
and edx, 7
add eax, edx
and eax, 7
sub eax, edx
mov word [rsp + 0x7c], ax
movsx eax, word [rsp + 0x7c]
mov dword [rsp + 0x60], eax
cmp dword [rsp + 0x60], 0
je 0x14004ff35
cmp dword [rsp + 0x60], 1
je 0x14004ff78
cmp dword [rsp + 0x60], 2
je 0x14004ffee
cmp dword [rsp + 0x60], 3
je 0x14005003f
jmp 0x140050069
movsx eax, byte [0x14007d22f]
imul eax, dword [rsp + 0x48]
cdq
mov ecx, 3
idiv ecx
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp + 0x26]
mov ecx, dword [0x14007d248]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x34]
shr eax, cl
movsx ecx, byte [0x14007d22f]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d22f], al
jmp 0x140050086
movsx eax, byte [rsp + 0x21]
mov ecx, dword [0x14007d228]
or ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d22c]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d22c], al
movsx eax, byte [rsp + 0x20]
movsx ecx, byte [rsp + 0x20]
mov edx, dword [rsp + 0x3c]
shl edx, cl
mov ecx, edx
cmp eax, ecx
jne 0x14004ffbb
mov dword [rsp + 0xc4], 1
jmp 0x14004ffc6
mov dword [rsp + 0xc4], 0
mov eax, dword [rsp + 0xc4]
movzx ecx, al
mov eax, dword [0x14007d254]
sar eax, cl
movsx ecx, byte [0x14007d25c]
or ecx, eax
mov eax, ecx
mov byte [0x14007d25c], al
jmp 0x140050086
movsx eax, byte [0x14007d21d]
and eax, dword [rsp + 0x38]
movsx ecx, byte [rsp + 0x24]
movzx edx, byte [rsp + 0x26]
add ecx, edx
sub ecx, dword [0x14007d218]
or eax, ecx
movsx ecx, byte [0x14007d201]
add ecx, eax
mov eax, ecx
mov byte [0x14007d201], al
movsx eax, byte [rsp + 0x23]
mov ecx, dword [0x14007d23c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d248]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d248], eax
jmp 0x140050086
movzx eax, byte [rsp + 0x26]
mov ecx, dword [rsp + 0x44]
add ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [0x14007d244]
shr eax, cl
mov ecx, dword [0x14007d214]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
jmp 0x140050086
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 5
div ecx
mov eax, edx
mov ecx, dword [0x14007d258]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x25], al
call qword [sym.imp.KERNEL32.dll_GetTickCount]
movsx eax, byte [rsp + 0x24]
mov ecx, dword [0x14007d20c]
lea eax, [rax + rcx*4]
xor eax, eax
mov word [rsp + 0x78], ax
movsx eax, word [rsp + 0x78]
mov dword [rsp + 0x58], eax
cmp dword [rsp + 0x58], 0
je 0x1400500cf
cmp dword [rsp + 0x58], 1
je 0x140050108
cmp dword [rsp + 0x58], 2
je 0x140050129
cmp dword [rsp + 0x58], 3
je 0x1400501b4
jmp 0x1400501d5
movsx eax, byte [rsp + 0x23]
mov ecx, dword [0x14007d258]
and ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
movzx eax, byte [0x14007d21f]
movsx ecx, byte [rsp + 0x24]
add eax, ecx
movsx ecx, byte [0x14007d22d]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d22d], al
jmp 0x1400501ea
movsx eax, byte [0x14007d203]
and eax, dword [rsp + 0x28]
movsx ecx, byte [0x14007d22f]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d22f], al
jmp 0x1400501ea
movsx eax, byte [0x14007d22f]
movsx ecx, byte [rsp + 0x20]
mov dword [rsp + 0x188], ecx
movsx edx, byte [rsp + 0x25]
mov r8d, dword [rsp + 0x34]
movzx ecx, r8b
sar edx, cl
mov ecx, edx
mov edx, dword [rsp + 0x188]
and edx, ecx
mov ecx, edx
sar eax, cl
movsx ecx, byte [0x14007d22e]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d22e], al
movsx eax, byte [0x14007d22e]
cmp eax, dword [rsp + 0x28]
jne 0x140050186
mov dword [rsp + 0xc8], 1
jmp 0x140050191
mov dword [rsp + 0xc8], 0
movsx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0xc8]
and ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d22e]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d22e], al
jmp 0x1400501ea
movzx eax, byte [0x14007d21e]
movsx ecx, byte [rsp + 0x24]
sub eax, ecx
movzx ecx, byte [0x14007d21e]
add ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
jmp 0x1400501ea
movsx eax, byte [rsp + 0x22]
mov ecx, dword [0x14007d24c]
or ecx, eax
mov eax, ecx
mov dword [0x14007d228], eax
cmp dword [0x14007d220], 0
jne 0x14005022e
mov eax, dword [0x14007d238]
cmp dword [rsp + 0x3c], eax
jne 0x14005020c
mov dword [rsp + 0xcc], 1
jmp 0x140050217
mov dword [rsp + 0xcc], 0
movsx eax, byte [rsp + 0x25]
cmp eax, dword [rsp + 0xcc]
je 0x14005022e
movsx eax, byte [rsp + 0x22]
test eax, eax
je 0x140050277
movsx eax, byte [0x14007d200]
movsx ecx, byte [rsp + 0x24]
imul eax, ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
mov byte [rsp + 0x23], al
movsx eax, byte [0x14007d21d]
mov ecx, dword [rsp + 0x44]
mov edx, dword [rsp + 0x28]
and edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x34]
or edx, ecx
mov ecx, edx
or eax, ecx
mov ecx, dword [0x14007d204]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d204], eax
call qword [sym.imp.KERNEL32.dll_GetSystemDEPPolicy]
movsx eax, byte [0x14007d203]
imul eax, dword [rsp + 0x38]
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov byte [rsp + 0x26], al
movzx eax, byte [0x14007d22c]
movsx ecx, byte [rsp + 0x24]
mov edx, dword [rsp + 0x3c]
sub edx, ecx
mov ecx, edx
shl eax, cl
mov ecx, dword [0x14007d250]
mov edx, dword [rsp + 0x44]
sar edx, cl
mov ecx, edx
or eax, ecx
mov ecx, dword [0x14007d224]
add ecx, eax
mov eax, ecx
mov dword [0x14007d224], eax
mov eax, dword [rsp + 0x44]
movzx ecx, al
mov eax, dword [0x14007d1fc]
shl eax, cl
mov byte [0x14007d200], al
cmp dword [0x14007d250], 0
je 0x1400502fd
movsx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x30]
and ecx, eax
mov eax, ecx
test eax, eax
jne 0x14005031c
movsx eax, byte [rsp + 0x22]
test eax, eax
jne 0x14005031c
cmp dword [0x14007d1fc], 0
jne 0x14005031c
mov dword [rsp + 0xd0], 0
jmp 0x140050327
mov dword [rsp + 0xd0], 1
mov eax, dword [rsp + 0xd0]
mov ecx, dword [0x14007d254]
and ecx, eax
mov eax, ecx
mov dword [0x14007d254], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x38]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2c]
shl eax, cl
mov ecx, dword [0x14007d234]
xor ecx, eax
mov eax, ecx
or eax, dword [0x14007d24c]
mov dword [0x14007d228], eax
movsx eax, byte [rsp + 0x20]
and eax, dword [rsp + 0x3c]
mov ecx, dword [0x14007d250]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d210]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
movzx eax, byte [rsp + 0x26]
movsx ecx, byte [rsp + 0x23]
sar eax, cl
test eax, eax
je 0x1400503af
movsx eax, byte [rsp + 0x21]
test eax, eax
je 0x1400503af
mov dword [rsp + 0xd4], 1
jmp 0x1400503ba
mov dword [rsp + 0xd4], 0
movsx eax, byte [0x14007d22f]
add eax, dword [rsp + 0xd4]
mov ecx, dword [0x14007d258]
add ecx, eax
mov eax, ecx
mov dword [0x14007d258], eax
movsx eax, byte [0x14007d201]
movsx ecx, byte [rsp + 0x21]
imul eax, ecx
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov dword [rsp + 0x38], eax
movzx eax, byte [rsp + 0x26]
mov ecx, dword [0x14007d248]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov byte [rsp + 0x21], al
movsx eax, byte [rsp + 0x23]
movsx ecx, byte [rsp + 0x21]
shl eax, cl
movsx ecx, byte [rsp + 0x25]
cmp eax, ecx
jne 0x140050434
mov dword [rsp + 0xd8], 1
jmp 0x14005043f
mov dword [rsp + 0xd8], 0
movzx eax, byte [0x14007d202]
cmp eax, dword [rsp + 0xd8]
jne 0x140050456
mov byte [rsp + 0x4d], 1
jmp 0x14005045b
mov byte [rsp + 0x4d], 0
movzx eax, byte [rsp + 0x4d]
mov byte [0x14007d22e], al
movzx eax, byte [0x14007d22c]
movzx ecx, byte [rsp + 0x26]
shl eax, cl
movzx ecx, byte [0x14007d21f]
and ecx, eax
mov eax, ecx
mov byte [0x14007d21f], al
imul eax, dword [0x14007d248], 3
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x18c], eax
mov eax, dword [rsp + 0x18c]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x64], 0
je 0x1400504da
cmp dword [rsp + 0x64], 1
je 0x140050527
cmp dword [rsp + 0x64], 2
je 0x14005059c
cmp dword [rsp + 0x64], 3
je 0x1400505f8
jmp 0x140050695
movsx eax, byte [rsp + 0x25]
movzx ecx, al
mov eax, dword [0x14007d230]
shl eax, cl
movsx ecx, byte [rsp + 0x24]
cmp eax, ecx
jne 0x140050500
mov dword [rsp + 0xdc], 1
jmp 0x14005050b
mov dword [rsp + 0xdc], 0
mov eax, dword [rsp + 0xdc]
mov ecx, dword [0x14007d228]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d228], eax
jmp 0x140050695
mov eax, dword [rsp + 0x2c]
movzx ecx, al
mov eax, dword [0x14007d234]
sar eax, cl
cmp eax, dword [rsp + 0x2c]
jne 0x140050549
mov dword [rsp + 0xe0], 1
jmp 0x140050554
mov dword [rsp + 0xe0], 0
movsx eax, byte [rsp + 0x25]
mov ecx, dword [rsp + 0xe0]
xor ecx, eax
mov eax, ecx
or eax, dword [0x14007d250]
mov ecx, dword [0x14007d244]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d244], eax
movsx eax, byte [rsp + 0x20]
mov ecx, dword [0x14007d228]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov dword [rsp + 0x34], eax
jmp 0x140050695
mov eax, dword [rsp + 0x40]
movzx ecx, al
mov eax, dword [0x14007d238]
sar eax, cl
mov ecx, dword [0x14007d210]
and ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
movzx eax, byte [0x14007d21f]
movsx ecx, byte [rsp + 0x23]
mov dword [rsp + 0x190], ecx
mov edx, dword [rsp + 0x44]
movzx ecx, dl
mov edx, dword [rsp + 0x190]
sar edx, cl
mov ecx, edx
and eax, ecx
movsx ecx, byte [0x14007d25c]
and ecx, eax
mov eax, ecx
mov byte [0x14007d25c], al
jmp 0x140050695
movsx eax, byte [0x14007d21d]
mov dword [rsp + 0x194], eax
movsx ecx, byte [rsp + 0x22]
mov eax, ecx
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov ecx, dword [rsp + 0x194]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [0x14007d23c]
sub ecx, eax
mov eax, ecx
test eax, eax
je 0x14005067d
movsx eax, byte [rsp + 0x20]
cmp eax, dword [rsp + 0x30]
jne 0x140050650
mov dword [rsp + 0xe4], 1
jmp 0x14005065b
mov dword [rsp + 0xe4], 0
mov eax, dword [0x14007d254]
mov ecx, dword [rsp + 0xe4]
xor ecx, eax
mov eax, ecx
test eax, eax
je 0x14005067d
mov dword [rsp + 0xe8], 1
jmp 0x140050688
mov dword [rsp + 0xe8], 0
mov eax, dword [rsp + 0xe8]
mov dword [0x14007d210], eax
mov eax, dword [rsp + 0x2c]
cmp dword [0x14007d23c], eax
jne 0x1400506ae
mov dword [rsp + 0xf0], 1
jmp 0x1400506b9
mov dword [rsp + 0xf0], 0
movsx eax, byte [rsp + 0x22]
cmp eax, dword [0x14007d220]
je 0x1400506d3
mov dword [rsp + 0xec], 1
jmp 0x1400506de
mov dword [rsp + 0xec], 0
mov eax, dword [rsp + 0xec]
cmp dword [rsp + 0xf0], eax
je 0x14005077b
movsx eax, byte [rsp + 0x23]
mov ecx, dword [rsp + 0x34]
sub ecx, eax
mov eax, ecx
cmp dword [0x14007d218], eax
jne 0x140050714
mov dword [rsp + 0xf4], 1
jmp 0x14005071f
mov dword [rsp + 0xf4], 0
mov eax, dword [0x14007d23c]
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xf4]
or ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d202]
or ecx, eax
mov eax, ecx
mov byte [0x14007d202], al
movsx eax, byte [0x14007d22e]
movzx ecx, byte [rsp + 0x26]
sub eax, ecx
mov byte [0x14007d201], al
movsx eax, byte [0x14007d22f]
movsx ecx, byte [rsp + 0x22]
xor eax, ecx
mov ecx, dword [0x14007d234]
add ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
movsx eax, byte [rsp + 0x20]
test eax, eax
jne 0x1400507a1
movsx eax, byte [rsp + 0x23]
movsx ecx, byte [rsp + 0x20]
xor eax, ecx
test eax, eax
jne 0x1400507a1
mov dword [rsp + 0xf8], 0
jmp 0x1400507ac
mov dword [rsp + 0xf8], 1
mov eax, dword [rsp + 0xf8]
mov ecx, dword [0x14007d258]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d220]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
movsx eax, byte [rsp + 0x21]
movzx ecx, al
mov eax, dword [0x14007d23c]
shl eax, cl
mov ecx, dword [0x14007d214]
and ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
movsx eax, byte [rsp + 0x24]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x48]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d210]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d258]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d258], eax
mov dword [rsp + 0x84], 0xfffffd38
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x198], eax
mov eax, dword [rsp + 0x84]
inc eax
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x198], 0
je 0x140050a7b
movsx eax, byte [0x14007d22f]
cmp eax, dword [rsp + 0x30]
jne 0x14005086d
mov dword [rsp + 0x100], 1
jmp 0x140050878
mov dword [rsp + 0x100], 0
movsx eax, byte [rsp + 0x23]
cmp eax, dword [0x14007d234]
je 0x140050892
mov dword [rsp + 0xfc], 1
jmp 0x14005089d
mov dword [rsp + 0xfc], 0
mov eax, dword [rsp + 0xfc]
cmp dword [rsp + 0x100], eax
je 0x140050927
movsx eax, byte [0x14007d21d]
xor eax, dword [rsp + 0x30]
movsx ecx, byte [rsp + 0x24]
or eax, ecx
movsx ecx, byte [0x14007d21c]
and ecx, eax
mov eax, ecx
mov byte [0x14007d21c], al
movsx eax, byte [rsp + 0x23]
movzx ecx, al
mov eax, dword [0x14007d258]
shl eax, cl
mov ecx, dword [0x14007d210]
or ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
mov eax, dword [rsp + 0x3c]
mov ecx, dword [0x14007d204]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d210]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
movzx eax, byte [0x14007d22c]
imul eax, dword [rsp + 0x34]
xor edx, edx
mov ecx, 3
div ecx
mov byte [rsp + 0x25], al
movsx eax, byte [rsp + 0x21]
movzx ecx, al
mov eax, dword [rsp + 0x3c]
shl eax, cl
test eax, eax
jne 0x14005094f
movzx eax, byte [rsp + 0x26]
test eax, eax
jne 0x14005094f
mov dword [rsp + 0x104], 0
jmp 0x14005095a
mov dword [rsp + 0x104], 1
movsx eax, byte [0x14007d25c]
xor eax, dword [rsp + 0x104]
movzx ecx, byte [0x14007d21f]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d21f], al
movzx eax, byte [0x14007d202]
movsx ecx, byte [rsp + 0x20]
mov dword [rsp + 0x19c], ecx
mov edx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x38]
sub r8d, edx
mov edx, r8d
movzx ecx, dl
mov edx, dword [rsp + 0x19c]
shl edx, cl
mov ecx, edx
and eax, ecx
mov ecx, dword [0x14007d210]
and ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
movsx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
cmp dword [0x14007d214], eax
jne 0x1400509dd
mov dword [rsp + 0x108], 1
jmp 0x1400509e8
mov dword [rsp + 0x108], 0
movsx eax, byte [0x14007d25c]
movzx ecx, al
mov eax, dword [rsp + 0x2c]
shl eax, cl
cmp dword [rsp + 0x108], eax
jne 0x140050a0e
mov dword [rsp + 0x10c], 1
jmp 0x140050a19
mov dword [rsp + 0x10c], 0
mov eax, dword [rsp + 0x10c]
mov dword [0x14007d220], eax
mov eax, dword [rsp + 0x28]
mov ecx, dword [0x14007d250]
add ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
movsx eax, byte [rsp + 0x22]
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov ecx, dword [0x14007d218]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [0x14007d254]
shl eax, cl
mov ecx, dword [0x14007d238]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d238], eax
jmp 0x140050827
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
imul eax, dword [0x14007d228], 7
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 9
div ecx
mov eax, edx
mov dword [rsp + 0x1a0], eax
mov eax, dword [rsp + 0x1a0]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0
je 0x140050ad6
cmp dword [rsp + 0x68], 1
je 0x140050b0d
cmp dword [rsp + 0x68], 2
je 0x140050b94
cmp dword [rsp + 0x68], 3
je 0x140050c25
jmp 0x140050c44
mov eax, dword [rsp + 0x28]
mov ecx, dword [0x14007d244]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x40]
add edx, ecx
mov ecx, edx
sub ecx, dword [0x14007d240]
or eax, ecx
mov ecx, dword [0x14007d244]
and ecx, eax
mov eax, ecx
mov dword [0x14007d244], eax
jmp 0x140050c44
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x30], eax
jne 0x140050b24
mov dword [rsp + 0x110], 1
jmp 0x140050b2f
mov dword [rsp + 0x110], 0
mov eax, dword [rsp + 0x110]
mov ecx, dword [0x14007d20c]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x140050b5d
mov eax, dword [0x14007d24c]
cmp dword [rsp + 0x34], eax
jne 0x140050b5d
mov dword [rsp + 0x114], 1
jmp 0x140050b68
mov dword [rsp + 0x114], 0
mov eax, dword [rsp + 0x114]
mov dword [0x14007d218], eax
mov eax, dword [0x14007d214]
imul eax, dword [rsp + 0x30]
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x30], eax
jmp 0x140050c44
movsx eax, byte [0x14007d21d]
imul eax, dword [rsp + 0x40]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x28]
cmp dword [0x14007d20c], eax
jne 0x140050bc7
mov dword [rsp + 0x118], 1
jmp 0x140050bd2
mov dword [rsp + 0x118], 0
mov eax, dword [rsp + 0x28]
mov ecx, dword [rsp + 0x118]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x140050c01
movsx eax, byte [rsp + 0x22]
add eax, dword [0x14007d230]
test eax, eax
je 0x140050c01
mov dword [rsp + 0x11c], 1
jmp 0x140050c0c
mov dword [rsp + 0x11c], 0
mov eax, dword [rsp + 0x11c]
mov ecx, dword [0x14007d248]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d248], eax
jmp 0x140050c44
mov eax, dword [rsp + 0x38]
mov ecx, dword [0x14007d250]
sub ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d203]
and ecx, eax
mov eax, ecx
mov byte [0x14007d203], al
xor edx, edx
mov eax, dword [rsp + 0x2c]
mov ecx, 5
div ecx
mov eax, edx
mov ecx, dword [0x14007d218]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
movsx eax, byte [rsp + 0x24]
mov ecx, dword [rsp + 0x38]
sar eax, cl
mov ecx, dword [rsp + 0x30]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d218]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d240]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d240], eax
movsx eax, byte [rsp + 0x22]
mov ecx, dword [0x14007d1fc]
sub ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x28]
mov ecx, dword [0x14007d254]
or ecx, eax
mov eax, ecx
mov dword [0x14007d254], eax
mov dword [rsp + 0x6c], 0xc2
mov dword [rsp + 0x6c], 0x255
jmp 0x140050ccd
mov eax, dword [rsp + 0x6c]
dec eax
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0x3d
jle 0x140050e95
cmp dword [0x14007d208], 0
jne 0x140050d1a
movsx eax, byte [rsp + 0x21]
test eax, eax
je 0x140050d02
movzx eax, byte [0x14007d21f]
test eax, eax
je 0x140050d02
mov dword [rsp + 0x120], 1
jmp 0x140050d0d
mov dword [rsp + 0x120], 0
mov eax, dword [rsp + 0x120]
cmp dword [rsp + 0x3c], eax
jae 0x140050d37
movzx eax, byte [rsp + 0x26]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov ecx, dword [0x14007d258]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x34]
mov ecx, dword [0x14007d218]
add ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x2c]
sub eax, dword [rsp + 0x28]
cmp eax, dword [0x14007d214]
jne 0x140050d5c
mov byte [rsp + 0x4e], 1
jmp 0x140050d61
mov byte [rsp + 0x4e], 0
movzx eax, byte [rsp + 0x4e]
mov byte [0x14007d21e], al
movzx eax, byte [rsp + 0x26]
mov ecx, dword [0x14007d204]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d228]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d228], eax
movsx eax, byte [rsp + 0x21]
mov ecx, dword [0x14007d234]
sub ecx, eax
mov eax, ecx
cmp eax, dword [rsp + 0x2c]
jne 0x140050dad
mov dword [rsp + 0x124], 1
jmp 0x140050db8
mov dword [rsp + 0x124], 0
mov eax, dword [rsp + 0x124]
mov ecx, dword [0x14007d238]
or ecx, eax
mov eax, ecx
mov dword [0x14007d238], eax
movsx eax, byte [0x14007d22f]
movsx ecx, byte [rsp + 0x24]
add eax, ecx
or eax, dword [rsp + 0x3c]
test eax, eax
je 0x140050e05
movsx eax, byte [0x14007d200]
mov ecx, dword [rsp + 0x30]
xor ecx, eax
mov eax, ecx
test eax, eax
je 0x140050e05
mov dword [rsp + 0x128], 1
jmp 0x140050e10
mov dword [rsp + 0x128], 0
movzx eax, byte [0x14007d202]
and eax, dword [rsp + 0x128]
mov byte [0x14007d202], al
movzx eax, byte [0x14007d22c]
test eax, eax
je 0x140050e45
movsx eax, byte [rsp + 0x20]
test eax, eax
je 0x140050e45
mov dword [rsp + 0x12c], 1
jmp 0x140050e50
mov dword [rsp + 0x12c], 0
movzx eax, byte [0x14007d21f]
sub eax, dword [rsp + 0x12c]
mov byte [0x14007d21f], al
movzx eax, byte [0x14007d22c]
mov dword [rsp + 0x1a4], eax
movzx ecx, byte [rsp + 0x26]
mov eax, ecx
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [rsp + 0x1a4]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x22], al
jmp 0x140050cc3
movsx eax, byte [0x14007d21c]
cmp eax, dword [rsp + 0x2c]
jne 0x140050ea9
mov byte [rsp + 0x4f], 1
jmp 0x140050eae
mov byte [rsp + 0x4f], 0
movzx eax, byte [rsp + 0x4f]
mov byte [0x14007d21f], al
movsx eax, byte [rsp + 0x23]
movsx ecx, byte [rsp + 0x24]
and eax, ecx
xor eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [0x14007d1fc]
shr eax, cl
mov ecx, dword [0x14007d248]
add ecx, eax
mov eax, ecx
mov dword [0x14007d248], eax
movsx eax, byte [0x14007d22f]
test eax, eax
jne 0x140050f05
movsx eax, byte [rsp + 0x22]
test eax, eax
jne 0x140050f05
mov dword [rsp + 0x130], 0
jmp 0x140050f10
mov dword [rsp + 0x130], 1
mov eax, dword [rsp + 0x130]
mov dword [0x14007d20c], eax
movsx eax, byte [rsp + 0x25]
mov ecx, dword [0x14007d224]
xor ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x40]
movsx ecx, byte [0x14007d203]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d203], al
mov eax, dword [rsp + 0x48]
mov ecx, dword [0x14007d218]
and ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d22f]
or ecx, eax
mov eax, ecx
mov byte [0x14007d22f], al
mov dword [rsp + 0x70], 0xa2
mov dword [rsp + 0x70], 0x12
jmp 0x140050f7c
mov eax, dword [rsp + 0x70]
inc eax
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0x43d
jge 0x140051014
movzx eax, byte [0x14007d22c]
mov ecx, dword [rsp + 0x38]
shl eax, cl
mov ecx, dword [0x14007d248]
add ecx, eax
mov eax, ecx
mov dword [0x14007d248], eax
cmp dword [0x14007d254], 0
je 0x140050fc4
cmp dword [rsp + 0x30], 0
je 0x140050fc4
mov dword [rsp + 0x134], 1
jmp 0x140050fcf
mov dword [rsp + 0x134], 0
mov eax, dword [rsp + 0x134]
mov ecx, dword [0x14007d210]
add ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
movsx eax, byte [rsp + 0x25]
movsx ecx, byte [rsp + 0x23]
sub eax, ecx
sub eax, dword [rsp + 0x48]
movsx ecx, byte [0x14007d22f]
sar eax, cl
mov ecx, dword [0x14007d208]
and ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
jmp 0x140050f72
mov eax, 0x47
mov word [rsp + 0x50], ax
mov eax, 0xad
mov word [rsp + 0x50], ax
jmp 0x140051037
movzx eax, word [rsp + 0x50]
dec ax
mov word [rsp + 0x50], ax
movsx eax, word [rsp + 0x50]
cmp eax, 0xa
jle 0x1400510bd
movzx eax, byte [0x14007d202]
test eax, eax
je 0x140051096
movzx eax, byte [0x14007d21e]
cmp dword [rsp + 0x48], eax
jne 0x140051066
mov dword [rsp + 0x138], 1
jmp 0x140051071
mov dword [rsp + 0x138], 0
mov eax, dword [rsp + 0x48]
movzx ecx, al
mov eax, dword [rsp + 0x44]
sar eax, cl
xor eax, dword [rsp + 0x138]
test eax, eax
je 0x140051096
mov dword [rsp + 0x13c], 1
jmp 0x1400510a1
mov dword [rsp + 0x13c], 0
mov eax, dword [rsp + 0x13c]
mov ecx, dword [0x14007d1fc]
and ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
jmp 0x14005102a
movsx eax, byte [0x14007d22f]
test eax, eax
jne 0x1400510f4
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x28]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x1400510e7
movsx eax, byte [rsp + 0x22]
or eax, dword [0x14007d228]
test eax, eax
jne 0x1400510f4
mov dword [rsp + 0x140], 0
jmp 0x1400510ff
mov dword [rsp + 0x140], 1
mov eax, dword [rsp + 0x140]
mov dword [0x14007d248], eax
movsx eax, byte [rsp + 0x22]
cmp dword [rsp + 0x2c], eax
jne 0x140051124
mov dword [rsp + 0x144], 1
jmp 0x14005112f
mov dword [rsp + 0x144], 0
movsx eax, byte [0x14007d201]
cmp dword [rsp + 0x144], eax
jne 0x140051393
cmp dword [0x14007d1fc], 0
jne 0x14005116d
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [rsp + 0x23]
and eax, ecx
and eax, dword [rsp + 0x30]
test eax, eax
jne 0x14005116d
mov dword [rsp + 0x148], 0
jmp 0x140051178
mov dword [rsp + 0x148], 1
mov eax, dword [rsp + 0x148]
mov ecx, dword [0x14007d23c]
add ecx, eax
mov eax, ecx
mov dword [0x14007d23c], eax
movsx eax, byte [0x14007d21c]
mov dword [rsp + 0x1a8], eax
xor edx, edx
mov eax, dword [rsp + 0x38]
mov ecx, 3
div ecx
mov eax, edx
mov ecx, dword [rsp + 0x1a8]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
movsx eax, byte [0x14007d200]
movsx ecx, byte [rsp + 0x21]
mov edx, dword [rsp + 0x48]
shl edx, cl
mov ecx, edx
or ecx, dword [rsp + 0x48]
xor eax, ecx
mov byte [0x14007d200], al
xor edx, edx
mov eax, dword [rsp + 0x28]
mov ecx, 3
div ecx
mov eax, edx
mov ecx, dword [0x14007d20c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
mov ecx, 3
div ecx
mov ecx, dword [0x14007d23c]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
movzx eax, byte [0x14007d22c]
test eax, eax
jne 0x140051232
cmp dword [rsp + 0x40], 0
jne 0x140051232
mov dword [rsp + 0x14c], 0
jmp 0x14005123d
mov dword [rsp + 0x14c], 1
mov eax, dword [rsp + 0x14c]
mov dword [0x14007d250], eax
mov eax, dword [rsp + 0x28]
cmp dword [0x14007d210], eax
je 0x14005127e
movsx eax, byte [rsp + 0x21]
test eax, eax
jne 0x14005127e
mov eax, dword [0x14007d208]
mov ecx, dword [rsp + 0x44]
and ecx, eax
mov eax, ecx
test eax, eax
jne 0x14005127e
mov dword [rsp + 0x150], 0
jmp 0x140051289
mov dword [rsp + 0x150], 1
mov eax, dword [rsp + 0x150]
mov ecx, dword [0x14007d238]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d238], eax
mov eax, dword [rsp + 0x40]
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov ecx, dword [0x14007d218]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
movsx eax, byte [0x14007d22d]
movsx ecx, byte [rsp + 0x21]
mov dword [rsp + 0x1ac], ecx
movsx edx, byte [rsp + 0x24]
movzx ecx, dl
mov edx, dword [rsp + 0x1ac]
shl edx, cl
mov ecx, edx
mov dword [rsp + 0x1b0], ecx
mov edx, dword [rsp + 0x34]
movzx ecx, dl
mov edx, dword [rsp + 0x1b0]
shl edx, cl
mov ecx, edx
sub eax, ecx
mov ecx, dword [0x14007d224]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d224], eax
xor edx, edx
mov eax, dword [rsp + 0x34]
mov ecx, 3
div ecx
mov ecx, dword [0x14007d248]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x25], al
movsx eax, byte [rsp + 0x22]
movzx ecx, al
mov eax, dword [0x14007d244]
shl eax, cl
mov ecx, dword [0x14007d20c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
xor edx, edx
mov eax, dword [rsp + 0x34]
mov ecx, 3
div ecx
mov ecx, dword [0x14007d20c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
movsx eax, byte [rsp + 0x21]
movzx ecx, al
mov eax, dword [rsp + 0x28]
shr eax, cl
mov ecx, dword [rsp + 0x48]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d244]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d218]
add ecx, eax
mov eax, ecx
mov dword [0x14007d218], eax
cmp dword [0x14007d234], 0
je 0x1400513c3
movzx eax, byte [rsp + 0x26]
movsx ecx, byte [rsp + 0x24]
and ecx, dword [rsp + 0x28]
or eax, ecx
or eax, dword [0x14007d20c]
test eax, eax
je 0x1400513c3
mov dword [rsp + 0x154], 1
jmp 0x1400513ce
mov dword [rsp + 0x154], 0
mov eax, dword [rsp + 0x154]
mov dword [0x14007d23c], eax
mov eax, dword [rsp + 0x48]
mov ecx, dword [0x14007d214]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d240], eax
movsx eax, byte [rsp + 0x23]
cmp dword [0x14007d248], eax
jne 0x140051409
mov dword [rsp + 0x158], 1
jmp 0x140051414
mov dword [rsp + 0x158], 0
movsx eax, byte [rsp + 0x24]
cmp dword [rsp + 0x158], eax
jne 0x14005142f
mov dword [rsp + 0x15c], 1
jmp 0x14005143a
mov dword [rsp + 0x15c], 0
mov eax, dword [0x14007d20c]
movzx ecx, al
mov eax, dword [rsp + 0x38]
shr eax, cl
mov ecx, dword [rsp + 0x15c]
and ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov dword [rsp + 0x74], 0x191
mov dword [rsp + 0x74], 0xe
jmp 0x14005147c
mov eax, dword [rsp + 0x74]
inc eax
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0x223
jae 0x1400514cf
movzx eax, byte [0x14007d21e]
test eax, eax
jne 0x1400514ae
movsx eax, byte [rsp + 0x20]
movsx ecx, byte [rsp + 0x20]
sub eax, ecx
test eax, eax
jne 0x1400514ae
mov dword [rsp + 0x160], 0
jmp 0x1400514b9
mov dword [rsp + 0x160], 1
movzx eax, byte [0x14007d22c]
or eax, dword [rsp + 0x160]
mov byte [0x14007d22c], al
jmp 0x140051472
mov eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [rsp + 0x40]
sar eax, cl
cmp dword [0x14007d230], eax
jne 0x1400514f1
mov dword [rsp + 0x164], 1
jmp 0x1400514fc
mov dword [rsp + 0x164], 0
mov eax, dword [0x14007d208]
mov ecx, dword [rsp + 0x2c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x164]
xor ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d21f]
and ecx, eax
mov eax, ecx
mov byte [0x14007d21f], al
movsx eax, byte [rsp + 0x25]
test eax, eax
je 0x1400515c9
movsx eax, byte [rsp + 0x20]
cmp eax, dword [0x14007d204]
jae 0x1400515c9
mov eax, dword [rsp + 0x2c]
mov ecx, dword [0x14007d24c]
sub ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d202]
and ecx, eax
mov eax, ecx
mov byte [0x14007d202], al
mov eax, dword [rsp + 0x34]
movzx ecx, al
mov eax, dword [0x14007d214]
shl eax, cl
xor eax, dword [rsp + 0x30]
mov ecx, dword [0x14007d1fc]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x14007d208]
add ecx, eax
mov eax, ecx
mov dword [0x14007d240], eax
movsx eax, byte [0x14007d22d]
mov dword [rsp + 0x1b4], eax
movzx ecx, byte [rsp + 0x26]
mov eax, ecx
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [rsp + 0x1b4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
movsx eax, byte [0x14007d22d]
imul eax, dword [rsp + 0x44]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov dword [rsp + 0x3c], eax
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [rsp + 0x23]
mov edx, dword [rsp + 0x3c]
sub edx, ecx
mov ecx, edx
cmp eax, ecx
jne 0x140051606
mov dword [rsp + 0x168], 1
jmp 0x140051611
mov dword [rsp + 0x168], 0
mov eax, dword [rsp + 0x168]
movzx ecx, al
mov eax, dword [0x14007d230]
shr eax, cl
mov ecx, dword [0x14007d218]
add ecx, eax
mov eax, ecx
mov dword [0x14007d218], eax
movzx ecx, byte [0x14007d200]
call fcn.140051650
xor eax, eax
add rsp, 0x1c8
ret