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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xfc]
cmp eax, dword [ecx + 8]
jbe 0x636cd5
sub esp, 0x17c
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov eax, dword [esp + 0x194]
mov dword [esp], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 4], eax
call fcn.00636ef0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
test ebx, ebx
jne 0x635bee
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0xe4], eax
lea edi, [esp + 0x134]
xor eax, eax
call fcn.0046331b
mov ecx, dword [esp + 0x184]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x188]
mov dword [esp], ebx
call edx
movzx ecx, byte [esp + 0x18]
mov byte [esp + 0x27], cl
lea edi, [esp + 0x134]
lea esi, [esp + 4]
call fcn.004637fe
lea edi, [esp + 0x120]
lea esi, [esp + 0x134]
call fcn.004637fe
movzx ecx, byte [esp + 0x27]
test cl, cl
je 0x6357ab
lea edi, [esp + 0x10c]
lea esi, [esp + 0x120]
call fcn.004637fe
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x110]
test ecx, 0x80000000
je 0x635779
shl ecx, 1
mov edx, eax
shr eax, 0x1f
or eax, ecx
mov ecx, edx
shl edx, 1
mov ebx, eax
shl eax, 1
shr edx, 0x1f
or edx, eax
mov eax, edx
add edx, 0xd7b17f80
shr ebx, 0x1f
add eax, 0xd7b17f80
adc ebx, 0xd
jmp 0x635789
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ecx, eax
test ebx, ebx
sete al
test edx, edx
sete dl
and eax, edx
test al, al
je 0x6357a4
test ecx, 0x3fffffff
sete al
jmp 0x6357a6
xor eax, eax
xor eax, 1
jmp 0x6357ad
xor eax, eax
test al, al
je 0x63586d
mov eax, dword [esp + 0x18c]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x190]
mov dword [esp], edx
lea edi, [esp + 4]
lea esi, [esp + 0x120]
call fcn.004637fe
mov ecx, dword [esp + 0x70]
call ecx
mov eax, dword [esp + 0x18c]
test byte [eax], al
lea edi, [esp + 0x148]
lea esi, [0x8c1340]
call fcn.004637fe
lea edi, [esp + 0x15c]
xor eax, eax
call fcn.00463318
lea eax, [0x636ea0]
mov dword [esp + 0x15c], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x160], eax
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x164], ecx
lea edi, [esp + 0x168]
lea esi, [esp + 0x148]
call fcn.004637fe
lea ecx, [esp + 0x15c]
mov dword [esp + 0xb4], ecx
lea ecx, [esp + 0xa8]
mov dword [esp], ecx
call fcn.00435e00
test eax, eax
jne 0x635be2
mov eax, dword [0x8c031c]
mov ecx, dword [esp + 0x184]
lea edx, [0x73a9cc]
cmp ecx, edx
jne 0x6358a8
mov dword [esp], ecx
mov ecx, dword [esp + 0x188]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004037d0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x635a2c
lea eax, [0x6871e0]
mov dword [esp], eax
mov dword [esp + 4], 1
call fcn.004048e0
mov eax, dword [esp + 8]
mov dword [esp + 0xe8], eax
lea ecx, [0x6874a0]
mov dword [esp], ecx
mov dword [esp + 4], 0
call fcn.004048e0
mov eax, dword [esp + 8]
mov dword [esp + 0xec], eax
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea ecx, [0x636e10]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
lea ecx, [esp + 0x1a4]
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x108], ecx
lea edx, [esp + 0xfc]
mov dword [esp + 0x90], edx
lea edx, [esp + 0x84]
mov dword [esp], edx
call fcn.00435e00
test eax, eax
jne 0x635bd6
lea eax, [0x6a8600]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
lea ecx, [0x636ce0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x184]
mov dword [eax + 4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x6359a5
mov ecx, dword [esp + 0x188]
mov dword [eax + 8], ecx
jmp 0x6359bf
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x188]
call fcn.00463080
mov eax, ecx
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x18c]
mov dword [eax + 0xc], edx
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x6359f3
mov edx, dword [esp + 0x190]
mov dword [eax + 0x10], edx
mov ebx, dword [esp + 0xe8]
mov dword [eax + 0x14], ebx
mov ebx, dword [esp + 0xec]
mov dword [eax + 0x18], ebx
jmp 0x635a24
lea edi, [eax + 0x10]
mov edx, eax
mov eax, dword [esp + 0x190]
call fcn.00463080
lea edi, [edx + 0x14]
mov eax, dword [esp + 0xe8]
call fcn.00463080
lea edi, [edx + 0x18]
mov eax, dword [esp + 0xec]
call fcn.00463080
mov eax, edx
mov dword [esp], eax
call fcn.004424f0
lea eax, [0x68e6c0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x4c]
lea edx, [ecx + 6]
mov dword [esp + 0x54], edx
mov dword [esp + 8], edx
call fcn.0044b730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
cmp ecx, 1
jb 0x635a65
mov edx, 1
jmp 0x635aa2
lea ecx, [0x68e6c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 1
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
inc ecx
mov ebx, edx
mov edx, ecx
mov ecx, ebx
mov dword [esp + 0x50], edx
mov byte [eax], 5
mov ebx, dword [esp + 0x180]
mov ebp, dword [ebx + 0x1c]
mov esi, dword [ebx + 0x18]
test ebp, ebp
je 0x635b8d
mov edi, dword [ebx + 0x24]
test edi, edi
je 0x635b8d
cmp ebp, 0xff
jg 0x635b36
mov dword [esp + 0x6c], ebp
mov dword [esp + 0xf4], esi
lea edi, [edx + 1]
cmp ecx, edi
jae 0x635b28
lea ebx, [0x68e6c0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea edi, [ecx + 1]
mov ebx, dword [esp + 0x180]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0xf4]
mov ecx, edx
mov edx, dword [esp + 0x50]
xchg ebp, ebx
mov byte [eax + edx], bl
xchg ebp, ebx
xor edx, edx
jmp 0x636c73
lea eax, [0x697fe0]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1f
lea ecx, [0x6d0659]
mov dword [eax], ecx
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea ecx, [0x7395a8]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
call fcn.004363f0
add esp, 0x17c
ret
lea ebp, [edx + 2]
cmp ecx, ebp
jae 0x635bce
lea ebx, [0x68e6c0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea ebp, [ecx + 2]
mov ebx, dword [esp + 0x180]
mov ecx, edx
mov edx, dword [esp + 0x50]
mov word [eax + edx], 1
jmp 0x635c1e
call fcn.004363f0
add esp, 0x17c
ret
call fcn.004363f0
add esp, 0x17c
ret
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], ebp
mov dword [esp + 0x1a8], esi
call fcn.004363f0
add esp, 0x17c
ret
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0xf0], eax
mov edx, dword [esp + 0x18c]
mov ebx, dword [edx + 0x2c]
mov esi, dword [esp + 0x190]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
test edx, edx
jne 0x636122
mov edx, dword [esp + 0x54]
cmp edx, 2
jb 0x636c4e
lea eax, [0x6960c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x18c]
mov dword [esp + 4], ecx
call fcn.004092e0
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 2
call fcn.0046bb10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
test edx, edx
jne 0x636116
mov edx, dword [esp + 0x50]
test edx, edx
jbe 0x636c45
mov ebx, dword [esp + 0xf0]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
jne 0x636055
cmp edx, 1
jbe 0x636c39
movzx eax, byte [ebx + 1]
cmp eax, 0xff
je 0x635ffe
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0x24]
test edx, edx
je 0x635dc1
mov dword [esp + 0x68], eax
lea eax, [0x699580]
mov dword [esp], eax
mov eax, dword [esp + 0x18c]
mov dword [esp + 4], eax
call fcn.004092e0
mov eax, dword [esp + 0x180]
mov edx, dword [eax + 0x24]
mov ecx, dword [edx]
mov ebx, dword [esp + 0x184]
mov dword [esp], ebx
mov ebx, dword [esp + 0x188]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x190]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x10], ebp
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
test edx, edx
jne 0x635ff2
mov ecx, dword [esp + 0x180]
mov ebx, dword [esp + 0xf0]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x54]
cmp ecx, 3
jb 0x635dd3
mov edx, 3
jmp 0x635e1c
mov dword [esp + 0x64], eax
lea eax, [0x68e6c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 3
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
add ecx, 3
mov ebx, eax
mov eax, dword [esp + 0x64]
mov ebp, edx
mov edx, ecx
mov ecx, ebp
mov dword [esp + 0xf0], ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
mov byte [ebx], 5
mov byte [ebx + 1], al
mov byte [ebx + 2], 0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
mov ebp, dword [esp + 0x4c]
mov dword [esp + 4], ebp
call fcn.00584550
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x635e76
cmp ecx, 4
je 0x635e6d
cmp ecx, 0x10
jne 0x636bef
xor edx, edx
jmp 0x636bfd
mov edx, eax
mov ebx, ecx
jmp 0x6368fd
mov eax, dword [esp + 0x4c]
cmp eax, 0xff
jg 0x635f9b
mov ecx, dword [esp + 0x50]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x54]
cmp ebx, edx
jb 0x635e9d
mov ebp, dword [esp + 0xf0]
jmp 0x635edd
lea eax, [0x68e6c0]
mov dword [esp], eax
mov ebp, dword [esp + 0xf0]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0044b870
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + 1]
mov eax, dword [esp + 0x4c]
mov ebp, ebx
mov ebx, ecx
mov ecx, dword [esp + 0x50]
mov byte [ebp + ecx], 3
lea ecx, [edx + 1]
cmp ebx, ecx
jae 0x635f22
mov dword [esp + 0x50], edx
lea eax, [0x68e6c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.0044b870
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
mov byte [ebp + edx], al
lea edx, [eax + ecx]
mov dword [esp + 0x50], edx
cmp ebx, edx
jae 0x635f63
mov dword [esp + 0x6c], ecx
lea eax, [0x68e6c0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.0044b870
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x54], ebx
mov dword [esp + 0xf0], ebp
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00463a10
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0xf0]
jmp 0x63612e
lea eax, [0x697fe0]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0xd
lea ecx, [0x6c7fcc]
mov dword [eax], ecx
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea ecx, [0x7395a8]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
call fcn.004363f0
add esp, 0x17c
ret
call fcn.004363f0
add esp, 0x17c
ret
lea eax, [0x697fe0]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x24
lea ecx, [0x6d2869]
mov dword [eax], ecx
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea ecx, [0x7395a8]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
call fcn.004363f0
add esp, 0x17c
ret
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.0047f090
mov dword [esp], 0
lea eax, [0x6cf076]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
call fcn.0044ef90
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
lea edx, [0x697fe0]
mov dword [esp], edx
call fcn.0040b800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x40]
mov dword [edi + 4], eax
mov eax, dword [0x8e84e0]
test eax, eax
jne 0x6360d4
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
jmp 0x6360e0
mov eax, dword [esp + 0xe0]
call fcn.00463080
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea eax, [0x7395a8]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], edi
call fcn.004363f0
add esp, 0x17c
ret
call fcn.004363f0
add esp, 0x17c
ret
call fcn.004363f0
add esp, 0x17c
ret
lea ebx, [eax + 2]
cmp ecx, ebx
jae 0x63616a
mov dword [esp + 0x50], eax
lea ebp, [0x68e6c0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.0044b870
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea ebx, [eax + 2]
mov eax, dword [esp + 0x50]
mov dword [esp + 0xf0], edx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ecx
mov ebp, dword [esp + 0x44]
mov esi, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [edx + eax], bl
xchg ebp, ebx
xchg esi, ebx
mov byte [edx + eax + 1], bl
xchg esi, ebx
mov eax, dword [esp + 0x18c]
mov eax, dword [eax + 0x2c]
mov ebp, dword [esp + 0x190]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
test edx, edx
jne 0x6368a5
mov edx, dword [esp + 0x54]
cmp edx, 4
jb 0x6368f3
lea eax, [0x6960c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x18c]
mov dword [esp + 4], ecx
call fcn.004092e0
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 4
call fcn.0046bb10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
test edx, edx
jne 0x636899
mov edx, dword [esp + 0x50]
test edx, edx
jbe 0x6368ea
mov ebx, dword [esp + 0xf0]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
jne 0x6367d8
cmp edx, 1
jbe 0x6368de
movzx ebp, byte [ebx + 1]
test ebp, ebp
jne 0x63671f
cmp edx, 2
jbe 0x6368d2
movzx eax, byte [ebx + 2]
test al, al
jne 0x6366c8
lea eax, [0x6a6380]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x50]
cmp ecx, 3
jbe 0x6368c6
mov dword [esp + 0xf8], eax
mov ecx, dword [esp + 0xf0]
movzx edx, byte [ecx + 3]
cmp dl, 1
je 0x6364ab
cmp dl, 3
je 0x6363ff
cmp dl, 4
jne 0x636342
lea eax, [0x68e6c0]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0x10
call fcn.0044b730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf8]
mov dword [ecx + 0xc], 0x10
mov dword [ecx + 0x10], 0x10
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x636330
mov dword [ecx + 8], eax
jmp 0x636338
lea edi, [ecx + 8]
call fcn.00463080
mov ebx, 0x12
jmp 0x6364fe
movzx eax, dl
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.0047f090
mov dword [esp], 0
lea eax, [0x6cb90b]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x15
call fcn.0044ef90
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
lea edx, [0x697fe0]
mov dword [esp], edx
call fcn.0040b800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov eax, dword [0x8e84e0]
test eax, eax
jne 0x6363bd
mov eax, dword [esp + 0xd4]
mov dword [edi], eax
jmp 0x6363c9
mov eax, dword [esp + 0xd4]
call fcn.00463080
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea eax, [0x7395a8]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], edi
call fcn.004363f0
add esp, 0x17c
ret
lea eax, [0x6960c0]
mov dword [esp], eax
mov ecx, dword [esp + 0x18c]
mov dword [esp + 4], ecx
call fcn.004092e0
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 1
call fcn.0046bb10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x63647b
mov eax, dword [esp + 0xf0]
movzx ebx, byte [eax]
add ebx, 2
mov ecx, dword [esp + 0xf8]
jmp 0x6364fe
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], edx
call fcn.004363f0
add esp, 0x17c
ret
lea eax, [0x68e6c0]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.0044b730
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf8]
mov dword [ecx + 0xc], 4
mov dword [ecx + 0x10], 4
mov edx, dword [0x8e84e0]
test edx, edx
jne 0x6364f1
mov dword [ecx + 8], eax
jmp 0x6364f9
lea edi, [ecx + 8]
call fcn.00463080
mov ebx, 6
mov dword [esp + 0x48], ebx
mov edx, dword [esp + 0x54]
cmp ebx, edx
jg 0x636519
ja 0x6368bf
mov eax, dword [esp + 0xf0]
jmp 0x636539
lea eax, [0x68e6c0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0044b730
mov edx, dword [esp + 0xc]
mov eax, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x54], edx
mov dword [esp + 0xf0], eax
lea ecx, [0x6960c0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x18c]
mov dword [esp + 4], ecx
call fcn.004092e0
mov eax, dword [esp + 8]
mov dword [esp], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.0046bb10
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], ecx
test edx, edx
jne 0x6366bc
mov ebx, dword [esp + 0xf8]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
test ebp, ebp
je 0x636609
mov ecx, dword [esp + 0x48]
cmp ecx, esi
jge 0x6365d2
mov eax, ecx
jmp 0x6365d6
mov eax, ecx
mov ecx, esi
mov edx, dword [esp + 0xf0]
cmp edx, ebp
je 0x636669
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00463a10
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xf8]
jmp 0x636669
mov eax, dword [esp + 0x48]
lea ecx, [eax - 2]
mov edx, dword [esp + 0x54]
cmp edx, ecx
jb 0x6368ba
mov dword [esp], 0
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044f240
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0xf8]
mov dword [edi + 4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x636657
mov dword [edi], eax
jmp 0x63665c
call fcn.00463080
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0xf0]
mov ebx, edi
lea ebp, [eax - 2]
cmp eax, ebp
jbe 0x6368b1
movzx ecx, byte [eax + edx - 2]
shl ecx, 8
movzx eax, byte [eax + edx - 1]
or ecx, eax
mov dword [ebx + 0x14], ecx
lea eax, [0x73a3f0]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], ebx
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
call fcn.004363f0
add esp, 0x17c
ret
call fcn.004363f0
add esp, 0x17c
ret
lea eax, [0x697fe0]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x17
lea ecx, [0x6cc90b]
mov dword [eax], ecx
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea ecx, [0x7395a8]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
call fcn.004363f0
add esp, 0x17c
ret
mov dword [esp], ebp
call fcn.006370a0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x6c8886]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xe
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044ef90
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x38], ecx
lea edx, [0x697fe0]
mov dword [esp], edx
call fcn.0040b800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0x8e84e0]
test eax, eax
jne 0x636796
mov eax, dword [esp + 0xd8]
mov dword [edi], eax
jmp 0x6367a2
mov eax, dword [esp + 0xd8]
call fcn.00463080
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea eax, [0x7395a8]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], edi
call fcn.004363f0
add esp, 0x17c
ret
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
mov ecx, eax
sar eax, 0x1f
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], 0xa
call fcn.0047f090
mov dword [esp], 0
lea eax, [0x6cf076]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
call fcn.0044ef90
mov eax, dword [esp + 0x14]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x3c], ecx
lea edx, [0x697fe0]
mov dword [esp], edx
call fcn.0040b800
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [0x8e84e0]
test eax, eax
jne 0x636857
mov eax, dword [esp + 0xdc]
mov dword [edi], eax
jmp 0x636863
mov eax, dword [esp + 0xdc]
call fcn.00463080
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea eax, [0x7395a8]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], edi
call fcn.004363f0
add esp, 0x17c
ret
call fcn.004363f0
add esp, 0x17c
ret
call fcn.004363f0
add esp, 0x17c
ret
mov ecx, eax
mov eax, ebp
call fcn.00463100
call fcn.00463140
mov ecx, ebx
call fcn.00463140
mov eax, 3
mov ecx, eax
call fcn.00463100
mov eax, 2
mov ecx, eax
call fcn.00463100
mov eax, 1
mov ecx, eax
call fcn.00463100
xor eax, eax
mov ecx, eax
call fcn.00463100
mov ecx, 4
call fcn.00463140
test eax, eax
je 0x6369e9
mov dword [esp + 0x30], ecx
mov dword [esp + 0xd0], eax
mov edx, dword [esp + 0x50]
lea ebx, [edx + 1]
mov ebp, dword [esp + 0x54]
cmp ebp, ebx
jb 0x636928
mov esi, dword [esp + 0xf0]
jmp 0x63696f
lea eax, [0x68e6c0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0044b870
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0x50]
mov ebp, ecx
mov esi, ebx
mov ecx, dword [esp + 0x30]
mov ebx, eax
mov eax, dword [esp + 0xd0]
mov byte [esi + edx], 1
lea edx, [ecx + ebx]
mov dword [esp + 0x50], edx
cmp ebp, edx
jae 0x6369b7
mov dword [esp + 0x6c], ebx
lea eax, [0x68e6c0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.0044b870
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x54], ebp
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00463a10
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xf0]
jmp 0x636b8d
cmp ebx, 4
jne 0x636a9d
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
movzx ebx, byte [edx + 2]
movzx edx, byte [edx + 3]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0
mov ebp, dword [0x8bb6c0]
mov esi, dword [0x8bb6c4]
cmp esi, 0x10
jl 0x636a3a
mov esi, 0x10
lea edi, [esp + 0x74]
cmp ebp, edi
je 0x636a76
mov byte [esp + 0x2b], al
mov byte [esp + 0x2a], cl
mov byte [esp + 0x29], bl
mov byte [esp + 0x28], dl
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00463a10
movzx eax, byte [esp + 0x2b]
movzx ecx, byte [esp + 0x2a]
movzx edx, byte [esp + 0x28]
movzx ebx, byte [esp + 0x29]
mov byte [esp + 0x80], al
mov byte [esp + 0x81], cl
mov byte [esp + 0x82], bl
mov byte [esp + 0x83], dl
lea edx, [esp + 0x74]
mov ebx, 0x10
jmp 0x636aa6
cmp ebx, 0x10
je 0x636aa6
xor edx, edx
xor ebx, ebx
test edx, edx
je 0x636b98
mov dword [esp + 0x2c], ebx
mov dword [esp + 0xcc], edx
mov eax, dword [esp + 0x50]
lea ecx, [eax + 1]
mov ebp, dword [esp + 0x54]
cmp ebp, ecx
jb 0x636ad1
mov esi, dword [esp + 0xf0]
jmp 0x636b18
lea edx, [0x68e6c0]
mov dword [esp], edx
mov ebx, dword [esp + 0xf0]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.0044b870
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc eax
mov edx, dword [esp + 0xcc]
mov ebp, ecx
mov esi, ebx
mov ebx, dword [esp + 0x2c]
mov ecx, eax
mov eax, dword [esp + 0x50]
mov byte [esi + eax], 4
lea eax, [ebx + ecx]
mov dword [esp + 0x50], eax
cmp ebp, eax
jae 0x636b60
mov dword [esp + 0x6c], ecx
lea edx, [0x68e6c0]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], eax
call fcn.0044b870
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x54], ebp
mov dword [esp + 0xf0], esi
lea eax, [esi + ecx]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00463a10
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xf0]
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x63612e
lea eax, [0x697fe0]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x14
lea ecx, [0x6cb1b0]
mov dword [eax], ecx
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], 0
lea ecx, [0x7395a8]
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
call fcn.004363f0
add esp, 0x17c
ret
mov edx, eax
mov ebx, ecx
xor eax, eax
xor ecx, ecx
jmp 0x6368fd
inc edx
cmp edx, 0xa
jge 0x636c0e
jae 0x636c2d
movzx ebx, byte [eax + edx]
test bl, bl
je 0x636bfc
jmp 0x636bef
cmp byte [eax + 0xa], 0xff
jne 0x636bef
cmp byte [eax + 0xb], 0xff
jne 0x636bef
lea ebp, [eax + 0xc]
mov edx, eax
mov ebx, ecx
mov eax, ebp
mov ecx, 4
jmp 0x6368fd
mov eax, edx
mov ecx, 0xa
call fcn.00463100
mov eax, 1
mov ecx, eax
call fcn.00463100
xor eax, eax
mov ecx, eax
call fcn.00463100
mov ecx, 2
call fcn.00463140
mov byte [eax + edi], bl
inc edx
mov ebx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x180]
mov edi, esi
mov esi, dword [esp + 0xf4]
cmp edx, ebp
jge 0x636cce
mov ebx, dword [esi + edx*4]
lea esi, [edi + 1]
cmp ecx, esi
jae 0x636c58
mov dword [esp + 0x60], edx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], edi
lea edx, [0x68e6c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.0044b870
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
lea esi, [ecx + 1]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x5c]
mov ecx, edx
mov edx, dword [esp + 0x60]
jmp 0x636c58
mov ebp, edi
jmp 0x635c1e
call fcn.00461c70
jmp fcn.00635630