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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x48a1c4
sub esp, 0xe8
mov ecx, dword [esp + 0x100]
test ecx, ecx
jle 0x48a0d0
mov edx, dword [esp + 0xf8]
test edx, edx
je 0x487f36
test edx, 0x60
je 0x48a053
mov edi, dword [esp + 0xec]
mov dword [edi + 0xc], 0
mov ebx, dword [0x582c60]
test ebx, ebx
jne 0x48a03c
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0x582c60]
test ebx, ebx
jne 0x48a006
mov ebx, dword [esp + 0xf0]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf4]
mov dword [edi + 0x18], ebp
mov esi, edx
and edx, 0x1f
mov dword [esp + 0x80], edx
cmp edx, 0x10
jbe 0x489bd8
cmp edx, 0x15
ja 0x4893ff
cmp edx, 0x13
ja 0x4889e0
cmp edx, 0x11
jne 0x48899b
mov eax, dword [esp + 0xfc]
cmp eax, 0x71
jg 0x488984
cmp eax, 0x58
jne 0x488976
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00462c40
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 0x28]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 8
jne 0x4882d7
mov eax, dword [esp + 0x80]
cmp eax, 0x17
je 0x4882a1
mov eax, dword [esp + 0xf8]
test eax, 0x100
jne 0x488221
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00461e50
mov eax, dword [esp + 0xc]
lea ecx, [0x4b50a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00434580
mov eax, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x9c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x70], edx
xor ebx, ebx
jmp 0x48809e
mov ebp, dword [esp + 0x9c]
mov byte [ebp + ecx], al
lea ebx, [ecx + 1]
mov eax, edx
mov ecx, ebp
mov edx, dword [esp + 0x70]
cmp ebx, eax
jge 0x4881b0
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00461a70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
and ecx, 0x1f
mov dword [esp + 0x80], ecx
cmp ecx, 9
ja 0x48816e
cmp ecx, 7
jne 0x488106
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x488088
jmp 0x48a169
cmp ecx, 8
jne 0x48811a
movzx eax, byte [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4880ff
cmp ecx, 9
jne 0x48812e
movzx eax, word [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4880ff
lea eax, [0x4ba3e0]
mov dword [esp], eax
call fcn.00409640
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x582c60]
test eax, eax
jne 0x48815e
lea eax, [0x4ce358]
mov dword [edi], eax
jmp 0x48a0dc
lea eax, [0x4ce358]
call fcn.00447660
jmp 0x48a0dc
cmp ecx, 0xa
jne 0x488184
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4880ff
cmp ecx, 0xb
jne 0x48819a
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4880ff
cmp ecx, 0xc
jne 0x48812e
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4880ff
mov dword [esp + 0x70], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x9c], ecx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x84]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.00486140
add esp, 0xe8
ret
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00461e50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.004628f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00461100
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jmp 0x4881b0
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.00461100
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
jmp 0x4881b0
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4884fb
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4884a9
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5b
xor ecx, ecx
jmp 0x48837b
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00461a70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.00487ef0
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
call fcn.00461e50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x488434
test ecx, ecx
jle 0x48830b
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 4]
lea ebx, [edx + 1]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
jg 0x4883e1
lea ebx, [edx + 1]
mov dword [eax + 4], ebx
mov byte [esi + edx], 0x20
jmp 0x48830b
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x48842d
mov dword [edi], eax
mov edx, ecx
mov esi, eax
mov eax, edi
mov ecx, dword [esp + 0x58]
jmp 0x4883d2
call fcn.00447660
jmp 0x488421
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x48845c
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x5d
add esp, 0xe8
ret
lea eax, [0x4b50a0]
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.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x4884a2
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x48844a
call fcn.00447660
jmp 0x48849c
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x4884f4
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4882fd
call fcn.00447660
jmp 0x4884e9
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.00462c40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x48892a
cmp ebp, esi
ja 0x48a162
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00447e60
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x582c60]
test edx, edx
jne 0x48890e
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
cmp ebx, 0x17
jne 0x488902
add ebx, 0xffffffeb
cmp ebx, 1
ja 0x4888e0
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x488819
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x50]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x4887c2
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x488679
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00461a70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.00487ef0
mov eax, dword [esp + 0x5c]
inc eax
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00461e50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jge 0x48874f
test ecx, ecx
jle 0x488748
mov edi, dword [esp + 0xec]
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x488705
cmp ebx, ebp
ja 0x48a154
mov eax, ecx
movzx ecx, word [0x4cbc46]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0x582c60]
test ecx, ecx
jne 0x4886f5
mov dword [edi], esi
jmp 0x488604
mov ecx, eax
mov eax, esi
call fcn.00447660
mov eax, ecx
jmp 0x488604
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], edx
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00434700
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4886c9
mov eax, ecx
jmp 0x488604
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x488775
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x488455
lea eax, [0x4b50a0]
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.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x4887bb
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x488765
call fcn.00447660
jmp 0x4887b5
lea ebx, [0x4b50a0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x488812
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4885f6
call fcn.00447660
jmp 0x488802
test ebx, 0x80
je 0x4888d2
mov ebp, dword [esp + 0xf4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x4885e2
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x488897
cmp ebx, ecx
ja 0x48a15b
mov ebp, dword [0x4cbf6d]
movzx esi, byte [0x4cbf71]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x582c60]
test ecx, ecx
jne 0x48888e
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.00447660
jmp 0x488887
mov dword [esp + 0x7c], ebx
lea ebp, [0x4b50a0]
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.00434700
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x488855
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x48882f
mov ebp, dword [esp + 0xf4]
mov ebx, dword [ebp]
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
mov ebx, dword [esp + 0xf8]
jmp 0x48883b
mov ebx, dword [esp + 0xf8]
jmp 0x4885e2
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.00447660
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4885b3
mov dword [esp + 0x88], ecx
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00434700
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x488561
cmp eax, 0x71
je 0x487fc7
jmp 0x4882d7
cmp eax, 0x73
je 0x487fc7
cmp eax, 0x78
je 0x487fc7
jmp 0x4882d7
lea eax, [edx - 0x12]
cmp eax, 1
ja 0x4889c7
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.00486930
jmp 0x488455
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.00485070
jmp 0x488455
cmp edx, 0x14
je 0x489150
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x488ea9
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi]
mov ebp, dword [edi + 8]
cmp ecx, ebp
ja 0x488e59
cmp ecx, ebp
ja 0x48a1a1
mov ebx, dword [0x4cbee8]
mov dword [esi + edx], ebx
mov dword [edi + 4], ecx
mov dword [edi + 8], ebp
mov ecx, dword [0x582c60]
test ecx, ecx
jne 0x488e49
mov dword [edi], esi
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.004621c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
jle 0x488c29
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
xor esi, esi
jmp 0x488ab5
mov edx, dword [esp + 0xac]
add edx, 0xc
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
mov ebx, ebp
mov ebp, esi
mov ecx, edx
mov esi, eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xec]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x64], esi
mov edi, ebx
mov ebx, dword [ecx + 8]
mov dword [esp + 0x80], ebx
mov ebp, dword [ecx + 4]
mov dword [esp + 0xa8], ebp
mov ecx, dword [ecx]
mov dword [esp + 0xa4], ecx
test esi, esi
jle 0x488b35
movzx esi, byte [edx + 0x2c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x488dc5
mov esi, dword [edx + 4]
lea ebx, [esi + 2]
mov ebp, dword [edx + 8]
mov ecx, dword [edx]
cmp ebx, ebp
ja 0x488d78
cmp ebx, ebp
ja 0x48a19a
mov dword [esp + 0x7c], ebp
movzx ebp, word [0x4cbc46]
mov word [ecx + esi], bp
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [edx + 8], ebx
mov ebx, dword [0x582c60]
test ebx, ebx
jne 0x488d62
mov dword [edx], ecx
mov dword [esp], edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0x10], ebp
lea esi, [edi + 1]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x14], esi
call fcn.00487ef0
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x488d10
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x3a
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x14], ebp
call fcn.00461ff0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
call fcn.00487ef0
mov eax, dword [esp + 0x64]
inc eax
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jl 0x488a83
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x488ca3
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
lea ebp, [ecx + 1]
cmp ebp, edx
jg 0x488c56
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x488455
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x488c9c
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x488c47
call fcn.00447660
jmp 0x488c96
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x488cc1
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5d
jmp 0x488455
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x488d09
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x488cb2
call fcn.00447660
jmp 0x488d01
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x488d5b
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x488b8e
call fcn.00447660
jmp 0x488d50
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.00447660
mov eax, ebp
mov edi, ebx
jmp 0x488b35
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], esi
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00434700
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x100]
jmp 0x488b04
mov esi, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [edx + 8]
lea ebx, [esi + 1]
cmp ebx, edi
jg 0x488dee
lea ebx, [esi + 1]
mov dword [edx + 4], ebx
mov byte [eax + esi], 0x20
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x100]
jmp 0x488b35
lea ecx, [0x4b50a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x488e42
mov dword [edi], eax
mov edx, edi
mov ebp, dword [esp + 0xa8]
mov esi, ecx
mov ecx, dword [esp + 0xa4]
jmp 0x488dd4
call fcn.00447660
jmp 0x488e2e
mov ecx, eax
mov eax, esi
call fcn.00447660
mov eax, ecx
jmp 0x488a31
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00434700
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0xec]
jmp 0x488a0a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00462c40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [ecx + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x489104
cmp ebp, esi
ja 0x48a1af
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00447e60
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x582c60]
test edx, edx
jne 0x4890e8
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
lea ebp, [ebx - 0x15]
cmp ebp, 1
ja 0x4890a8
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x488fe1
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x488f8d
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
jmp 0x488a31
lea ebx, [0x4b50a0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x488fda
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x488f7e
call fcn.00447660
jmp 0x488fcd
test ebx, 0x80
je 0x48909a
mov ebp, dword [esp + 0xf4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x488f6e
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x48905f
cmp ebx, ecx
ja 0x48a1a8
mov ebp, dword [0x4cbf6d]
movzx esi, byte [0x4cbf71]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x582c60]
test ecx, ecx
jne 0x489056
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.00447660
jmp 0x48904f
mov dword [esp + 0x7c], ebx
lea ebp, [0x4b50a0]
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.00434700
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x48901d
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x488ff7
lea eax, [0x4ba3e0]
mov dword [esp], eax
call fcn.00409640
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0x582c60]
test eax, eax
jne 0x4890d8
lea eax, [0x4ce86e]
mov dword [edi], eax
jmp 0x48a0fa
lea eax, [0x4ce86e]
call fcn.00447660
jmp 0x48a0fa
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.00447660
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x488f4c
mov dword [esp + 0x90], eax
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00434700
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x488efa
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004617e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
test ecx, ecx
jne 0x4893c8
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x48921a
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x4891d8
cmp edx, ebx
ja 0x48a170
mov esi, dword [0x4cbfb8]
mov eax, ebx
movzx ebx, byte [0x4cbfbc]
mov dword [ebp + ecx], esi
mov byte [ebp + ecx + 4], bl
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0x582c60]
test ecx, ecx
jne 0x4891cc
mov dword [edi], ebp
jmp 0x488455
mov eax, ebp
call fcn.00447660
jmp 0x488455
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x4b50a0]
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.00434700
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x489196
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.00462c40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x48937c
cmp ebp, esi
ja 0x48a17e
mov dword [esp + 0xb0], edi
mov dword [esp + 0x74], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00447e60
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x582c60]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x489360
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
ja 0x489325
cmp ebx, ecx
ja 0x48a177
mov ebp, dword [0x4cbf6d]
movzx esi, byte [0x4cbf71]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x582c60]
test ecx, ecx
jne 0x489319
mov dword [edi], edx
jmp 0x488455
mov eax, edx
call fcn.00447660
jmp 0x488455
mov dword [esp + 0x7c], ebx
lea ebp, [0x4b50a0]
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.00434700
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4892e2
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.00447660
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4892de
mov dword [esp + 0x8c], ecx
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.00434700
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x489280
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.00487ef0
jmp 0x488455
cmp edx, 0x17
ja 0x4895a6
cmp edx, 0x16
jne 0x487fae
test ecx, ecx
jne 0x4889a3
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00462570
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x489452
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4889a3
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.004617e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov ebx, ecx
and ecx, 0x1f
cmp ecx, 0x15
ja 0x489592
cmp ecx, 0x11
jne 0x489568
mov dword [esp + 0x80], ebx
mov ecx, dword [esp + 0xec]
mov ebp, dword [ecx + 4]
mov esi, dword [ecx]
mov edi, dword [ecx + 8]
lea ebx, [ebp + 1]
cmp ebx, edi
jg 0x4894fa
lea ebx, [ebp + 1]
mov dword [ecx + 4], ebx
mov byte [esi + ebp], 0x26
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.00487ef0
add esp, 0xe8
ret
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], edx
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x489561
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0xa8]
mov ecx, edi
jmp 0x4894b7
call fcn.00447660
jmp 0x489548
cmp ecx, 0x15
je 0x48949a
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4889a3
cmp ecx, 0x17
je 0x48949a
cmp ecx, 0x19
je 0x48949a
jmp 0x489571
cmp edx, 0x18
je 0x489b99
cmp edx, 0x19
jne 0x489b8b
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x489a75
mov eax, dword [edi + 4]
mov edx, dword [edi + 8]
mov ecx, dword [edi]
lea esi, [eax + 1]
cmp esi, edx
jg 0x489a15
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ecx + eax], 0x7b
lea eax, [esp + 8]
mov dword [esp + 0xa0], eax
xor ecx, ecx
jmp 0x489675
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
call fcn.00484ee0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.00487ef0
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x60], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.00462530
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jge 0x4899a2
test ecx, ecx
jle 0x489994
mov edi, dword [esp + 0xec]
movzx edx, byte [edi + 0x2c]
test dl, dl
je 0x489923
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4898dd
cmp ebx, ebp
ja 0x48a18c
mov eax, ecx
movzx ecx, word [0x4cbc46]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0x582c60]
test ecx, ecx
jne 0x4898cd
mov dword [edi], esi
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x4898bc
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.00462c40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp], ecx
call eax
lea edi, [esp + 0xb4]
mov esi, dword [esp + 0xa0]
call fcn.00447bee
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
test eax, eax
je 0x4898b0
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x489864
cmp ebp, edi
ja 0x48a185
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00447e60
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0x582c60]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x48984b
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
jg 0x4897fe
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x4895f3
lea ebp, [0x4b50a0]
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.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x489844
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x4897ef
call fcn.00447660
jmp 0x48983e
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.00447660
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4897eb
mov dword [esp + 0x94], ecx
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00434700
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x489791
mov edi, dword [esp + 0xec]
jmp 0x4895f3
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x489705
jmp 0x4895f3
mov ecx, eax
mov eax, esi
call fcn.00447660
mov eax, ecx
jmp 0x4896f9
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00434700
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4896ce
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
jg 0x489943
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ebx + eax], 0x20
mov eax, ecx
jmp 0x4896f9
lea ecx, [0x4b50a0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x48998d
mov dword [edi], eax
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x60]
jmp 0x489932
call fcn.00447660
jmp 0x489983
mov eax, ecx
mov edi, dword [esp + 0xec]
jmp 0x4896f9
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4899c8
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x488455
lea eax, [0x4b50a0]
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.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x489a0e
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4899b8
call fcn.00447660
jmp 0x489a08
lea ebx, [0x4b50a0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00434700
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x582c60]
test edx, edx
jne 0x489a6e
mov dword [edi], eax
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x4895d7
call fcn.00447660
jmp 0x489a55
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00462c40
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x7c], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x489b37
cmp ebp, edi
ja 0x48a193
mov dword [esp + 0xb0], esi
mov dword [esp + 0x78], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00447e60
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0x582c60]
test eax, eax
jne 0x489b29
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
jmp 0x4895c4
mov eax, dword [esp + 0xb0]
call fcn.00447660
jmp 0x489b08
mov dword [esp + 0x78], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x98], ecx
lea eax, [0x4b50a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00434700
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
jmp 0x489aba
cmp edx, 0x1a
je 0x4889a3
jmp 0x4889c7
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00462b50
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
call fcn.00485fd0
jmp 0x488455
cmp edx, 0xc
ja 0x489f29
cmp edx, 1
ja 0x489da8
test esi, 0x1f
jne 0x489d70
test ecx, ecx
jne 0x489cbc
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x7c], ecx
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp ecx, edx
ja 0x489c7e
cmp ecx, edx
ja 0x48a1bd
mov dword [esp + 0x78], edx
mov dword [esp + 0xb0], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x4cf6d9]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.00447e60
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0x582c60]
test eax, eax
jne 0x489c6d
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
jmp 0x488455
mov eax, dword [esp + 0xb0]
call fcn.00447660
jmp 0x488455
mov dword [esp + 0x78], eax
lea ebp, [0x4b50a0]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00434700
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x489c11
mov ecx, dword [esp + 0xfc]
cmp ecx, 0x76
jne 0x489d5f
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x489d1d
cmp edx, ebx
ja 0x48a1b6
mov esi, dword [0x4cbfb8]
mov eax, ebx
movzx ebx, byte [0x4cbfbc]
mov dword [ebp + ecx], esi
mov byte [ebp + ecx + 4], bl
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0x582c60]
test ecx, ecx
jne 0x489d11
mov dword [edi], ebp
jmp 0x488455
mov eax, ebp
call fcn.00447660
jmp 0x488455
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x4b50a0]
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.00434700
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x489cdb
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.00485310
jmp 0x488455
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004610c0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.00485890
jmp 0x488455
lea eax, [edx - 2]
cmp eax, 4
ja 0x489e62
cmp edx, 3
ja 0x489df6
cmp edx, 2
jne 0x489deb
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.00485970
jmp 0x488455
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x489dc6
cmp edx, 4
jne 0x489e06
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x489dc6
cmp edx, 5
jne 0x489e15
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x489dc6
cmp edx, 6
jne 0x489e22
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x489dc6
lea eax, [0x4ba3e0]
mov dword [esp], eax
call fcn.00409640
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x11
mov eax, dword [0x582c60]
test eax, eax
jne 0x489e52
lea eax, [0x4cdf45]
mov dword [edi], eax
jmp 0x48a136
lea eax, [0x4cdf45]
call fcn.00447660
jmp 0x48a136
lea eax, [edx - 7]
cmp eax, 5
ja 0x4889c7
cmp edx, 9
ja 0x489f00
cmp edx, 7
jne 0x489ea6
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.00485970
jmp 0x488455
cmp edx, 8
jne 0x489eb3
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x489e81
cmp edx, 9
jne 0x489ec0
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x489e81
lea eax, [0x4ba3e0]
mov dword [esp], eax
call fcn.00409640
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x582c60]
test eax, eax
jne 0x489ef0
lea eax, [0x4ce358]
mov dword [edi], eax
jmp 0x48a118
lea eax, [0x4ce358]
call fcn.00447660
jmp 0x48a118
cmp edx, 0xa
jne 0x489f0f
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x489e81
cmp edx, 0xb
jne 0x489f1f
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
jmp 0x489e81
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x489e81
cmp edx, 0xe
ja 0x489f8d
cmp edx, 0xd
jne 0x489f62
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.00485c90
jmp 0x488455
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.00485c90
jmp 0x488455
cmp edx, 0xf
jne 0x489fd0
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.00485df0
jmp 0x488455
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.00485df0
jmp 0x488455
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xf0]
call fcn.00447660
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xf4]
call fcn.00447660
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xec]
jmp 0x487f7e
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.00447660
mov edi, ebp
jmp 0x487f59
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00461c40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x582c60]
test ecx, ecx
jne 0x48a0c6
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.00487240
movzx eax, byte [esp + 8]
test al, al
jne 0x48a0bf
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xf8]
jmp 0x487f36
add esp, 0xe8
ret
lea edi, [edx + 0x10]
call fcn.00447660
jmp 0x48a090
mov edx, dword [esp + 0xf8]
jmp 0x487f36
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x4b68e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00424c20
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x4b68e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00424c20
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x4b68e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00424c20
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x4b68e0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00424c20
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423d40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00423e40
ud2
call fcn.00445f00
jmp fcn.00487ef0