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

Disassembly:
mov ecx, dword [0x95eda0]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x637453
sub esp, 0xf0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
lea edx, [0x6f67d4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.00476b70
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test al, al
je 0x636113
mov dword [esp + 0x54], edx
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x90], ebx
test eax, eax
jne 0x635e01
xor ebp, ebp
jmp 0x635e38
mov dword [esp], ebx
mov dword [esp + 4], eax
lea ecx, [0x71578c]
mov dword [esp + 8], ecx
call fcn.004b8e30
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x90]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6360f6
test edx, edx
jne 0x635e4a
xor ebp, ebp
jmp 0x635e81
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x71578c]
mov dword [esp + 8], eax
call fcn.004b8e30
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x90]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x6360f6
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b8880
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x635ebb
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x635ec9
jmp 0x63743a
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x635f2d
mov dword [esp + 0x88], ecx
mov dword [esp + 0x34], 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, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
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 + 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.00472150
mov eax, dword [esp + 0x64]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
nop
nop
test eax, eax
je 0x635f8f
lea ecx, [esp + 0x94]
cmp eax, ecx
je 0x635f9d
jmp 0x637422
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
inc ecx
mov edx, dword [esp + 0x98]
cmp eax, ecx
jae 0x635ff3
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov byte [ecx + edx - 1], 0x2f
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.004b8880
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x63603a
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x636048
jmp 0x63740a
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x6360ac
mov dword [esp + 0x30], edx
mov dword [esp + 0x84], 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, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
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 + 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.00472150
mov eax, dword [esp + 0x68]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
jmp 0x636240
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x6362bb
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x71578c]
mov dword [esp + 8], edx
call fcn.004b8e30
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x6362bb
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call fcn.004b8880
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x636189
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x636197
jmp 0x6373f2
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x6361fb
mov dword [esp + 0x68], ebx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x38], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
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 + 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.00472150
mov eax, dword [esp + 0x64]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x63624f
mov ecx, dword [eax]
jmp 0x636251
xor ecx, ecx
mov dword [esp + 0x4c], ecx
lea eax, [0x6a7120]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call fcn.0046c600
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.00471a54
lea eax, [0x6ab740]
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.00467e40
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xb8]
xor edx, edx
jmp 0x6362f8
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.00468030
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0xc0]
test ebx, ebx
je 0x63638d
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp eax, edx
jae 0x636355
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, [0x6a7120]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
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 + 0xa4], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], eax
lea esi, [ecx + edx*8 - 4]
mov dword [esi], ebx
mov ebx, dword [0x95f020]
lea esi, [ecx + edx*8 - 8]
test ebx, ebx
je 0x6362d8
call fcn.004717d0
mov dword [edi], ebp
mov ebx, dword [esi]
mov dword [edi + 4], ebx
jmp 0x6362d8
mov dword [esp + 0x48], edx
mov dword [esp + 0xb4], ecx
lea ebx, [0x762e50]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.004ba8e0
xor eax, eax
jmp 0x6363bd
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jge 0x636a31
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xb4]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x50], ebx
mov edx, dword [edx]
mov dword [esp + 0xa8], edx
lea ebp, [0x6ab740]
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.0040e320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x94]
mov edx, dword [eax + 4]
mov eax, dword [eax]
nop
nop
test ecx, ecx
je 0x63642e
lea ebx, [esp + 0x94]
cmp ecx, ebx
je 0x63643c
jmp 0x6373da
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp ecx, ebx
jae 0x6364a2
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x9c], ebx
mov byte [ebx + ebp - 1], 0x3b
mov ecx, dword [esp + 0x94]
nop
nop
test ecx, ecx
je 0x6364cb
lea ebx, [esp + 0x94]
cmp ecx, ebx
je 0x6364d9
jmp 0x6373c2
lea ecx, [esp + 0x94]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp ecx, ebx
jae 0x636537
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x9c], ebx
mov byte [ebx + ebp - 1], 0x20
mov ecx, dword [esp + 0x50]
test ecx, ecx
je 0x636a14
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x71578c]
mov dword [esp + 8], edx
call fcn.004b8e30
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x636a14
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
call fcn.004b8880
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x6365b3
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x6365c1
jmp 0x6373aa
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x636625
mov dword [esp + 0x80], ecx
mov dword [esp + 0x2c], 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, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x2c]
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.00472150
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
xor edx, edx
jmp 0x636a6c
cmp edx, eax
jge 0x63671b
mov ebx, dword [esp + 0x94]
nop
nop
test ebx, ebx
je 0x63669f
lea ebp, [esp + 0x94]
cmp ebx, ebp
je 0x6366ad
jmp 0x637392
lea ebx, [esp + 0x94]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x9c]
inc ebp
mov esi, dword [esp + 0x98]
cmp ebx, ebp
jae 0x63670f
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x9c], ebp
mov byte [ebp + esi - 1], 0x2a
mov ebx, dword [esp + 0x94]
nop
nop
test ebx, ebx
je 0x636738
lea ebp, [esp + 0x94]
cmp ebx, ebp
je 0x636746
jmp 0x63737a
lea ebx, [esp + 0x94]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x9c]
inc ebp
mov esi, dword [esp + 0x98]
cmp ebx, ebp
jb 0x636764
cmp edx, eax
jmp 0x6367b0
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], 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 + 0x9c], ebp
mov byte [ebp + esi - 1], 0x3d
jge 0x636873
mov edx, dword [esp + 0x94]
nop
test edx, edx
je 0x6367de
lea ebx, [esp + 0x94]
cmp edx, ebx
je 0x6367ec
jmp 0x637362
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x9c]
lea ebx, [edx + 7]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x98]
cmp ebp, ebx
jae 0x636846
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, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
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 + 0x9c], ebx
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x98], esi
xor edx, edx
xor ebx, ebx
jmp 0x636e75
test eax, eax
jne 0x63687b
xor edx, edx
jmp 0x6368a4
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x71578c]
mov dword [esp + 8], edx
call fcn.004b8e30
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 0x636949
mov edx, dword [esp + 0x94]
nop
test edx, edx
je 0x6368c8
lea ebx, [esp + 0x94]
cmp edx, ebx
je 0x6368d6
jmp 0x636e5c
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp edx, ebx
jae 0x636934
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x9c], ebx
mov byte [ebx + ebp - 1], 0x22
xor edx, edx
xor ebx, ebx
jmp 0x636ad8
mov edx, dword [esp + 0x94]
nop
nop
test edx, edx
je 0x636966
lea ebx, [esp + 0x94]
cmp edx, ebx
je 0x636974
jmp 0x636abf
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [eax + ebx]
mov esi, dword [esp + 0x98]
cmp edx, ebp
jae 0x6369ca
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, [0x6a71a0]
mov dword [esp + 0x10], ecx
call fcn.0046c6b0
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.00472150
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
jmp 0x6363b6
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x98]
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x636a5c
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], eax
add esp, 0xf0
ret
test edx, edx
je 0x636a65
call fcn.004623b0
call fcn.004623f0
mov edx, ebp
mov dword [esp + 0x64], edx
cmp edx, eax
jge 0x63667c
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x636a89
lea ebp, [edx + 1]
jmp 0x636aad
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00462550
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 0x636a6a
cmp ebx, 9
je 0x636a6a
jmp 0x63667a
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
inc edx
cmp edx, eax
jge 0x636c7a
movzx ebp, byte [ecx + edx]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x636af2
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x636ad7
cmp ebx, edx
ja 0x636e53
mov ebp, edx
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x94]
add ebx, ecx
nop
test edx, edx
je 0x636b25
lea edi, [esp + 0x94]
cmp edx, edi
je 0x636b33
jmp 0x636e3b
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov dword [esp + 0x64], ebp
mov edx, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
lea ecx, [esi + edi]
mov eax, dword [esp + 0x98]
cmp edx, ecx
jae 0x636b95
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x74], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x74]
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.00472150
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
nop
test eax, eax
je 0x636bf7
lea edx, [esp + 0x94]
cmp eax, edx
je 0x636c05
jmp 0x636e23
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp edx, ebx
jae 0x636c5b
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], 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 0x636ad7
cmp ebx, eax
ja 0x636e1a
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x94]
add ecx, ebx
nop
test eax, eax
je 0x636cab
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x636cb9
jmp 0x636e02
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x636d17
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x70], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
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.00472150
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
nop
test eax, eax
je 0x636d75
lea ecx, [esp + 0x94]
cmp eax, ecx
je 0x636d83
jmp 0x636dea
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
inc ecx
mov edx, dword [esp + 0x98]
cmp eax, ecx
jae 0x636dd9
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x9c], ecx
mov byte [ecx + edx - 1], 0x22
jmp 0x6363b6
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
mov ecx, eax
mov eax, ebx
call fcn.004718a0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
mov eax, ebx
mov ecx, edx
call fcn.004718a0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
inc edx
cmp edx, eax
jge 0x6371f1
mov dword [esp + 0x40], 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 0x636e9c
mov esi, 1
jmp 0x636f0c
xchg ebp, eax
cmp al, 0x2a
xchg ebp, eax
jne 0x636eaa
mov esi, 1
jmp 0x636f0c
xchg ebp, eax
cmp al, 0x27
xchg ebp, eax
jne 0x636eb8
mov esi, 1
jmp 0x636f0c
xchg ebp, eax
cmp al, 0x25
xchg ebp, eax
jne 0x636ec6
mov esi, 1
jmp 0x636f0c
mov dword [esp + 0x3c], ebx
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
nop
lea ecx, [0x6fc5e8]
mov dword [esp], ecx
mov dword [esp + 4], 0xf
mov dword [esp + 8], eax
call fcn.004b7510
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
movzx ebp, byte [esp + 0x25]
mov esi, eax
mov eax, dword [esp + 0x28]
xchg esi, eax
test al, al
xchg esi, eax
je 0x636e74
cmp ebx, edx
ja 0x637359
mov esi, edx
sub edx, ebx
mov edi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x94]
add ebx, ecx
nop
test edx, edx
je 0x636f4e
lea ecx, [esp + 0x94]
cmp edx, ecx
jne 0x637341
mov ecx, dword [esp + 0x6c]
jmp 0x636f5c
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
lea eax, [ecx + edi]
mov esi, dword [esp + 0x98]
cmp edx, eax
jae 0x636fba
mov dword [esp + 0x64], edi
mov dword [esp + 0x7c], 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, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x7c]
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.00472150
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x94]
nop
nop
test eax, eax
je 0x63701c
lea edx, [esp + 0x94]
cmp eax, edx
je 0x63702a
jmp 0x637329
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
inc ebx
mov ebp, dword [esp + 0x98]
cmp edx, ebx
jae 0x637080
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], 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 + 0x94]
lea esi, [0x6fcbc2]
movzx edx, byte [esi + edx]
nop
test ebp, ebp
je 0x6370bf
lea edi, [esp + 0x94]
cmp ebp, edi
je 0x6370cd
jmp 0x637311
lea ebp, [esp + 0x94]
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0xa0]
mov edi, dword [esp + 0x9c]
inc edi
mov eax, dword [esp + 0x98]
cmp ebp, edi
jae 0x637137
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, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x98], eax
movzx edx, byte [esp + 0x27]
movzx ebx, byte [esp + 0x25]
lea esi, [0x6fcbc2]
mov dword [esp + 0x9c], edi
mov byte [edi + eax - 1], dl
and ebx, 0xf
mov edx, dword [esp + 0x94]
movzx ebx, byte [ebx + esi]
nop
test edx, edx
je 0x637165
lea ebp, [esp + 0x94]
cmp edx, ebp
je 0x637173
jmp 0x6372f9
lea edx, [esp + 0x94]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x9c]
inc ebp
mov esi, dword [esp + 0x98]
cmp edx, ebp
jae 0x6371d2
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, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0x98], esi
movzx ebx, byte [esp + 0x26]
mov dword [esp + 0x9c], ebp
mov byte [ebp + esi - 1], bl
mov edx, dword [esp + 0x40]
lea ebx, [edx + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
jmp 0x636e74
cmp ebx, eax
ja 0x6372f0
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x94]
add ecx, ebx
nop
test eax, eax
je 0x637222
lea ebx, [esp + 0x94]
cmp eax, ebx
je 0x637230
jmp 0x6372d8
lea eax, [esp + 0x94]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x9c]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x98]
cmp eax, ebp
jae 0x63728e
mov dword [esp + 0x64], edx
mov dword [esp + 0x78], 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, [0x6a71a0]
mov dword [esp + 0x10], eax
call fcn.0046c6b0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
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.00472150
mov eax, dword [esp + 0x60]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x98], eax
jmp 0x6363b6
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
mov ecx, eax
mov eax, ebx
call fcn.004718a0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
mov eax, ebx
mov ecx, edx
call fcn.004718a0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
lea eax, [0x6a7120]
mov dword [esp], eax
lea eax, [0x762270]
mov dword [esp + 4], eax
call fcn.0046aeb0
nop
call fcn.004703c0
jmp fcn.00635d50