Function at 0x1400465d0
Capabilities:
Allocate thread local storage

Disassembly:
sub rsp, 0x218
mov byte [rsp + 0x21], 0x12
mov dword [rsp + 0x40], 0x35
mov byte [rsp + 0x22], 0x25
mov byte [rsp + 0x26], 0x2a
mov byte [rsp + 0x25], 9
mov dword [rsp + 0x30], 6
mov byte [rsp + 0x24], 0x28
mov dword [rsp + 0x38], 0x2f
mov dword [rsp + 0x28], 0x2f
mov dword [rsp + 0x34], 0x34
mov dword [rsp + 0x44], 0x34
mov dword [rsp + 0x48], 6
mov byte [rsp + 0x23], 0x1c
mov dword [rsp + 0x2c], 0x2a
mov dword [rsp + 0x3c], 0x30
mov byte [rsp + 0x20], 0x17
cmp dword [0x14007d238], 0
je 0x140046676
movsx eax, byte [rsp + 0x25]
add eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d22e]
or eax, ecx
test eax, eax
je 0x140046676
mov dword [rsp + 0x8c], 1
jmp 0x140046681
mov dword [rsp + 0x8c], 0
mov eax, dword [rsp + 0x8c]
mov ecx, dword [0x14007d20c]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
movsx eax, byte [rsp + 0x23]
mov ecx, dword [0x14007d214]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d250]
or ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
movsx eax, byte [0x14007d201]
mov ecx, dword [rsp + 0x28]
shl eax, cl
movsx ecx, byte [rsp + 0x24]
and eax, ecx
mov dword [0x14007d20c], eax
movsx eax, byte [0x14007d203]
cmp eax, dword [rsp + 0x44]
jne 0x1400466eb
mov dword [rsp + 0x94], 1
jmp 0x1400466f6
mov dword [rsp + 0x94], 0
movsx eax, byte [rsp + 0x23]
cmp eax, dword [0x14007d248]
jbe 0x140046710
mov dword [rsp + 0x90], 1
jmp 0x14004671b
mov dword [rsp + 0x90], 0
mov eax, dword [rsp + 0x90]
cmp dword [rsp + 0x94], eax
je 0x140046849
movsx eax, byte [rsp + 0x24]
test eax, eax
je 0x140046849
cmp dword [rsp + 0x38], 0
je 0x140046762
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x140046762
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x140046762
mov dword [rsp + 0x98], 1
jmp 0x14004676d
mov dword [rsp + 0x98], 0
mov eax, dword [rsp + 0x98]
movzx ecx, al
mov eax, dword [0x14007d244]
shl eax, cl
mov ecx, dword [0x14007d244]
and ecx, eax
mov eax, ecx
mov dword [0x14007d244], eax
movzx eax, byte [0x14007d21f]
sub eax, dword [rsp + 0x44]
test eax, eax
je 0x1400467b4
movsx eax, byte [rsp + 0x23]
test eax, eax
je 0x1400467b4
mov dword [rsp + 0x9c], 1
jmp 0x1400467bf
mov dword [rsp + 0x9c], 0
mov eax, dword [rsp + 0x9c]
mov ecx, dword [0x14007d244]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d244], eax
movsx eax, byte [rsp + 0x25]
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [0x14007d24c]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x21], al
movsx eax, byte [0x14007d21d]
and eax, dword [rsp + 0x30]
mov dword [0x14007d244], eax
movzx eax, byte [0x14007d21e]
movzx ecx, byte [rsp + 0x26]
add eax, ecx
test eax, eax
jne 0x14004682a
movzx eax, byte [rsp + 0x21]
test eax, eax
jne 0x14004682a
mov dword [rsp + 0xa0], 0
jmp 0x140046835
mov dword [rsp + 0xa0], 1
movzx eax, byte [0x14007d22c]
sub eax, dword [rsp + 0xa0]
mov byte [0x14007d22c], al
mov eax, 0x3d
mov word [rsp + 0x54], ax
mov eax, 0x15b
mov word [rsp + 0x54], ax
jmp 0x14004686c
movzx eax, word [rsp + 0x54]
dec ax
mov word [rsp + 0x54], ax
movsx eax, word [rsp + 0x54]
cmp eax, 0xe
jle 0x1400468d5
movzx eax, byte [0x14007d22c]
movzx ecx, byte [rsp + 0x21]
and eax, ecx
test eax, eax
je 0x1400468b1
movsx eax, byte [0x14007d21d]
movzx ecx, al
mov eax, dword [rsp + 0x3c]
shl eax, cl
mov ecx, dword [rsp + 0x38]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x1400468b1
mov dword [rsp + 0xa4], 1
jmp 0x1400468bc
mov dword [rsp + 0xa4], 0
mov eax, dword [rsp + 0xa4]
mov ecx, dword [0x14007d218]
add ecx, eax
mov eax, ecx
mov dword [0x14007d218], eax
jmp 0x14004685f
cmp dword [0x14007d204], 0
jne 0x1400468f2
cmp dword [rsp + 0x38], 0
jne 0x1400468f2
mov dword [rsp + 0xa8], 0
jmp 0x1400468fd
mov dword [rsp + 0xa8], 1
movsx eax, byte [0x14007d22d]
sub eax, dword [rsp + 0xa8]
mov byte [0x14007d22d], al
call qword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
movsx eax, byte [0x14007d25c]
imul eax, eax, 5
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 8
div ecx
mov eax, edx
mov dword [rsp + 0x1b0], eax
mov eax, dword [rsp + 0x1b0]
mov dword [rsp + 0x64], eax
cmp dword [rsp + 0x64], 0
je 0x14004696b
cmp dword [rsp + 0x64], 1
je 0x14004698f
cmp dword [rsp + 0x64], 2
je 0x1400469d6
cmp dword [rsp + 0x64], 3
je 0x140046a49
jmp 0x140046abf
mov eax, dword [rsp + 0x48]
mov ecx, dword [0x14007d24c]
sub ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d25c]
add ecx, eax
mov eax, ecx
mov byte [0x14007d25c], al
jmp 0x140046abf
cmp dword [0x14007d234], 0
je 0x1400469b2
movzx eax, byte [rsp + 0x26]
xor eax, dword [rsp + 0x2c]
test eax, eax
je 0x1400469b2
mov dword [rsp + 0xac], 1
jmp 0x1400469bd
mov dword [rsp + 0xac], 0
movzx eax, byte [0x14007d22c]
and eax, dword [rsp + 0xac]
mov byte [0x14007d22c], al
jmp 0x140046abf
movsx eax, byte [0x14007d21d]
mov dword [rsp + 0x1b4], eax
xor edx, edx
mov eax, dword [rsp + 0x28]
mov ecx, 3
div ecx
mov ecx, dword [rsp + 0x1b4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x28], eax
movzx eax, byte [0x14007d22c]
add eax, dword [rsp + 0x44]
test eax, eax
je 0x140046a25
movsx eax, byte [rsp + 0x22]
test eax, eax
je 0x140046a25
mov dword [rsp + 0xb0], 1
jmp 0x140046a30
mov dword [rsp + 0xb0], 0
mov eax, dword [rsp + 0xb0]
mov ecx, dword [0x14007d228]
and ecx, eax
mov eax, ecx
mov dword [0x14007d228], eax
jmp 0x140046abf
movsx eax, byte [0x14007d200]
cmp eax, dword [rsp + 0x2c]
jne 0x140046a6a
cmp dword [rsp + 0x34], 0
je 0x140046a6a
mov dword [rsp + 0xb4], 1
jmp 0x140046a75
mov dword [rsp + 0xb4], 0
mov eax, dword [rsp + 0xb4]
mov ecx, dword [0x14007d1fc]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
movsx eax, byte [0x14007d22e]
xor eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x3c]
sub edx, ecx
mov ecx, edx
or eax, ecx
movsx ecx, byte [0x14007d22e]
or eax, ecx
movsx ecx, byte [0x14007d200]
or ecx, eax
mov eax, ecx
mov byte [0x14007d200], al
imul eax, dword [0x14007d1fc], 5
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 5
div ecx
mov eax, edx
mov dword [rsp + 0x1b8], eax
mov eax, dword [rsp + 0x1b8]
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x68], 0
je 0x140046b14
cmp dword [rsp + 0x68], 1
je 0x140046b41
cmp dword [rsp + 0x68], 2
je 0x140046bcf
cmp dword [rsp + 0x68], 3
je 0x140046c17
jmp 0x140046c71
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d214]
or ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d203]
add ecx, eax
mov eax, ecx
mov byte [0x14007d203], al
jmp 0x140046c71
mov eax, dword [rsp + 0x3c]
mov ecx, dword [0x14007d240]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x20]
sub eax, ecx
movzx ecx, byte [rsp + 0x20]
and ecx, dword [0x14007d220]
or eax, ecx
movsx ecx, byte [0x14007d200]
add ecx, eax
mov eax, ecx
mov byte [0x14007d200], al
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x14007d230]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x34]
shl eax, cl
test eax, eax
jne 0x140046bab
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [0x14007d203]
sub eax, ecx
test eax, eax
jne 0x140046bab
mov dword [rsp + 0xb8], 0
jmp 0x140046bb6
mov dword [rsp + 0xb8], 1
movsx eax, byte [0x14007d21c]
sub eax, dword [rsp + 0xb8]
mov byte [0x14007d21c], al
jmp 0x140046c71
mov eax, dword [rsp + 0x30]
movzx ecx, al
mov eax, dword [0x14007d240]
shr eax, cl
movsx ecx, byte [rsp + 0x24]
mov dword [rsp + 0x1bc], ecx
movsx edx, byte [rsp + 0x24]
movzx ecx, dl
mov edx, dword [rsp + 0x1bc]
sar edx, cl
mov ecx, edx
and eax, ecx
or eax, dword [0x14007d23c]
mov ecx, dword [0x14007d220]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
jmp 0x140046c71
cmp dword [0x14007d220], 0
je 0x140046c36
movsx eax, byte [rsp + 0x22]
test eax, eax
je 0x140046c36
mov dword [rsp + 0xbc], 1
jmp 0x140046c41
mov dword [rsp + 0xbc], 0
mov eax, dword [rsp + 0xbc]
mov ecx, dword [0x14007d20c]
add ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
movsx eax, byte [0x14007d201]
imul eax, dword [rsp + 0x28]
xor edx, edx
mov ecx, 5
div ecx
mov byte [rsp + 0x21], al
movsx eax, byte [rsp + 0x25]
cmp eax, dword [rsp + 0x48]
jb 0x140046c87
movzx eax, byte [0x14007d21e]
test eax, eax
je 0x140046ce2
movsx eax, byte [0x14007d22f]
movsx ecx, byte [rsp + 0x25]
xor eax, ecx
test eax, eax
je 0x140046cc3
movsx eax, byte [rsp + 0x22]
test eax, eax
je 0x140046cc3
movzx eax, byte [0x14007d22c]
movzx ecx, al
mov eax, dword [rsp + 0x34]
shl eax, cl
test eax, eax
je 0x140046cc3
mov dword [rsp + 0xc0], 1
jmp 0x140046cce
mov dword [rsp + 0xc0], 0
movsx eax, byte [0x14007d21c]
add eax, dword [rsp + 0xc0]
mov byte [0x14007d21c], al
movsx eax, byte [0x14007d22e]
movsx ecx, byte [rsp + 0x24]
imul eax, ecx
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov byte [rsp + 0x26], al
mov eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [rsp + 0x48]
shl eax, cl
mov ecx, dword [0x14007d248]
and ecx, eax
mov eax, ecx
mov byte [0x14007d201], al
call qword [sym.imp.KERNEL32.dll_GetConsoleCP]
movzx eax, byte [rsp + 0x21]
cmp eax, dword [0x14007d218]
jle 0x140046d3d
mov dword [rsp + 0xc4], 1
jmp 0x140046d48
mov dword [rsp + 0xc4], 0
movzx eax, byte [rsp + 0x21]
cmp eax, dword [rsp + 0xc4]
je 0x140046dcb
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x2c], eax
jne 0x140046d6d
mov dword [rsp + 0xc8], 1
jmp 0x140046d78
mov dword [rsp + 0xc8], 0
movsx eax, byte [0x14007d25c]
movsx ecx, byte [rsp + 0x24]
add eax, ecx
and eax, dword [rsp + 0xc8]
test eax, eax
jne 0x140046da9
movsx eax, byte [0x14007d200]
test eax, eax
jne 0x140046da9
mov dword [rsp + 0xcc], 0
jmp 0x140046db4
mov dword [rsp + 0xcc], 1
mov eax, dword [rsp + 0xcc]
mov ecx, dword [0x14007d214]
add ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
mov eax, dword [rsp + 0x48]
movzx ecx, al
mov eax, dword [0x14007d238]
sar eax, cl
cmp eax, dword [rsp + 0x38]
je 0x140046dff
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x140046dff
cmp dword [0x14007d20c], 0
jne 0x140046dff
mov dword [rsp + 0xd0], 0
jmp 0x140046e0a
mov dword [rsp + 0xd0], 1
movsx eax, byte [0x14007d25c]
sub eax, dword [rsp + 0xd0]
mov byte [0x14007d25c], al
movsx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d1fc]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x140046e52
mov eax, dword [0x14007d228]
mov ecx, dword [rsp + 0x38]
xor ecx, eax
mov eax, ecx
test eax, eax
je 0x140046e52
mov byte [rsp + 0x4c], 1
jmp 0x140046e57
mov byte [rsp + 0x4c], 0
movzx eax, byte [rsp + 0x4c]
mov byte [0x14007d22e], al
cmp dword [0x14007d23c], 0
jne 0x140046ec5
mov eax, dword [0x14007d23c]
cmp dword [rsp + 0x38], eax
jae 0x140046e84
mov dword [rsp + 0xd4], 1
jmp 0x140046e8f
mov dword [rsp + 0xd4], 0
mov eax, dword [rsp + 0xd4]
cmp dword [rsp + 0x28], eax
jae 0x140046ea9
mov dword [rsp + 0xd8], 1
jmp 0x140046eb4
mov dword [rsp + 0xd8], 0
mov eax, dword [rsp + 0x30]
cmp dword [rsp + 0xd8], eax
jne 0x140046fa8
xor edx, edx
mov eax, dword [rsp + 0x30]
mov ecx, 4
div ecx
mov ecx, dword [0x14007d258]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x30], eax
cmp dword [0x14007d20c], 0
jne 0x140046f13
movzx eax, byte [rsp + 0x21]
movzx ecx, al
mov eax, dword [rsp + 0x2c]
sar eax, cl
movsx ecx, byte [rsp + 0x23]
add ecx, dword [0x14007d258]
cmp eax, ecx
je 0x140046f13
mov dword [rsp + 0xdc], 0
jmp 0x140046f1e
mov dword [rsp + 0xdc], 1
mov eax, dword [rsp + 0xdc]
mov dword [0x14007d210], eax
movsx eax, byte [0x14007d21d]
movsx ecx, byte [rsp + 0x24]
sub eax, ecx
movsx ecx, byte [rsp + 0x22]
or eax, ecx
mov ecx, dword [0x14007d228]
mov edx, dword [rsp + 0x34]
and edx, ecx
mov ecx, edx
or eax, ecx
mov ecx, dword [0x14007d23c]
or ecx, eax
mov eax, ecx
mov dword [0x14007d23c], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x14007d224]
add ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x48]
shr eax, cl
mov dword [0x14007d234], eax
movzx eax, byte [0x14007d202]
mov ecx, dword [rsp + 0x34]
mov edx, dword [rsp + 0x3c]
sub edx, ecx
mov ecx, edx
mov edx, dword [rsp + 0x28]
xor edx, ecx
mov ecx, edx
sub eax, ecx
movzx ecx, byte [0x14007d21e]
or ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
mov eax, dword [rsp + 0x28]
movzx ecx, al
mov eax, dword [0x14007d208]
shl eax, cl
movsx ecx, byte [rsp + 0x22]
movzx edx, byte [rsp + 0x26]
sub ecx, edx
xor eax, ecx
or eax, dword [0x14007d220]
mov byte [0x14007d22e], al
movsx eax, byte [0x14007d21d]
mov ecx, dword [rsp + 0x28]
sar eax, cl
mov byte [0x14007d21e], al
call qword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [rsp + 0x80], 0x35
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x1c0], eax
mov eax, dword [rsp + 0x80]
dec eax
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x1c0], 0
je 0x1400471f4
movzx eax, byte [0x14007d22c]
add eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x2c]
shl eax, cl
mov ecx, dword [rsp + 0x48]
shl eax, cl
movsx ecx, byte [0x14007d22e]
and eax, ecx
mov ecx, dword [0x14007d208]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d208], eax
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x14007d214]
and ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x24]
or eax, ecx
test eax, eax
jne 0x14004708a
movsx eax, byte [0x14007d25c]
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
test eax, eax
jne 0x14004708a
mov dword [rsp + 0xe0], 0
jmp 0x140047095
mov dword [rsp + 0xe0], 1
mov eax, dword [rsp + 0xe0]
mov dword [0x14007d204], eax
movsx eax, byte [rsp + 0x23]
cmp dword [0x14007d210], eax
jne 0x1400470bc
mov dword [rsp + 0xe8], 1
jmp 0x1400470c7
mov dword [rsp + 0xe8], 0
movzx eax, byte [0x14007d22c]
cmp dword [rsp + 0x3c], eax
jne 0x1400470e1
mov dword [rsp + 0xe4], 1
jmp 0x1400470ec
mov dword [rsp + 0xe4], 0
mov eax, dword [rsp + 0xe4]
cmp dword [rsp + 0xe8], eax
jne 0x140047120
cmp dword [rsp + 0x40], 0
je 0x140047120
movsx eax, byte [rsp + 0x23]
mov ecx, dword [0x14007d23c]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 5
div ecx
mov dword [rsp + 0x44], eax
movzx eax, byte [rsp + 0x21]
movzx ecx, byte [rsp + 0x21]
add eax, ecx
mov ecx, dword [0x14007d240]
xor ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x23]
movsx edx, byte [0x14007d21d]
xor ecx, edx
or eax, ecx
movsx ecx, byte [0x14007d22d]
and ecx, eax
mov eax, ecx
mov byte [0x14007d22d], al
movsx eax, byte [0x14007d22e]
test eax, eax
jne 0x14004718e
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x3c]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x34]
and ecx, eax
mov eax, ecx
xor eax, dword [0x14007d20c]
test eax, eax
jne 0x14004718e
mov dword [rsp + 0xec], 0
jmp 0x140047199
mov dword [rsp + 0xec], 1
movsx eax, byte [0x14007d25c]
or eax, dword [rsp + 0xec]
mov byte [0x14007d25c], al
movsx eax, byte [0x14007d21c]
movsx ecx, byte [rsp + 0x22]
mov dword [rsp + 0x1c4], ecx
mov edx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x38]
add r8d, edx
mov edx, r8d
movzx ecx, dl
mov edx, dword [rsp + 0x1c4]
shl edx, cl
mov ecx, edx
shl eax, cl
mov ecx, dword [0x14007d218]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d218], eax
jmp 0x140046ff5
mov eax, dword [rsp + 0x2c]
mov ecx, dword [0x14007d228]
add ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x23]
cmp eax, ecx
jne 0x140047218
mov dword [rsp + 0xf0], 1
jmp 0x140047223
mov dword [rsp + 0xf0], 0
mov eax, dword [rsp + 0xf0]
mov dword [0x14007d210], eax
movsx eax, byte [rsp + 0x25]
mov ecx, dword [0x14007d204]
add ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d22e]
add ecx, eax
mov eax, ecx
mov byte [0x14007d22e], al
movzx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x30]
add ecx, eax
mov eax, ecx
movzx ecx, byte [rsp + 0x21]
xor eax, ecx
mov ecx, dword [0x14007d220]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d254]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d254], eax
movzx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x21]
add eax, ecx
mov ecx, dword [rsp + 0x40]
or ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [0x14007d1fc]
shl eax, cl
movsx ecx, byte [0x14007d203]
and ecx, eax
mov eax, ecx
mov byte [0x14007d203], al
mov dword [rsp + 0x6c], 0x19d
mov dword [rsp + 0x6c], 0x2c7
jmp 0x1400472ca
mov eax, dword [rsp + 0x6c]
dec eax
mov dword [rsp + 0x6c], eax
cmp dword [rsp + 0x6c], 0x11
jle 0x140047326
movzx eax, byte [rsp + 0x20]
mov ecx, dword [0x14007d248]
and ecx, eax
mov eax, ecx
test eax, eax
je 0x14004730c
mov eax, dword [rsp + 0x48]
mov ecx, dword [rsp + 0x44]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x14004730c
movsx eax, byte [0x14007d200]
test eax, eax
je 0x14004730c
mov dword [rsp + 0xf4], 1
jmp 0x140047317
mov dword [rsp + 0xf4], 0
mov eax, dword [rsp + 0xf4]
mov dword [0x14007d240], eax
jmp 0x1400472c0
cmp dword [0x14007d230], 0
jne 0x140047350
movsx eax, byte [rsp + 0x25]
movzx ecx, byte [rsp + 0x26]
sub eax, ecx
add eax, dword [rsp + 0x44]
test eax, eax
jne 0x140047350
mov dword [rsp + 0xf8], 0
jmp 0x14004735b
mov dword [rsp + 0xf8], 1
movsx eax, byte [0x14007d200]
or eax, dword [rsp + 0xf8]
mov byte [0x14007d200], al
mov dword [rsp + 0x84], 0x39
mov eax, dword [rsp + 0x84]
mov dword [rsp + 0x1c8], eax
mov eax, dword [rsp + 0x84]
dec eax
mov dword [rsp + 0x84], eax
cmp dword [rsp + 0x1c8], 0
je 0x140047411
movsx eax, byte [rsp + 0x25]
cmp eax, dword [rsp + 0x28]
jne 0x1400473ba
mov dword [rsp + 0xfc], 1
jmp 0x1400473c5
mov dword [rsp + 0xfc], 0
movsx eax, byte [rsp + 0x23]
cmp dword [rsp + 0xfc], eax
jne 0x1400473e0
mov dword [rsp + 0x100], 1
jmp 0x1400473eb
mov dword [rsp + 0x100], 0
mov eax, dword [rsp + 0x100]
mov ecx, dword [0x14007d234]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d224]
add ecx, eax
mov eax, ecx
mov dword [0x14007d224], eax
jmp 0x14004737a
movsx eax, byte [rsp + 0x22]
mov ecx, dword [0x14007d24c]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d25c], al
mov eax, dword [0x14007d238]
imul eax, dword [rsp + 0x38]
xor edx, edx
mov ecx, 4
div ecx
mov dword [rsp + 0x40], eax
movsx eax, byte [rsp + 0x24]
movsx ecx, byte [rsp + 0x25]
cmp eax, ecx
jne 0x140047459
mov dword [rsp + 0x104], 1
jmp 0x140047464
mov dword [rsp + 0x104], 0
movzx eax, byte [0x14007d22c]
cmp dword [rsp + 0x104], eax
jne 0x14004754e
movsx eax, byte [rsp + 0x23]
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov ecx, dword [0x14007d24c]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x23], al
mov eax, dword [rsp + 0x48]
movzx ecx, al
mov eax, dword [rsp + 0x44]
shr eax, cl
and eax, dword [rsp + 0x38]
mov ecx, dword [0x14007d254]
add ecx, eax
mov eax, ecx
movzx ecx, byte [0x14007d22c]
or ecx, eax
mov eax, ecx
mov byte [0x14007d22c], al
mov eax, dword [rsp + 0x30]
mov ecx, dword [0x14007d24c]
add ecx, eax
mov eax, ecx
add eax, dword [rsp + 0x40]
movzx ecx, byte [rsp + 0x20]
sub ecx, dword [0x14007d210]
or eax, ecx
movzx ecx, byte [0x14007d21e]
add ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
cmp dword [0x14007d208], 0
je 0x140047510
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x140047510
mov dword [rsp + 0x108], 1
jmp 0x14004751b
mov dword [rsp + 0x108], 0
movsx eax, byte [0x14007d203]
sub eax, dword [rsp + 0x108]
mov byte [0x14007d203], al
movsx eax, byte [rsp + 0x22]
mov ecx, dword [0x14007d224]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d220]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
mov eax, 0x1e
mov word [rsp + 0x58], ax
mov eax, 0xa2
mov word [rsp + 0x58], ax
jmp 0x140047571
movzx eax, word [rsp + 0x58]
dec ax
mov word [rsp + 0x58], ax
movsx eax, word [rsp + 0x58]
cmp eax, 0x31
jle 0x14004767c
mov eax, dword [rsp + 0x48]
cmp dword [0x14007d23c], eax
jne 0x140047597
mov eax, dword [0x14007d258]
cmp dword [rsp + 0x28], eax
jne 0x1400475c2
movsx eax, byte [rsp + 0x23]
movsx ecx, byte [rsp + 0x24]
sub ecx, dword [rsp + 0x34]
xor eax, ecx
movzx ecx, al
mov eax, dword [0x14007d250]
shl eax, cl
mov ecx, dword [0x14007d224]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d224], eax
movsx eax, byte [0x14007d21d]
movzx ecx, byte [rsp + 0x20]
mov edx, dword [rsp + 0x48]
sub edx, ecx
mov ecx, edx
sar eax, cl
mov ecx, dword [0x14007d20c]
or ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
mov eax, dword [rsp + 0x48]
movzx ecx, al
mov eax, dword [0x14007d258]
shr eax, cl
test eax, eax
je 0x14004761d
movsx eax, byte [rsp + 0x24]
mov ecx, dword [rsp + 0x2c]
add ecx, eax
mov eax, ecx
cmp eax, dword [0x14007d220]
jne 0x14004761d
mov dword [rsp + 0x10c], 1
jmp 0x140047628
mov dword [rsp + 0x10c], 0
mov eax, dword [rsp + 0x10c]
mov ecx, dword [0x14007d248]
add ecx, eax
mov eax, ecx
mov dword [0x14007d248], eax
movsx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x48]
sar eax, cl
cmp dword [0x14007d238], eax
jne 0x14004765f
mov dword [rsp + 0x110], 1
jmp 0x14004766a
mov dword [rsp + 0x110], 0
mov eax, dword [rsp + 0x110]
mov dword [0x14007d208], eax
jmp 0x140047564
movsx eax, byte [0x14007d21c]
movsx ecx, byte [rsp + 0x24]
mov dword [rsp + 0x1cc], ecx
movzx edx, byte [rsp + 0x21]
movzx ecx, dl
mov edx, dword [rsp + 0x28]
shl edx, cl
mov ecx, edx
mov edx, dword [rsp + 0x1cc]
xor edx, ecx
mov ecx, edx
shl eax, cl
movsx ecx, byte [0x14007d201]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d201], al
cmp dword [0x14007d248], 0
jne 0x1400476ec
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x44]
xor ecx, eax
mov eax, ecx
test eax, eax
je 0x1400476df
movzx eax, byte [rsp + 0x21]
test eax, eax
jne 0x1400476ec
mov dword [rsp + 0x114], 0
jmp 0x1400476f7
mov dword [rsp + 0x114], 1
mov eax, dword [rsp + 0x114]
mov dword [0x14007d238], eax
mov eax, dword [rsp + 0x38]
mov ecx, dword [0x14007d234]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d1fc]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
movsx eax, byte [0x14007d200]
test eax, eax
je 0x140047750
movsx eax, byte [rsp + 0x25]
mov ecx, dword [rsp + 0x30]
shl eax, cl
test eax, eax
jne 0x140047743
cmp dword [rsp + 0x30], 0
je 0x140047750
mov dword [rsp + 0x118], 1
jmp 0x14004775b
mov dword [rsp + 0x118], 0
mov eax, dword [rsp + 0x118]
mov ecx, dword [0x14007d234]
and ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
movzx eax, byte [rsp + 0x26]
add eax, dword [rsp + 0x44]
movsx ecx, byte [rsp + 0x25]
or eax, ecx
movzx ecx, al
mov eax, dword [0x14007d210]
shl eax, cl
movsx ecx, byte [0x14007d22d]
and ecx, eax
mov eax, ecx
mov byte [0x14007d22d], al
imul eax, dword [0x14007d218], 5
mov ecx, dword [rsp + 0x40]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x1d0], eax
mov eax, dword [rsp + 0x1d0]
mov dword [rsp + 0x70], eax
cmp dword [rsp + 0x70], 0
je 0x1400477f7
cmp dword [rsp + 0x70], 1
je 0x1400478bf
cmp dword [rsp + 0x70], 2
je 0x140047925
cmp dword [rsp + 0x70], 3
je 0x140047966
jmp 0x140047986
cmp dword [0x14007d24c], 0
je 0x14004782d
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x40]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d24c]
mov edx, dword [rsp + 0x28]
add edx, ecx
mov ecx, edx
xor eax, ecx
test eax, eax
je 0x14004782d
mov dword [rsp + 0x11c], 1
jmp 0x140047838
mov dword [rsp + 0x11c], 0
mov eax, dword [rsp + 0x11c]
mov ecx, dword [0x14007d23c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d23c], eax
movsx eax, byte [rsp + 0x23]
mov ecx, dword [rsp + 0x30]
sar eax, cl
test eax, eax
je 0x140047874
movsx eax, byte [rsp + 0x24]
test eax, eax
je 0x140047874
mov dword [rsp + 0x120], 1
jmp 0x14004787f
mov dword [rsp + 0x120], 0
mov eax, dword [rsp + 0x120]
cmp dword [0x14007d1fc], eax
jne 0x14004789b
mov dword [rsp + 0x124], 1
jmp 0x1400478a6
mov dword [rsp + 0x124], 0
movsx eax, byte [0x14007d21d]
or eax, dword [rsp + 0x124]
mov byte [0x14007d21d], al
jmp 0x1400479e9
movzx eax, byte [rsp + 0x26]
cmp eax, dword [rsp + 0x2c]
jne 0x1400478d7
mov dword [rsp + 0x128], 1
jmp 0x1400478e2
mov dword [rsp + 0x128], 0
movsx eax, byte [0x14007d201]
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x128]
or edx, ecx
mov ecx, edx
sub eax, ecx
mov dword [0x14007d204], eax
movsx eax, byte [rsp + 0x23]
movzx ecx, al
mov eax, dword [0x14007d240]
shr eax, cl
mov ecx, dword [0x14007d238]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d238], eax
jmp 0x1400479e9
movsx eax, byte [rsp + 0x25]
mov ecx, dword [0x14007d248]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x30], eax
movzx eax, byte [rsp + 0x20]
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov ecx, dword [0x14007d220]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x23], al
jmp 0x1400479e9
mov eax, dword [rsp + 0x38]
mov ecx, dword [0x14007d24c]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d204]
and ecx, eax
mov eax, ecx
mov dword [0x14007d204], eax
jmp 0x1400479e9
movsx eax, byte [0x14007d21d]
imul eax, dword [rsp + 0x28]
xor edx, edx
mov ecx, 5
div ecx
mov eax, edx
mov dword [rsp + 0x44], eax
movzx eax, byte [rsp + 0x20]
mov ecx, dword [rsp + 0x38]
and ecx, eax
mov eax, ecx
and eax, dword [rsp + 0x28]
cmp dword [0x14007d230], eax
jne 0x1400479c7
mov dword [rsp + 0x12c], 1
jmp 0x1400479d2
mov dword [rsp + 0x12c], 0
mov eax, dword [rsp + 0x12c]
mov ecx, dword [0x14007d23c]
and ecx, eax
mov eax, ecx
mov dword [0x14007d23c], eax
movzx eax, byte [0x14007d22c]
test eax, eax
jne 0x140047a0a
movzx eax, byte [rsp + 0x21]
test eax, eax
jne 0x140047a0a
movzx eax, byte [rsp + 0x21]
cmp eax, dword [0x14007d204]
je 0x140047a26
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x3c]
add ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d208]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d210], eax
movsx eax, byte [rsp + 0x24]
mov ecx, dword [0x14007d244]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x30], eax
movsx eax, byte [rsp + 0x22]
movzx ecx, al
mov eax, dword [rsp + 0x30]
shl eax, cl
mov ecx, dword [0x14007d228]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d248]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d248], eax
movzx eax, byte [0x14007d21f]
mov dword [rsp + 0x1d4], eax
movsx ecx, byte [rsp + 0x23]
mov eax, ecx
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [rsp + 0x1d4]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x48], eax
movzx eax, byte [0x14007d21e]
movsx ecx, byte [rsp + 0x22]
shl eax, cl
mov byte [0x14007d200], al
movsx eax, byte [rsp + 0x22]
cmp eax, dword [0x14007d228]
jbe 0x140047ac7
mov dword [rsp + 0x130], 1
jmp 0x140047ad2
mov dword [rsp + 0x130], 0
mov eax, dword [rsp + 0x130]
cmp dword [rsp + 0x30], eax
je 0x140047c8a
mov eax, dword [rsp + 0x30]
movzx ecx, al
mov eax, dword [0x14007d24c]
shl eax, cl
test eax, eax
je 0x140047b0c
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x140047b0c
mov dword [rsp + 0x134], 1
jmp 0x140047b17
mov dword [rsp + 0x134], 0
movsx eax, byte [0x14007d201]
xor eax, dword [rsp + 0x134]
mov byte [0x14007d201], al
movsx eax, byte [0x14007d22e]
imul eax, dword [rsp + 0x38]
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov byte [rsp + 0x22], al
cmp dword [0x14007d244], 0
je 0x140047b6c
movsx eax, byte [rsp + 0x24]
movsx ecx, byte [rsp + 0x23]
add eax, ecx
test eax, eax
je 0x140047b6c
mov dword [rsp + 0x138], 1
jmp 0x140047b77
mov dword [rsp + 0x138], 0
mov eax, dword [rsp + 0x138]
mov ecx, dword [0x14007d234]
and ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
mov eax, dword [rsp + 0x38]
cmp dword [0x14007d230], eax
jne 0x140047ba7
mov dword [rsp + 0x13c], 1
jmp 0x140047bb2
mov dword [rsp + 0x13c], 0
mov eax, dword [rsp + 0x2c]
mov ecx, dword [rsp + 0x13c]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d234]
add ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
cmp dword [0x14007d234], 0
je 0x140047be1
cmp dword [rsp + 0x28], 0
jne 0x140047bfc
movsx eax, byte [rsp + 0x22]
cmp eax, dword [rsp + 0x28]
je 0x140047bfc
cmp dword [0x14007d1fc], 0
jne 0x140047bfc
mov byte [rsp + 0x4d], 0
jmp 0x140047c01
mov byte [rsp + 0x4d], 1
movzx eax, byte [rsp + 0x4d]
mov byte [0x14007d21c], al
movzx eax, byte [rsp + 0x20]
mov ecx, dword [0x14007d24c]
add ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d22d]
and ecx, eax
mov eax, ecx
mov byte [0x14007d22d], al
mov eax, dword [0x14007d208]
imul eax, dword [rsp + 0x40]
xor edx, edx
mov ecx, 3
div ecx
mov eax, edx
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x40]
movzx ecx, al
mov eax, dword [rsp + 0x34]
shr eax, cl
test eax, eax
je 0x140047c6b
cmp dword [rsp + 0x40], 0
je 0x140047c6b
mov dword [rsp + 0x140], 1
jmp 0x140047c76
mov dword [rsp + 0x140], 0
movsx eax, byte [0x14007d22e]
and eax, dword [rsp + 0x140]
mov dword [0x14007d244], eax
movzx eax, byte [0x14007d21f]
add eax, dword [rsp + 0x44]
mov ecx, dword [rsp + 0x34]
shl eax, cl
mov dword [0x14007d250], eax
movzx eax, byte [0x14007d22c]
mov ecx, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x28]
sub edx, ecx
mov ecx, edx
sub ecx, dword [rsp + 0x34]
sub eax, ecx
mov ecx, dword [0x14007d234]
add ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
movzx eax, byte [rsp + 0x20]
mov ecx, dword [0x14007d1fc]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x88], 0x4f
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x1d8], eax
mov eax, dword [rsp + 0x88]
dec eax
mov dword [rsp + 0x88], eax
cmp dword [rsp + 0x1d8], 0
je 0x140047e6f
xor edx, edx
mov eax, dword [rsp + 0x34]
mov ecx, 3
div ecx
mov ecx, dword [0x14007d238]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x26], al
movsx eax, byte [rsp + 0x24]
cdq
mov ecx, 3
idiv ecx
mov ecx, dword [0x14007d218]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x34], eax
movzx eax, byte [0x14007d22c]
mov dword [rsp + 0x1dc], eax
movsx ecx, byte [rsp + 0x22]
mov eax, ecx
cdq
mov ecx, 5
idiv ecx
mov eax, edx
mov ecx, dword [rsp + 0x1dc]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x20], al
movsx eax, byte [rsp + 0x25]
movzx ecx, byte [0x14007d21e]
cmp eax, ecx
jle 0x140047da1
mov dword [rsp + 0x144], 1
jmp 0x140047dac
mov dword [rsp + 0x144], 0
mov eax, dword [rsp + 0x144]
cmp dword [rsp + 0x38], eax
jae 0x140047dc6
mov dword [rsp + 0x148], 1
jmp 0x140047dd1
mov dword [rsp + 0x148], 0
movzx eax, byte [0x14007d21f]
cmp eax, dword [rsp + 0x148]
je 0x140047e05
movzx eax, byte [rsp + 0x20]
sub eax, dword [rsp + 0x3c]
movzx ecx, al
mov eax, dword [0x14007d208]
shl eax, cl
mov ecx, dword [0x14007d24c]
add ecx, eax
mov eax, ecx
mov dword [0x14007d24c], eax
movzx eax, byte [rsp + 0x21]
mov ecx, dword [0x14007d250]
sub ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x2c]
mov edx, dword [rsp + 0x34]
shl edx, cl
mov ecx, edx
and eax, ecx
test eax, eax
je 0x140047e38
movzx eax, byte [0x14007d22c]
test eax, eax
je 0x140047e38
mov byte [rsp + 0x4e], 1
jmp 0x140047e3d
mov byte [rsp + 0x4e], 0
movzx eax, byte [rsp + 0x4e]
mov byte [0x14007d202], al
mov eax, dword [rsp + 0x40]
mov ecx, dword [0x14007d240]
sub ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x3c]
mov ecx, dword [0x14007d208]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d208], eax
jmp 0x140047cf4
movzx eax, byte [rsp + 0x20]
cmp eax, dword [rsp + 0x3c]
jae 0x140047e95
movsx eax, byte [0x14007d22f]
imul eax, dword [rsp + 0x34]
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x30]
mov ecx, dword [rsp + 0x40]
xor ecx, eax
mov eax, ecx
test eax, eax
jne 0x140047ebb
movzx eax, byte [rsp + 0x20]
test eax, eax
jne 0x140047ebb
mov dword [rsp + 0x14c], 0
jmp 0x140047ec6
mov dword [rsp + 0x14c], 1
mov eax, dword [rsp + 0x14c]
mov ecx, dword [0x14007d218]
and ecx, eax
mov eax, ecx
mov byte [0x14007d21d], al
movsx eax, byte [0x14007d200]
movzx ecx, byte [rsp + 0x26]
cmp eax, ecx
jle 0x140047efa
mov dword [rsp + 0x154], 1
jmp 0x140047f05
mov dword [rsp + 0x154], 0
cmp dword [rsp + 0x34], 0
je 0x140047f22
cmp dword [0x14007d218], 0
je 0x140047f22
mov dword [rsp + 0x150], 1
jmp 0x140047f2d
mov dword [rsp + 0x150], 0
mov eax, dword [rsp + 0x150]
cmp dword [rsp + 0x154], eax
jne 0x140047f46
movzx eax, byte [rsp + 0x26]
test eax, eax
je 0x140047f86
movsx eax, byte [rsp + 0x22]
movzx ecx, al
mov eax, dword [0x14007d1fc]
shr eax, cl
mov ecx, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x30]
shr edx, cl
mov ecx, edx
mov dword [rsp + 0x1e0], ecx
movsx edx, byte [0x14007d203]
movzx ecx, dl
mov edx, dword [rsp + 0x1e0]
shr edx, cl
mov ecx, edx
xor eax, ecx
mov dword [0x14007d214], eax
movsx eax, byte [0x14007d203]
mov ecx, dword [rsp + 0x48]
sar eax, cl
mov ecx, dword [0x14007d20c]
or ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
movzx eax, byte [0x14007d22c]
imul eax, dword [rsp + 0x2c]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
mov dword [rsp + 0x40], eax
call qword [sym.imp.KERNEL32.dll_AreFileApisANSI]
mov dword [rsp + 0x74], 0x12a
mov dword [rsp + 0x74], 0x11
jmp 0x140047fdf
mov eax, dword [rsp + 0x74]
inc eax
mov dword [rsp + 0x74], eax
cmp dword [rsp + 0x74], 0x104b
jae 0x140048033
cmp dword [0x14007d228], 0
je 0x14004800f
cmp dword [rsp + 0x40], 0
je 0x14004800f
movsx eax, byte [rsp + 0x24]
test eax, eax
je 0x14004800f
mov dword [rsp + 0x158], 1
jmp 0x14004801a
mov dword [rsp + 0x158], 0
mov eax, dword [rsp + 0x158]
mov ecx, dword [0x14007d238]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d238], eax
jmp 0x140047fd5
mov eax, dword [rsp + 0x34]
movzx ecx, al
mov eax, dword [0x14007d258]
shr eax, cl
movsx ecx, byte [0x14007d201]
sub ecx, eax
mov eax, ecx
mov byte [0x14007d201], al
xor edx, edx
mov eax, dword [rsp + 0x28]
mov ecx, 5
div ecx
mov eax, edx
mov ecx, dword [0x14007d224]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x2c], eax
movsx eax, byte [rsp + 0x23]
imul ecx, dword [0x14007d208], 6
add eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov eax, edx
mov dword [rsp + 0x1e4], eax
mov eax, dword [rsp + 0x1e4]
mov dword [rsp + 0x78], eax
cmp dword [rsp + 0x78], 0
je 0x1400480c4
cmp dword [rsp + 0x78], 1
je 0x1400480e7
cmp dword [rsp + 0x78], 2
je 0x14004813d
cmp dword [rsp + 0x78], 3
je 0x14004818c
jmp 0x14004820d
mov eax, dword [rsp + 0x38]
mov ecx, dword [0x14007d220]
or ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d234]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d234], eax
jmp 0x140048233
movzx eax, byte [rsp + 0x20]
movzx ecx, al
mov eax, dword [rsp + 0x38]
shl eax, cl
movzx ecx, byte [rsp + 0x26]
cmp eax, ecx
jne 0x14004810b
mov dword [rsp + 0x15c], 1
jmp 0x140048116
mov dword [rsp + 0x15c], 0
mov eax, dword [rsp + 0x15c]
mov ecx, dword [0x14007d220]
xor ecx, eax
mov eax, ecx
movsx ecx, byte [0x14007d22f]
add ecx, eax
mov eax, ecx
mov byte [0x14007d22f], al
jmp 0x140048233
mov eax, dword [rsp + 0x2c]
mov ecx, dword [0x14007d1fc]
or ecx, eax
mov eax, ecx
test eax, eax
je 0x140048165
movzx eax, byte [rsp + 0x21]
test eax, eax
je 0x140048165
mov dword [rsp + 0x160], 1
jmp 0x140048170
mov dword [rsp + 0x160], 0
mov eax, dword [rsp + 0x160]
mov ecx, dword [0x14007d238]
add ecx, eax
mov eax, ecx
mov dword [0x14007d238], eax
jmp 0x140048233
movsx eax, byte [0x14007d203]
mov ecx, dword [rsp + 0x38]
shl eax, cl
movzx ecx, byte [rsp + 0x20]
and eax, ecx
movzx ecx, byte [0x14007d202]
and ecx, eax
mov eax, ecx
mov byte [0x14007d202], al
mov eax, dword [rsp + 0x28]
mov ecx, dword [0x14007d208]
sub ecx, eax
mov eax, ecx
test eax, eax
jne 0x1400481e9
movsx eax, byte [rsp + 0x22]
movsx ecx, byte [rsp + 0x22]
add eax, ecx
movzx ecx, byte [0x14007d22c]
or eax, ecx
test eax, eax
jne 0x1400481e9
mov dword [rsp + 0x164], 0
jmp 0x1400481f4
mov dword [rsp + 0x164], 1
mov eax, dword [rsp + 0x164]
mov ecx, dword [0x14007d220]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d220], eax
jmp 0x140048233
movsx eax, byte [0x14007d25c]
movzx ecx, byte [rsp + 0x21]
mov edx, dword [rsp + 0x2c]
and edx, ecx
mov ecx, edx
or eax, ecx
mov ecx, dword [0x14007d218]
and ecx, eax
mov eax, ecx
mov dword [0x14007d218], eax
cmp dword [rsp + 0x38], 0
je 0x140048259
movzx eax, byte [rsp + 0x20]
test eax, eax
je 0x140048259
movsx eax, byte [rsp + 0x24]
test eax, eax
je 0x140048259
mov dword [rsp + 0x168], 1
jmp 0x140048264
mov dword [rsp + 0x168], 0
movzx eax, byte [0x14007d21e]
cmp eax, dword [rsp + 0x168]
jne 0x140048281
mov dword [rsp + 0x16c], 1
jmp 0x14004828c
mov dword [rsp + 0x16c], 0
mov eax, dword [rsp + 0x16c]
mov ecx, dword [0x14007d20c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
movsx eax, byte [rsp + 0x23]
mov ecx, dword [0x14007d258]
sub ecx, eax
mov eax, ecx
or eax, dword [rsp + 0x34]
movsx ecx, byte [0x14007d21c]
add ecx, eax
mov eax, ecx
mov byte [0x14007d21c], al
movsx eax, byte [0x14007d22f]
movzx ecx, byte [rsp + 0x20]
movsx edx, byte [rsp + 0x25]
add ecx, edx
mov dword [rsp + 0x1e8], ecx
movzx edx, byte [rsp + 0x20]
movzx ecx, dl
mov edx, dword [rsp + 0x1e8]
shl edx, cl
mov ecx, edx
xor eax, ecx
test eax, eax
je 0x14004830a
cmp dword [0x14007d214], 0
je 0x14004830a
mov byte [rsp + 0x4f], 1
jmp 0x14004830f
mov byte [rsp + 0x4f], 0
movzx eax, byte [rsp + 0x4f]
mov byte [0x14007d21f], al
call qword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
mov eax, dword [rsp + 0x44]
mov ecx, dword [0x14007d258]
and ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
call qword [sym.imp.KERNEL32.dll_SetFileApisToANSI]
movzx eax, byte [rsp + 0x21]
imul ecx, dword [0x14007d20c], 6
add eax, ecx
xor edx, edx
mov ecx, 9
div ecx
mov eax, edx
mov dword [rsp + 0x1ec], eax
mov eax, dword [rsp + 0x1ec]
mov dword [rsp + 0x7c], eax
cmp dword [rsp + 0x7c], 0
je 0x14004838a
cmp dword [rsp + 0x7c], 1
je 0x1400483c9
cmp dword [rsp + 0x7c], 2
je 0x1400483e6
cmp dword [rsp + 0x7c], 3
je 0x140048445
jmp 0x140048465
mov eax, dword [rsp + 0x3c]
mov ecx, dword [0x14007d224]
sub ecx, eax
mov eax, ecx
movsx ecx, byte [rsp + 0x25]
shl eax, cl
mov ecx, dword [0x14007d214]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d214], eax
movsx eax, byte [0x14007d201]
sub eax, dword [rsp + 0x2c]
and eax, dword [rsp + 0x2c]
mov byte [0x14007d202], al
jmp 0x1400484ed
mov eax, dword [0x14007d210]
imul eax, dword [rsp + 0x30]
xor edx, edx
mov ecx, 3
div ecx
mov byte [rsp + 0x20], al
jmp 0x1400484ed
mov eax, dword [rsp + 0x3c]
movzx ecx, al
mov eax, dword [0x14007d240]
shl eax, cl
test eax, eax
jne 0x140048421
mov eax, dword [0x14007d224]
mov ecx, dword [rsp + 0x40]
sub ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x34]
shr eax, cl
test eax, eax
jne 0x140048421
mov dword [rsp + 0x170], 0
jmp 0x14004842c
mov dword [rsp + 0x170], 1
movsx eax, byte [0x14007d22f]
xor eax, dword [rsp + 0x170]
mov byte [0x14007d22f], al
jmp 0x1400484ed
movzx eax, byte [0x14007d202]
movsx ecx, byte [rsp + 0x22]
imul eax, ecx
cdq
mov ecx, 3
idiv ecx
mov byte [rsp + 0x20], al
jmp 0x1400484ed
cmp dword [0x14007d24c], 0
je 0x140048475
cmp dword [rsp + 0x2c], 0
jne 0x14004849d
mov eax, dword [0x14007d228]
mov ecx, dword [rsp + 0x28]
add ecx, eax
mov eax, ecx
movzx ecx, al
mov eax, dword [rsp + 0x28]
shr eax, cl
test eax, eax
jne 0x14004849d
mov dword [rsp + 0x174], 0
jmp 0x1400484a8
mov dword [rsp + 0x174], 1
mov eax, dword [rsp + 0x174]
mov ecx, dword [0x14007d24c]
add ecx, eax
mov eax, ecx
mov dword [0x14007d24c], eax
movsx eax, byte [0x14007d21d]
movsx ecx, byte [rsp + 0x22]
mov edx, dword [rsp + 0x3c]
and edx, ecx
mov ecx, edx
movsx edx, byte [rsp + 0x24]
xor ecx, edx
shl eax, cl
movsx ecx, byte [0x14007d25c]
or ecx, eax
mov eax, ecx
mov byte [0x14007d25c], al
movzx eax, byte [rsp + 0x20]
movzx ecx, al
mov eax, dword [0x14007d20c]
shl eax, cl
mov ecx, dword [rsp + 0x48]
mov edx, dword [rsp + 0x38]
shr edx, cl
mov ecx, edx
xor ecx, dword [0x14007d24c]
or eax, ecx
mov dword [0x14007d250], eax
movsx eax, byte [rsp + 0x25]
movzx ecx, byte [rsp + 0x26]
shl eax, cl
mov ecx, dword [rsp + 0x38]
sar eax, cl
mov ecx, dword [0x14007d234]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d21e], al
movsx eax, byte [rsp + 0x25]
test eax, eax
jne 0x14004855c
movzx eax, byte [rsp + 0x21]
xor eax, dword [rsp + 0x34]
test eax, eax
jne 0x14004855c
mov dword [rsp + 0x178], 0
jmp 0x140048567
mov dword [rsp + 0x178], 1
movzx eax, byte [0x14007d22c]
sub eax, dword [rsp + 0x178]
movsx ecx, byte [0x14007d203]
or ecx, eax
mov eax, ecx
mov byte [0x14007d203], al
movzx eax, byte [rsp + 0x26]
mov ecx, dword [0x14007d23c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
movsx eax, byte [0x14007d21c]
movzx ecx, byte [rsp + 0x21]
mov dword [rsp + 0x1f0], ecx
mov edx, dword [rsp + 0x30]
movzx ecx, dl
mov edx, dword [rsp + 0x1f0]
sar edx, cl
mov ecx, edx
mov dword [rsp + 0x1f4], ecx
movzx edx, byte [rsp + 0x20]
movzx ecx, dl
mov edx, dword [rsp + 0x1f4]
shl edx, cl
mov ecx, edx
xor eax, ecx
test eax, eax
je 0x1400485f0
cmp dword [0x14007d218], 0
je 0x1400485f0
mov byte [rsp + 0x50], 1
jmp 0x1400485f5
mov byte [rsp + 0x50], 0
movzx eax, byte [rsp + 0x50]
mov byte [0x14007d22d], al
mov eax, 0xe6
mov word [rsp + 0x5c], ax
mov eax, 0xd
mov word [rsp + 0x5c], ax
jmp 0x140048623
movzx eax, word [rsp + 0x5c]
inc ax
mov word [rsp + 0x5c], ax
movsx eax, word [rsp + 0x5c]
cmp eax, 0xe6
jge 0x14004890b
mov eax, dword [rsp + 0x30]
cmp dword [0x14007d1fc], eax
jbe 0x14004877a
movsx eax, byte [0x14007d203]
cmp dword [rsp + 0x2c], eax
je 0x14004877a
cmp dword [rsp + 0x2c], 0
je 0x14004877a
movzx eax, byte [0x14007d21f]
movsx ecx, byte [rsp + 0x25]
mov dword [rsp + 0x1f8], ecx
mov edx, dword [rsp + 0x3c]
movzx ecx, dl
mov edx, dword [rsp + 0x1f8]
shl edx, cl
mov ecx, edx
xor eax, ecx
movzx ecx, byte [rsp + 0x20]
movsx edx, byte [0x14007d203]
and ecx, edx
xor eax, ecx
mov byte [0x14007d200], al
movsx eax, byte [rsp + 0x23]
cdq
mov ecx, 5
idiv ecx
mov ecx, dword [0x14007d228]
add ecx, eax
mov eax, ecx
mov byte [rsp + 0x26], al
movsx eax, byte [rsp + 0x25]
cmp dword [0x14007d254], eax
jne 0x1400486d1
mov dword [rsp + 0x17c], 1
jmp 0x1400486dc
mov dword [rsp + 0x17c], 0
mov eax, dword [rsp + 0x17c]
mov ecx, dword [0x14007d24c]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d24c], eax
movzx eax, byte [rsp + 0x26]
cmp eax, dword [rsp + 0x3c]
jne 0x14004870b
mov dword [rsp + 0x180], 1
jmp 0x140048716
mov dword [rsp + 0x180], 0
mov eax, dword [rsp + 0x28]
cmp dword [rsp + 0x180], eax
jne 0x140048730
mov dword [rsp + 0x184], 1
jmp 0x14004873b
mov dword [rsp + 0x184], 0
mov eax, dword [rsp + 0x184]
movzx ecx, al
mov eax, dword [0x14007d24c]
shl eax, cl
mov dword [0x14007d240], eax
movzx eax, byte [rsp + 0x21]
add eax, dword [rsp + 0x48]
or eax, dword [rsp + 0x2c]
mov ecx, dword [0x14007d258]
xor ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d224]
and ecx, eax
mov eax, ecx
mov dword [0x14007d224], eax
cmp dword [0x14007d254], 0
je 0x1400487ab
movsx eax, byte [rsp + 0x22]
test eax, eax
jne 0x14004879e
movzx eax, byte [rsp + 0x26]
test eax, eax
jne 0x14004879e
movsx eax, byte [rsp + 0x23]
test eax, eax
je 0x1400487ab
mov dword [rsp + 0x188], 1
jmp 0x1400487b6
mov dword [rsp + 0x188], 0
mov eax, dword [rsp + 0x188]
mov ecx, dword [0x14007d1fc]
add ecx, eax
mov eax, ecx
mov dword [0x14007d1fc], eax
movsx eax, byte [0x14007d21d]
test eax, eax
jne 0x1400487fa
cmp dword [rsp + 0x30], 0
je 0x1400487ed
cmp dword [rsp + 0x44], 0
je 0x1400487ed
cmp dword [rsp + 0x38], 0
jne 0x1400487fa
mov dword [rsp + 0x18c], 0
jmp 0x140048805
mov dword [rsp + 0x18c], 1
mov eax, dword [rsp + 0x18c]
mov ecx, dword [0x14007d20c]
add ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
cmp dword [0x14007d1fc], 0
jne 0x140048844
movsx eax, byte [rsp + 0x25]
test eax, eax
je 0x140048837
movsx eax, byte [rsp + 0x25]
test eax, eax
jne 0x140048844
mov dword [rsp + 0x190], 0
jmp 0x14004884f
mov dword [rsp + 0x190], 1
mov eax, dword [rsp + 0x190]
mov dword [0x14007d1fc], eax
movzx eax, byte [rsp + 0x21]
add eax, dword [rsp + 0x2c]
movzx ecx, al
mov eax, dword [0x14007d220]
sar eax, cl
mov ecx, dword [0x14007d250]
and ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
movsx eax, byte [rsp + 0x23]
mov ecx, dword [0x14007d244]
imul ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 4
div ecx
mov dword [rsp + 0x28], eax
movzx eax, byte [0x14007d21f]
movsx ecx, byte [rsp + 0x24]
xor eax, ecx
movsx ecx, byte [rsp + 0x23]
sub ecx, dword [rsp + 0x34]
mov dword [rsp + 0x1fc], ecx
mov edx, dword [0x14007d258]
movzx ecx, dl
mov edx, dword [rsp + 0x1fc]
shl edx, cl
mov ecx, edx
xor eax, ecx
mov dword [0x14007d234], eax
movsx eax, byte [0x14007d21d]
mov dword [rsp + 0x200], eax
movzx ecx, byte [rsp + 0x20]
mov eax, ecx
cdq
and edx, 3
add eax, edx
and eax, 3
sub eax, edx
mov ecx, dword [rsp + 0x200]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
jmp 0x140048616
movsx eax, byte [0x14007d22e]
or eax, dword [rsp + 0x40]
mov ecx, dword [0x14007d228]
or ecx, eax
mov eax, ecx
mov dword [0x14007d228], eax
movzx eax, byte [rsp + 0x21]
movzx ecx, al
mov eax, dword [rsp + 0x30]
shl eax, cl
movsx ecx, byte [rsp + 0x24]
cmp eax, ecx
jne 0x14004894a
mov dword [rsp + 0x194], 1
jmp 0x140048955
mov dword [rsp + 0x194], 0
movzx eax, byte [0x14007d22c]
mov ecx, dword [rsp + 0x194]
sar eax, cl
mov dword [0x14007d224], eax
movsx eax, byte [0x14007d203]
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x34]
shr edx, cl
mov ecx, edx
mov dword [rsp + 0x204], ecx
movzx edx, byte [rsp + 0x20]
movzx ecx, dl
mov edx, dword [rsp + 0x204]
shl edx, cl
mov ecx, edx
xor eax, ecx
movzx ecx, byte [0x14007d21f]
or eax, ecx
mov ecx, dword [0x14007d254]
add ecx, eax
mov eax, ecx
mov dword [0x14007d254], eax
cmp dword [rsp + 0x44], 0
je 0x1400489d2
movsx eax, byte [0x14007d25c]
test eax, eax
je 0x1400489d2
mov dword [rsp + 0x198], 1
jmp 0x1400489dd
mov dword [rsp + 0x198], 0
movsx eax, byte [rsp + 0x24]
cmp eax, dword [rsp + 0x198]
jge 0x1400489f8
mov dword [rsp + 0x19c], 1
jmp 0x140048a03
mov dword [rsp + 0x19c], 0
movsx eax, byte [0x14007d22d]
cmp eax, dword [rsp + 0x19c]
je 0x140048a92
movzx eax, byte [0x14007d202]
movzx ecx, byte [rsp + 0x26]
add eax, ecx
movzx ecx, byte [0x14007d22c]
and ecx, eax
mov eax, ecx
mov byte [0x14007d22c], al
mov eax, dword [rsp + 0x3c]
movzx ecx, al
mov eax, dword [0x14007d24c]
shr eax, cl
mov dword [0x14007d208], eax
cmp dword [0x14007d220], 0
je 0x140048a70
movzx eax, byte [rsp + 0x21]
mov ecx, dword [rsp + 0x30]
shl eax, cl
and eax, dword [rsp + 0x34]
test eax, eax
je 0x140048a70
mov dword [rsp + 0x1a0], 1
jmp 0x140048a7b
mov dword [rsp + 0x1a0], 0
mov eax, dword [rsp + 0x1a0]
mov ecx, dword [0x14007d250]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
cmp dword [0x14007d228], 0
je 0x140048ab1
movsx eax, byte [rsp + 0x22]
test eax, eax
je 0x140048ab1
mov dword [rsp + 0x1a4], 1
jmp 0x140048abc
mov dword [rsp + 0x1a4], 0
mov eax, dword [rsp + 0x1a4]
mov dword [0x14007d1fc], eax
mov eax, 0x17a
mov word [rsp + 0x60], ax
mov eax, 0x64
mov word [rsp + 0x60], ax
jmp 0x140048aec
movzx eax, word [rsp + 0x60]
dec ax
mov word [rsp + 0x60], ax
movsx eax, word [rsp + 0x60]
cmp eax, 0x41
jle 0x140048be1
movzx eax, byte [0x14007d202]
movsx ecx, byte [rsp + 0x25]
movsx edx, byte [rsp + 0x23]
and ecx, edx
or eax, ecx
movsx ecx, byte [0x14007d21d]
xor ecx, eax
mov eax, ecx
mov byte [0x14007d21d], al
movzx eax, byte [rsp + 0x20]
sub eax, dword [rsp + 0x38]
movzx ecx, al
mov eax, dword [0x14007d234]
shl eax, cl
movsx ecx, byte [0x14007d201]
or ecx, eax
mov eax, ecx
mov byte [0x14007d201], al
movsx eax, byte [rsp + 0x24]
mov ecx, dword [0x14007d24c]
sub ecx, eax
mov eax, ecx
sub eax, dword [rsp + 0x2c]
add eax, dword [rsp + 0x28]
add eax, dword [0x14007d238]
mov ecx, dword [0x14007d20c]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d20c], eax
movsx eax, byte [0x14007d201]
test eax, eax
jne 0x140048b9b
movsx eax, byte [rsp + 0x22]
mov ecx, dword [rsp + 0x3c]
or ecx, eax
mov eax, ecx
test eax, eax
jne 0x140048b9b
mov dword [rsp + 0x1a8], 0
jmp 0x140048ba6
mov dword [rsp + 0x1a8], 1
mov eax, dword [rsp + 0x1a8]
mov ecx, dword [0x14007d250]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d250], eax
mov eax, dword [rsp + 0x48]
movzx ecx, al
mov eax, dword [0x14007d240]
shr eax, cl
mov ecx, dword [0x14007d240]
add ecx, eax
mov eax, ecx
mov dword [0x14007d240], eax
jmp 0x140048adf
call qword [sym.imp.KERNEL32.dll_TlsAlloc]
cmp dword [rsp + 0x2c], 0
je 0x140048bf5
cmp dword [rsp + 0x44], 0
jne 0x140048bfe
cmp dword [0x14007d240], 0
je 0x140048c46
cmp dword [0x14007d238], 0
jne 0x140048c24
movzx eax, byte [rsp + 0x20]
movzx ecx, byte [rsp + 0x21]
or eax, ecx
test eax, eax
jne 0x140048c24
mov dword [rsp + 0x1ac], 0
jmp 0x140048c2f
mov dword [rsp + 0x1ac], 1
mov eax, dword [rsp + 0x1ac]
mov ecx, dword [0x14007d228]
sub ecx, eax
mov eax, ecx
mov dword [0x14007d228], eax
movsx eax, byte [rsp + 0x24]
movzx ecx, byte [rsp + 0x21]
shl eax, cl
mov ecx, dword [rsp + 0x44]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d208]
and ecx, eax
mov eax, ecx
mov ecx, dword [0x14007d218]
xor ecx, eax
mov eax, ecx
mov dword [0x14007d218], eax
mov r8d, dword [0x14007d204]
movzx edx, byte [0x14007d22e]
mov ecx, dword [0x14007d228]
call fcn.140048ca0
xor eax, eax
add rsp, 0x218
ret