Function at 0x497550
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 0x49967b
sub esp, 0xe8
mov ecx, dword [esp + 0x100]
test ecx, ecx
jle 0x4995fe
mov edx, dword [esp + 0xf8]
test edx, edx
je 0x497596
test edx, 0x60
je 0x49957a
mov edi, dword [esp + 0xec]
mov dword [edi + 0xc], 0
mov ebx, dword [0x5a1420]
test ebx, ebx
jne 0x499563
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0x5a1420]
test ebx, ebx
jne 0x49952d
mov ebx, dword [esp + 0xf0]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf4]
mov dword [edi + 0x18], ebp
nop
mov esi, edx
and edx, 0x1f
mov dword [esp + 0x7c], edx
cmp edx, 0x10
jbe 0x499123
cmp edx, 0x15
ja 0x498984
cmp edx, 0x13
ja 0x497ffa
cmp edx, 0x11
jne 0x497fb5
mov eax, dword [esp + 0xfc]
cmp eax, 0x71
jg 0x497f9e
cmp eax, 0x58
jne 0x497f90
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046df30
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], 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
cmp dword [esp + 4], 8
jne 0x497923
mov eax, dword [esp + 0x7c]
cmp eax, 0x17
je 0x4978ed
mov eax, dword [esp + 0xf8]
test eax, 0x100
jne 0x49786d
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.0046cfc0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
lea ecx, [0x4c86a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00436b50
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
xor ecx, ecx
jmp 0x4976e6
mov ebx, dword [esp + 0xb0]
mov byte [ebx + eax], dl
lea edx, [eax + 1]
mov eax, ebx
mov ecx, edx
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jge 0x4977fa
mov dword [esp + 0x5c], 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
mov dword [esp + 0xc], ecx
call fcn.0046cc50
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
nop
and eax, 0x1f
mov dword [esp + 0x7c], eax
cmp eax, 9
ja 0x4977b8
cmp eax, 7
jne 0x497750
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jb 0x4976d5
jmp 0x49966e
cmp eax, 8
jne 0x497764
movzx edx, byte [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jmp 0x497749
cmp eax, 9
jne 0x497778
movzx edx, word [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jmp 0x497749
lea eax, [0x4ce4a0]
mov dword [esp], eax
call fcn.00409d20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x5a1420]
test eax, eax
jne 0x4977a8
lea eax, [0x4e4f15]
mov dword [edi], eax
jmp 0x49960a
lea eax, [0x4e4f15]
call fcn.0044aa90
jmp 0x49960a
cmp eax, 0xa
jne 0x4977ce
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jmp 0x497749
cmp eax, 0xb
jne 0x4977e4
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jmp 0x497749
cmp eax, 0xc
jne 0x497778
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jmp 0x497749
mov ecx, edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x9c], eax
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x80]
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 + 0x68]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
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.00495580
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.0046cfc0
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.0046dbe0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0046c1a0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0xc]
jmp 0x4977fc
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.0046c1a0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x4977fc
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x497b46
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x497af6
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x5b
xor ecx, ecx
jmp 0x4979c9
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.0046cc50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
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.00497550
mov eax, dword [esp + 0x54]
lea ecx, [eax + 1]
mov dword [esp + 0x54], 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.0046cfc0
mov eax, dword [esp + 0x54]
cmp dword [esp + 0xc], eax
jle 0x497a81
test eax, eax
jle 0x497959
nop
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 4]
lea ebx, [edx + 1]
mov ebp, dword [ecx + 8]
mov esi, dword [ecx]
cmp ebx, ebp
ja 0x497a2e
lea ebx, [edx + 1]
mov dword [ecx + 4], ebx
mov byte [esi + edx], 0x20
jmp 0x497959
lea eax, [0x4c86a0]
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.00436c10
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 [0x5a1420]
test edx, edx
jne 0x497a7a
mov dword [edi], eax
mov edx, ecx
mov esi, eax
mov eax, dword [esp + 0x54]
mov ecx, edi
jmp 0x497a1f
call fcn.0044aa90
jmp 0x497a6e
nop
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x497aa9
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
add esp, 0xe8
ret
lea eax, [0x4c86a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00436c10
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 [0x5a1420]
test edx, edx
jne 0x497aef
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x497a98
call fcn.0044aa90
jmp 0x497ae9
lea eax, [0x4c86a0]
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.00436c10
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 [0x5a1420]
test edx, edx
jne 0x497b3f
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x49794a
call fcn.0044aa90
jmp 0x497b36
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.0046df30
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 + 0x44], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x74], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x497f4f
mov dword [esp + 0xac], esi
mov dword [esp + 0x70], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044b390
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x5a1420]
test edx, edx
jne 0x497f33
mov edx, dword [esp + 0xac]
mov dword [edi], edx
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x17
jne 0x497f27
add ebx, 0xffffffeb
cmp ebx, 1
ja 0x497f06
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x497ed6
xor ebp, ebp
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x497e53
nop
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x44]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
ja 0x497dfc
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x497cc6
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.0046cc50
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
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.00497550
mov eax, dword [esp + 0x58]
inc eax
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0x58], 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.0046cfc0
mov eax, dword [esp + 0x58]
cmp dword [esp + 0xc], eax
jle 0x497d89
test eax, eax
jle 0x497c51
nop
mov edi, dword [esp + 0xec]
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x497d46
mov esi, 0x202c
mov word [ebp + ecx], si
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x5a1420]
test ecx, ecx
jne 0x497d36
mov dword [edi], ebp
jmp 0x497c51
mov ecx, eax
mov eax, ebp
call fcn.0044aa90
mov eax, ecx
jmp 0x497c51
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x4c86a0]
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.00436c10
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
jmp 0x497d15
nop
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x497daf
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x497aa2
lea eax, [0x4c86a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00436c10
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 [0x5a1420]
test edx, edx
jne 0x497df5
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x497da0
call fcn.0044aa90
jmp 0x497def
lea ebx, [0x4c86a0]
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.00436c10
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 [0x5a1420]
test edx, edx
jne 0x497e4c
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x497c43
call fcn.0044aa90
jmp 0x497e3c
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x44]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x497e9b
mov ebp, 0x6c696e28
mov dword [edx + eax], ebp
mov ebp, 0x29
xchg ebp, ebx
mov byte [edx + eax + 4], bl
xchg ebp, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x5a1420]
test ecx, ecx
jne 0x497e92
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044aa90
jmp 0x497e8b
mov dword [esp + 0x78], ebx
lea ebp, [0x4c86a0]
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.00436c10
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x497e64
test ebx, 0x80
je 0x497efb
mov ebp, dword [esp + 0xf4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
mov ebp, esi
jmp 0x497c24
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x497ee8
mov esi, dword [esp + 0xf4]
mov esi, dword [esi]
test esi, esi
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
mov ebx, dword [esp + 0xf8]
jmp 0x497c24
mov ebx, dword [esp + 0xf8]
jmp 0x497c2e
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044aa90
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x497bf6
mov dword [esp + 0x88], ecx
lea eax, [0x4c86a0]
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.00436c10
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x78]
jmp 0x497bac
cmp eax, 0x71
je 0x497625
jmp 0x497923
cmp eax, 0x73
je 0x497625
cmp eax, 0x78
je 0x497625
jmp 0x497923
lea eax, [edx - 0x12]
cmp eax, 1
ja 0x497fe1
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.00495c70
jmp 0x497aa2
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004944c0
jmp 0x497aa2
cmp edx, 0x14
je 0x4986ff
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x498477
nop
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi + 8]
mov ebp, dword [edi]
cmp ecx, esi
ja 0x498427
mov ebx, 0x5b70616d
mov dword [ebp + edx], ebx
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0x5a1420]
test ecx, ecx
jne 0x498417
mov dword [edi], ebp
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.00476a20
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jle 0x4981e2
mov dword [esp + 0x84], eax
mov dword [esp + 0x78], ecx
xor ebx, ebx
jmp 0x49809c
mov ebp, dword [esp + 0xa8]
lea edx, [ebp + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x60], ebx
mov ebp, dword [edx + 8]
mov dword [esp + 0x7c], ebp
mov esi, dword [edx + 4]
mov dword [esp + 0xb0], esi
mov edi, edx
mov edx, dword [edx]
mov dword [esp + 0xa4], edx
test ebx, ebx
jle 0x49840b
mov ecx, dword [esp + 0xec]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x498380
nop
mov ebx, dword [ecx + 4]
lea ebp, [ebx + 2]
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
cmp ebp, edx
ja 0x498330
mov dword [esp + 0x74], edx
mov edx, 0x202c
mov word [esi + ebx], dx
mov dword [ecx + 4], ebp
mov edx, dword [esp + 0x74]
mov dword [ecx + 8], edx
mov edx, dword [0x5a1420]
test edx, edx
jne 0x49831a
mov dword [ecx], esi
mov dword [esp], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x100]
lea ebx, [edx + 1]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x14], ebx
call fcn.00497550
nop
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
ja 0x4982ca
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x3a
mov edx, dword [esp + 0x84]
mov ecx, dword [edx + 0x10]
mov ebx, dword [edx + 0xc]
mov ebp, dword [esp + 0x60]
cmp ebp, ecx
jae 0x499673
lea ecx, [ebp + ebp*2]
mov edx, dword [ebx + ecx*4 + 8]
mov esi, dword [ebx + ecx*4 + 4]
mov ecx, dword [ebx + ecx*4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], edx
call fcn.00497550
mov eax, dword [esp + 0x60]
inc eax
mov ecx, dword [esp + 0x78]
cmp eax, ecx
jl 0x498089
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x49825d
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x498210
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x497aa2
lea eax, [0x4c86a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00436c10
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 [0x5a1420]
test edx, edx
jne 0x498256
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x498201
call fcn.0044aa90
jmp 0x498250
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x49827d
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x5d
jmp 0x497aa2
lea eax, [0x4c86a0]
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.00436c10
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 [0x5a1420]
test edx, edx
jne 0x4982c3
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x49826d
call fcn.0044aa90
jmp 0x4982bd
lea eax, [0x4c86a0]
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.00436c10
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 [0x5a1420]
test edx, edx
jne 0x498313
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x498177
call fcn.0044aa90
jmp 0x49830a
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, esi
call fcn.0044aa90
mov eax, ebx
mov edi, edx
jmp 0x498119
mov dword [esp + 0x74], ebp
mov dword [esp + 0x70], ebx
lea eax, [0x4c86a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00436c10
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0xa8]
jmp 0x4980f2
nop
mov ebx, dword [ecx + 4]
lea edi, [ebx + 1]
mov eax, dword [ecx + 8]
mov ebp, dword [ecx]
cmp edi, eax
ja 0x4983ae
lea esi, [ebx + 1]
mov dword [ecx + 4], esi
mov byte [ebp + ebx], 0x20
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0xa8]
jmp 0x498119
lea ecx, [0x4c86a0]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.00436c10
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 [0x5a1420]
test edx, edx
jne 0x498404
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov esi, dword [esp + 0xb0]
mov ebx, ecx
mov ebp, eax
mov ecx, edi
jmp 0x498390
call fcn.0044aa90
jmp 0x4983ee
mov ecx, dword [esp + 0xec]
jmp 0x498119
mov ecx, eax
mov eax, ebp
call fcn.0044aa90
mov eax, ecx
jmp 0x498044
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x4c86a0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.00436c10
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0xec]
jmp 0x498025
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046df30
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 + 0x48], ecx
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [ecx + ebx]
mov dword [esp + 0x74], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4986be
mov dword [esp + 0x70], edi
mov dword [esp + 0xac], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044b390
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x5a1420]
test edx, edx
jne 0x4986a2
mov edx, dword [esp + 0xac]
mov dword [edi], edx
mov ebx, dword [esp + 0x7c]
lea ebp, [ebx - 0x15]
cmp ebp, 1
ja 0x498662
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4985a5
nop
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x48]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
ja 0x498551
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
jmp 0x498044
lea ebx, [0x4c86a0]
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.00436c10
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 [0x5a1420]
test edx, edx
jne 0x49859e
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x498542
call fcn.0044aa90
jmp 0x498591
test ebx, 0x80
je 0x498654
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 0x498531
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x498619
mov ebp, 0x6c696e28
mov dword [edx + eax], ebp
mov ebp, 0x29
xchg ebp, ebx
mov byte [edx + eax + 4], bl
xchg ebp, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x5a1420]
test ecx, ecx
jne 0x498610
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044aa90
jmp 0x498609
mov dword [esp + 0x78], ebx
lea ebp, [0x4c86a0]
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.00436c10
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4985e2
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4985bb
lea eax, [0x4ce4a0]
mov dword [esp], eax
call fcn.00409d20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0x5a1420]
test eax, eax
jne 0x498692
lea eax, [0x4e5464]
mov dword [edi], eax
jmp 0x499623
lea eax, [0x4e5464]
call fcn.0044aa90
jmp 0x499623
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044aa90
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x498512
mov dword [esp + 0x94], eax
lea eax, [0x4c86a0]
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.00436c10
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x78]
jmp 0x4984c8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046c9c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x49894d
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4987bc
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x49877d
mov esi, 0x6c696e3c
mov dword [ebp + ecx], esi
mov esi, 0x3e
xchg esi, eax
mov byte [ebp + ecx + 4], al
xchg esi, eax
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x5a1420]
test ecx, ecx
jne 0x498771
mov dword [edi], ebp
jmp 0x497aa2
mov eax, ebp
call fcn.0044aa90
jmp 0x497aa2
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x4c86a0]
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.00436c10
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
jmp 0x498746
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.0046df30
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 + 0x78], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x74], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x49890c
mov dword [esp + 0xac], edi
mov dword [esp + 0x70], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044b390
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x5a1420]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x4988f0
mov edx, dword [esp + 0xac]
mov dword [edi], edx
nop
cmp ebx, ecx
ja 0x4988b5
mov ebp, 0x6c696e28
mov dword [edx + eax], ebp
mov ebp, 0x29
xchg ebp, ebx
mov byte [edx + eax + 4], bl
xchg ebp, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x5a1420]
test ecx, ecx
jne 0x4988a9
mov dword [edi], edx
jmp 0x497aa2
mov eax, edx
call fcn.0044aa90
jmp 0x497aa2
mov dword [esp + 0x78], ebx
lea ebp, [0x4c86a0]
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.00436c10
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x49887d
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044aa90
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x498878
mov dword [esp + 0x98], ecx
lea eax, [0x4c86a0]
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.00436c10
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x78]
jmp 0x498822
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 eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.00497550
jmp 0x497aa2
cmp edx, 0x17
ja 0x498b26
cmp edx, 0x16
jne 0x49760c
test ecx, ecx
je 0x498ae5
xor eax, eax
test al, al
je 0x497fbd
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046c9c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
nop
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x498ad1
cmp eax, 0x11
jne 0x498aa7
mov dword [esp + 0x7c], ebx
nop
mov eax, dword [esp + 0xec]
mov ebp, dword [eax + 4]
lea esi, [ebp + 1]
mov edi, dword [eax]
mov ebx, dword [eax + 8]
cmp esi, ebx
ja 0x498a37
lea ebx, [ebp + 1]
mov dword [eax + 4], ebx
mov byte [edi + ebp], 0x26
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x7c]
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.00497550
add esp, 0xe8
ret
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xa4], edx
lea eax, [0x4c86a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.00436c10
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 [0x5a1420]
test edx, edx
jne 0x498aa0
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov ebp, ecx
mov ecx, dword [esp + 0xb0]
mov ebx, eax
mov eax, edi
mov edi, ebx
jmp 0x4989f7
call fcn.0044aa90
jmp 0x498a85
cmp eax, 0x15
je 0x4989dc
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x497fbd
cmp eax, 0x17
je 0x4989dc
cmp eax, 0x19
je 0x4989dc
jmp 0x498ab0
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046d710
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4989a0
cmp edx, 0x18
je 0x4990e4
cmp edx, 0x19
jne 0x4990d6
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x498fd3
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ecx, dword [edi + 8]
mov esi, dword [edi]
cmp edx, ecx
ja 0x498f75
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [esi + eax], 0x7b
lea eax, [esp + 8]
mov dword [esp + 0xa0], eax
xor ecx, ecx
jmp 0x498bf5
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 + 0x64]
mov dword [esp + 0xc], ebx
call fcn.00494310
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.00497550
mov eax, dword [esp + 0x64]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x64], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.0046d660
mov eax, dword [esp + 0x64]
cmp dword [esp + 0xc], eax
jle 0x498f01
test eax, eax
jle 0x498ef5
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x498e86
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x498e40
mov esi, 0x202c
mov word [ebp + ecx], si
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x5a1420]
test ecx, ecx
jne 0x498e30
mov dword [edi], ebp
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x498e1f
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.0046df30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
call eax
lea edi, [esp + 0xb4]
mov esi, dword [esp + 0xa0]
call fcn.0044b11e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
test eax, eax
je 0x498e13
mov dword [esp + 0x40], eax
nop
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x74], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x498dd2
mov dword [esp + 0xac], edi
mov dword [esp + 0x70], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044b390
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x5a1420]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x498db9
mov edx, dword [esp + 0xac]
mov dword [edi], edx
nop
cmp ebx, ecx
ja 0x498d6c
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x498b73
lea ebp, [0x4c86a0]
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.00436c10
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 [0x5a1420]
test edx, edx
jne 0x498db2
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x498d5d
call fcn.0044aa90
jmp 0x498dac
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044aa90
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x498d58
mov dword [esp + 0x8c], ecx
lea eax, [0x4c86a0]
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.00436c10
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x78]
jmp 0x498d06
mov edi, dword [esp + 0xec]
jmp 0x498b73
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x498c79
jmp 0x498b73
mov ecx, eax
mov eax, ebp
call fcn.0044aa90
mov eax, ecx
jmp 0x498c6d
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x4c86a0]
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.00436c10
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
jmp 0x498c4d
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 1]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x498ea6
lea edx, [ecx + 1]
mov dword [edi + 4], edx
mov byte [ebp + ecx], 0x20
jmp 0x498c6d
lea eax, [0x4c86a0]
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.00436c10
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 [0x5a1420]
test edx, edx
jne 0x498eee
mov dword [edi], eax
mov ebp, eax
mov eax, dword [esp + 0x64]
jmp 0x498e96
call fcn.0044aa90
jmp 0x498ee6
mov edi, dword [esp + 0xec]
jmp 0x498c6d
nop
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
ja 0x498f28
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x497aa2
lea eax, [0x4c86a0]
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.00436c10
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 [0x5a1420]
test edx, edx
jne 0x498f6e
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x498f18
call fcn.0044aa90
jmp 0x498f68
lea ebx, [0x4c86a0]
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00436c10
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 [0x5a1420]
test edx, edx
jne 0x498fcc
mov dword [edi], eax
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, eax
mov eax, ecx
jmp 0x498b57
call fcn.0044aa90
jmp 0x498fb5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046df30
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, [ebx + eax]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x49908d
mov dword [esp + 0xac], 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.0044b390
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [0x5a1420]
test eax, eax
jne 0x49907f
mov eax, dword [esp + 0xac]
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 0x498b44
mov eax, dword [esp + 0xac]
call fcn.0044aa90
jmp 0x49905e
mov dword [esp + 0x4c], eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x90], ecx
lea eax, [0x4c86a0]
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.00436c10
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x74]
jmp 0x499018
cmp edx, 0x1a
je 0x497fbd
jmp 0x497fe1
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046de40
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
call fcn.004953e0
jmp 0x497aa2
cmp edx, 0xc
ja 0x499450
cmp edx, 1
ja 0x4992cf
test edx, edx
jne 0x499297
test ecx, ecx
jne 0x4991f1
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x78], ecx
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp ecx, edx
ja 0x4991be
mov dword [esp + 0x74], edx
mov dword [esp + 0xac], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x4e63f6]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0044b390
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [0x5a1420]
test eax, eax
jne 0x4991ad
mov eax, dword [esp + 0xac]
mov dword [edi], eax
jmp 0x497aa2
mov eax, dword [esp + 0xac]
call fcn.0044aa90
jmp 0x497aa2
mov dword [esp + 0x74], eax
lea ebp, [0x4c86a0]
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.00436c10
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
jmp 0x499159
mov ecx, dword [esp + 0xfc]
cmp ecx, 0x76
jne 0x499286
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
ja 0x499247
mov esi, 0x6c696e3c
mov dword [ebx + ecx], esi
mov esi, 0x3e
xchg esi, eax
mov byte [ebx + ecx + 4], al
xchg esi, eax
mov dword [edi + 4], edx
mov dword [edi + 8], ebp
mov ecx, dword [0x5a1420]
test ecx, ecx
jne 0x49923b
mov dword [edi], ebx
jmp 0x497aa2
mov eax, ebx
call fcn.0044aa90
jmp 0x497aa2
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x4c86a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00436c10
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x499211
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.00494730
jmp 0x497aa2
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046c0f0
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.00494c60
jmp 0x497aa2
lea eax, [edx - 2]
cmp eax, 4
ja 0x499389
cmp edx, 3
ja 0x49931d
cmp edx, 2
jne 0x499312
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.00494d50
jmp 0x497aa2
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4992ed
cmp edx, 4
jne 0x49932d
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4992ed
cmp edx, 5
jne 0x49933c
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4992ed
cmp edx, 6
jne 0x499349
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x4992ed
lea eax, [0x4ce4a0]
mov dword [esp], eax
call fcn.00409d20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x11
mov eax, dword [0x5a1420]
test eax, eax
jne 0x499379
lea eax, [0x4e4adf]
mov dword [edi], eax
jmp 0x499655
lea eax, [0x4e4adf]
call fcn.0044aa90
jmp 0x499655
lea eax, [edx - 7]
cmp eax, 5
ja 0x497fe1
cmp edx, 9
ja 0x499427
cmp edx, 7
jne 0x4993cd
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.00494d50
jmp 0x497aa2
cmp edx, 8
jne 0x4993da
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4993a8
cmp edx, 9
jne 0x4993e7
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4993a8
lea eax, [0x4ce4a0]
mov dword [esp], eax
call fcn.00409d20
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x5a1420]
test eax, eax
jne 0x499417
lea eax, [0x4e4f15]
mov dword [edi], eax
jmp 0x49963c
lea eax, [0x4e4f15]
call fcn.0044aa90
jmp 0x49963c
cmp edx, 0xa
jne 0x499436
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4993a8
cmp edx, 0xb
jne 0x499446
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x4993a8
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4993a8
cmp edx, 0xe
ja 0x4994b4
cmp edx, 0xd
jne 0x499489
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.00495090
jmp 0x497aa2
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.00495090
jmp 0x497aa2
cmp edx, 0xf
jne 0x4994f7
movss xmm0, dword [ebp + 4]
movss xmm1, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm1, xmm1
movsd qword [esp + 4], xmm1
cvtss2sd xmm0, xmm0
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.00495200
jmp 0x497aa2
movsd xmm0, qword [ebp + 8]
movsd xmm1, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.00495200
jmp 0x497aa2
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xf0]
call fcn.0044aa90
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xf4]
call fcn.0044aa90
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xec]
jmp 0x4975de
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.0044aa90
mov edi, ebp
jmp 0x4975b9
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.0046ce10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], eax
mov eax, dword [0x5a1420]
test eax, eax
jne 0x4995f2
mov dword [edx + 0x10], ecx
mov dword [esp], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.00496650
movzx eax, byte [esp + 8]
test al, al
jne 0x4995eb
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xf8]
jmp 0x497596
add esp, 0xe8
ret
lea edi, [edx + 0x10]
mov eax, ecx
call fcn.0044aa90
jmp 0x4995bc
mov edx, dword [esp + 0xf8]
jmp 0x497596
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
lea eax, [0x4ca200]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427400
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
lea eax, [0x4ca200]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427400
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
lea eax, [0x4ca200]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427400
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
lea eax, [0x4ca200]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427400
call fcn.0044ab10
mov eax, ebp
call fcn.0044ab10
nop
call fcn.00449350
jmp fcn.00497550