Function at 0x6389e520
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x63aa7440]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x6389fc1d
sub esp, 0xf0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
lea edx, [0x639353f7]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.637cfd40
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test al, al
je 0x6389e8d7
mov dword [esp + 0x2c], edx
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x94], ebx
test eax, eax
jne 0x6389e5ce
xor ebp, ebp
jmp 0x6389e602
mov dword [esp], ebx
mov dword [esp + 4], eax
lea ecx, [0x6394b84c]
mov dword [esp + 8], ecx
call fcn.637cf1a0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x94]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6389e8ba
test edx, edx
jne 0x6389e614
xor ebp, ebp
jmp 0x6389e648
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x6394b84c]
mov dword [esp + 8], eax
call fcn.637cf1a0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x94]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6389e8ba
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.637cebf0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x6389e682
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x6389e690
jmp 0x6389fc04
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x6389e6f4
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0xbc], esi
mov dword [esp + 0x64], ebp
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.637aca20
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
nop
test eax, eax
je 0x6389e756
lea ecx, [esp + 0x98]
cmp eax, ecx
je 0x6389e764
jmp 0x6389fbec
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
inc ecx
mov edx, dword [esp + 0x9c]
cmp eax, ecx
jae 0x6389e7ba
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov byte [ecx + edx - 1], 0x2f
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.637cebf0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x6389e7fe
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x6389e80c
jmp 0x6389fbd4
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x6389e870
mov dword [esp + 0x34], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xbc], esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], eax
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.637aca20
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x6389ea04
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x6389ea7f
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6394b84c]
mov dword [esp + 8], edx
call fcn.637cf1a0
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x6389ea7f
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call fcn.637cebf0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x6389e94d
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x6389e95b
jmp 0x6389fbbc
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x6389e9bf
mov dword [esp + 0x68], ebx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x3c], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.637aca20
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x6389ea13
mov ecx, dword [eax]
jmp 0x6389ea15
xor ecx, ecx
mov dword [esp + 0x50], ecx
lea eax, [0x6390c5a0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.63790510
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.637ac324
lea eax, [0x6390e8e0]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 8], edx
call fcn.6374f5c0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xb8]
xor edx, edx
jmp 0x6389eabc
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov dword [esi], ebp
lea eax, [esp + 0xc0]
mov dword [esp], eax
call fcn.6374f7b0
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xc0]
test ebx, ebx
je 0x6389eb51
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp eax, edx
jae 0x6389eb19
mov dword [esp + 0x58], ebx
mov dword [esp + 0xb0], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6390c5a0]
mov dword [esp + 0x10], eax
call fcn.63790670
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
lea esi, [ecx + edx*8 - 4]
mov dword [esi], ebx
mov ebx, dword [0x63aa7530]
lea esi, [ecx + edx*8 - 8]
test ebx, ebx
je 0x6389ea9c
call fcn.637ac0d0
mov dword [edi], ebp
mov ebx, dword [esi]
mov dword [edi + 4], ebx
jmp 0x6389ea9c
mov dword [esp + 0x4c], edx
mov dword [esp + 0xb4], ecx
lea ebx, [0x6397bed0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.637d2b20
xor eax, eax
jmp 0x6389eb81
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jge 0x6389f1f5
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xb4]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x54], ebx
mov edx, dword [edx]
mov dword [esp + 0xac], edx
lea ebp, [0x6390e8e0]
mov dword [esp], ebp
mov esi, dword [esp + 0xfc]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.63751790
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov edx, dword [eax + 4]
mov eax, dword [eax]
nop
nop
test ecx, ecx
je 0x6389ebf2
lea ebx, [esp + 0x98]
cmp ecx, ebx
je 0x6389ec00
jmp 0x6389fba4
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp ecx, ebx
jae 0x6389ec66
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x3b
mov ecx, dword [esp + 0x98]
nop
nop
test ecx, ecx
je 0x6389ec8f
lea ebx, [esp + 0x98]
cmp ecx, ebx
je 0x6389ec9d
jmp 0x6389fb8c
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp ecx, ebx
jae 0x6389ecfb
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x20
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x6389f1d8
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x6394b84c]
mov dword [esp + 8], edx
call fcn.637cf1a0
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x6389f1d8
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.637cebf0
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x6389ed77
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x6389ed85
jmp 0x6389fb74
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x6389ede9
mov dword [esp + 0x84], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.637aca20
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
xor edx, edx
jmp 0x6389f230
cmp edx, eax
jge 0x6389eedf
mov ebx, dword [esp + 0x98]
nop
nop
test ebx, ebx
je 0x6389ee63
lea ebp, [esp + 0x98]
cmp ebx, ebp
je 0x6389ee71
jmp 0x6389fb5c
lea ebx, [esp + 0x98]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
inc ebp
mov esi, dword [esp + 0x9c]
cmp ebx, ebp
jae 0x6389eed3
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0xa0], ebp
mov byte [ebp + esi - 1], 0x2a
mov ebx, dword [esp + 0x98]
nop
nop
test ebx, ebx
je 0x6389eefc
lea ebp, [esp + 0x98]
cmp ebx, ebp
je 0x6389ef0a
jmp 0x6389fb44
lea ebx, [esp + 0x98]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
inc ebp
mov esi, dword [esp + 0x9c]
cmp ebx, ebp
jb 0x6389ef28
cmp edx, eax
jmp 0x6389ef74
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], esi
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
mov eax, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa0], ebp
mov byte [ebp + esi - 1], 0x3d
jge 0x6389f037
mov edx, dword [esp + 0x98]
nop
test edx, edx
je 0x6389efa2
lea ebx, [esp + 0x98]
cmp edx, ebx
je 0x6389efb0
jmp 0x6389fb2c
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa0]
lea ebx, [edx + 7]
mov ebp, dword [esp + 0xa4]
mov esi, dword [esp + 0x9c]
cmp ebp, ebx
jae 0x6389f00a
mov dword [esp + 0x64], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 7
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov dword [esi + edx], 0x2d667475
mov dword [esi + edx + 3], 0x2727382d
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x9c], esi
xor edx, edx
xor ebx, ebx
jmp 0x6389f639
test eax, eax
jne 0x6389f03f
xor edx, edx
jmp 0x6389f068
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x6394b84c]
mov dword [esp + 8], edx
call fcn.637cf1a0
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x6c]
mov edx, eax
mov eax, dword [esp + 0x28]
test dl, dl
jne 0x6389f10d
mov edx, dword [esp + 0x98]
nop
test edx, edx
je 0x6389f08c
lea ebx, [esp + 0x98]
cmp edx, ebx
je 0x6389f09a
jmp 0x6389f620
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp edx, ebx
jae 0x6389f0f8
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x22
xor edx, edx
xor ebx, ebx
jmp 0x6389f29c
mov edx, dword [esp + 0x98]
nop
nop
test edx, edx
je 0x6389f12a
lea ebx, [esp + 0x98]
cmp edx, ebx
je 0x6389f138
jmp 0x6389f283
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [eax + ebx]
mov esi, dword [esp + 0x9c]
cmp edx, ebp
jae 0x6389f18e
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x6390c620]
mov dword [esp + 0x10], ecx
call fcn.63790670
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.637aca20
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x6389eb7a
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x6389f220
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], eax
add esp, 0xf0
ret
test edx, edx
je 0x6389f229
call fcn.637a3800
call fcn.637a3840
mov edx, ebp
mov dword [esp + 0x64], edx
cmp edx, eax
jge 0x6389ee40
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x6389f24d
lea ebp, [edx + 1]
jmp 0x6389f271
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.637a39a0
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
lea esi, [ebx - 0x20]
cmp esi, 0x5e
jbe 0x6389f22e
cmp ebx, 9
je 0x6389f22e
jmp 0x6389ee3e
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
inc edx
cmp edx, eax
jge 0x6389f43e
movzx ebp, byte [ecx + edx]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x6389f2b6
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x6389f29b
cmp ebx, edx
ja 0x6389f617
mov ebp, edx
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x98]
add ebx, ecx
nop
test edx, edx
je 0x6389f2e9
lea edi, [esp + 0x98]
cmp edx, edi
je 0x6389f2f7
jmp 0x6389f5ff
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov dword [esp + 0x64], ebp
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
lea ecx, [esi + edi]
mov eax, dword [esp + 0x9c]
cmp edx, ecx
jae 0x6389f359
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x78], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xbc], eax
lea ebp, [eax + edi]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call fcn.637aca20
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
test eax, eax
je 0x6389f3bb
lea edx, [esp + 0x98]
cmp eax, edx
je 0x6389f3c9
jmp 0x6389f5e7
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp edx, ebx
jae 0x6389f41f
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x5c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, edx
jmp 0x6389f29b
cmp ebx, eax
ja 0x6389f5de
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x98]
add ecx, ebx
nop
test eax, eax
je 0x6389f46f
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x6389f47d
jmp 0x6389f5c6
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x6389f4db
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x74], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.637aca20
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
test eax, eax
je 0x6389f539
lea ecx, [esp + 0x98]
cmp eax, ecx
je 0x6389f547
jmp 0x6389f5ae
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
inc ecx
mov edx, dword [esp + 0x9c]
cmp eax, ecx
jae 0x6389f59d
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov byte [ecx + edx - 1], 0x22
jmp 0x6389eb7a
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
mov ecx, eax
mov eax, ebx
call fcn.637ac1a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
mov eax, ebx
mov ecx, edx
call fcn.637ac1a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
inc edx
cmp edx, eax
jge 0x6389f9bb
mov dword [esp + 0x48], edx
movzx ebp, byte [ecx + edx]
xchg ebp, eax
mov byte [esp + 0x25], al
xchg ebp, eax
lea esi, [ebp - 0x21]
xchg esi, eax
cmp al, 0x5e
xchg esi, eax
jb 0x6389f660
mov esi, 1
jmp 0x6389f6d0
xchg ebp, eax
cmp al, 0x2a
xchg ebp, eax
jne 0x6389f66e
mov esi, 1
jmp 0x6389f6d0
xchg ebp, eax
cmp al, 0x27
xchg ebp, eax
jne 0x6389f67c
mov esi, 1
jmp 0x6389f6d0
xchg ebp, eax
cmp al, 0x25
xchg ebp, eax
jne 0x6389f68a
mov esi, 1
jmp 0x6389f6d0
mov dword [esp + 0x40], ebx
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
nop
lea ecx, [0x63938e4e]
mov dword [esp], ecx
mov dword [esp + 4], 0xf
mov dword [esp + 8], eax
call fcn.637ce090
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [esp + 0x25]
mov esi, eax
mov eax, dword [esp + 0x28]
xchg esi, eax
test al, al
xchg esi, eax
je 0x6389f638
cmp ebx, edx
ja 0x6389fb23
mov esi, edx
sub edx, ebx
mov edi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x98]
add ebx, ecx
nop
test edx, edx
je 0x6389f712
lea ecx, [esp + 0x98]
cmp edx, ecx
jne 0x6389fb0b
mov ecx, dword [esp + 0x6c]
jmp 0x6389f720
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
lea eax, [ecx + edi]
mov esi, dword [esp + 0x9c]
cmp edx, eax
jae 0x6389f784
mov dword [esp + 0x64], edi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x60], ecx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0xbc], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
call fcn.637aca20
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
nop
test eax, eax
je 0x6389f7e6
lea edx, [esp + 0x98]
cmp eax, edx
je 0x6389f7f4
jmp 0x6389faf3
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp edx, ebx
jae 0x6389f84a
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x25
movzx edx, byte [esp + 0x25]
mov ebx, edx
shr dl, 4
movzx edx, dl
mov ebp, dword [esp + 0x98]
lea esi, [0x639391dd]
movzx edx, byte [esi + edx]
nop
test ebp, ebp
je 0x6389f889
lea edi, [esp + 0x98]
cmp ebp, edi
je 0x6389f897
jmp 0x6389fadb
lea ebp, [esp + 0x98]
mov dword [esp + 0x98], ebp
mov ebp, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
inc edi
mov eax, dword [esp + 0x9c]
cmp ebp, edi
jae 0x6389f901
mov byte [esp + 0x27], dl
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x9c], eax
movzx edx, byte [esp + 0x27]
movzx ebx, byte [esp + 0x25]
lea esi, [0x639391dd]
mov dword [esp + 0xa0], edi
mov byte [edi + eax - 1], dl
and ebx, 0xf
mov edx, dword [esp + 0x98]
movzx ebx, byte [ebx + esi]
nop
test edx, edx
je 0x6389f92f
lea ebp, [esp + 0x98]
cmp edx, ebp
je 0x6389f93d
jmp 0x6389fac3
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
inc ebp
mov esi, dword [esp + 0x9c]
cmp edx, ebp
jae 0x6389f99c
mov byte [esp + 0x26], bl
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], esi
movzx ebx, byte [esp + 0x26]
mov dword [esp + 0xa0], ebp
mov byte [ebp + esi - 1], bl
mov edx, dword [esp + 0x48]
lea ebx, [edx + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
jmp 0x6389f638
cmp ebx, eax
ja 0x6389faba
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x98]
add ecx, ebx
nop
test eax, eax
je 0x6389f9ec
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x6389f9fa
jmp 0x6389faa2
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x6389fa58
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x60], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x6390c620]
mov dword [esp + 0x10], eax
call fcn.63790670
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.637aca20
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x6389eb7a
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
mov ecx, eax
mov eax, ebx
call fcn.637ac1a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
mov eax, ebx
mov ecx, edx
call fcn.637ac1a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
lea eax, [0x6390c5a0]
mov dword [esp], eax
lea eax, [0x6397b410]
mov dword [esp + 4], eax
call fcn.637795a0
nop
call fcn.637aaca0
jmp fcn.6389e520