Function at 0x4a4600
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 0x4a675d
sub esp, 0xe8
mov ecx, dword [esp + 0x100]
test ecx, ecx
jle 0x4a66d7
nop
mov edx, dword [esp + 0xf8]
test edx, edx
je 0x4a4648
nop
test edx, 0x60
je 0x4a6654
mov edi, dword [esp + 0xec]
mov dword [edi + 0xc], 0
mov ebx, dword [0x738420]
test ebx, ebx
jne 0x4a663d
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0x738420]
test ebx, ebx
jne 0x4a6607
mov ebx, dword [esp + 0xf0]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf4]
mov dword [edi + 0x18], ebp
nop
nop
mov esi, edx
and edx, 0x1f
mov dword [esp + 0x7c], edx
cmp edx, 0x10
jbe 0x4a61e9
cmp edx, 0x15
ja 0x4a5a44
cmp edx, 0x13
ja 0x4a50b4
cmp edx, 0x11
jne 0x4a506f
mov eax, dword [esp + 0xfc]
cmp eax, 0x71
jg 0x4a5058
cmp eax, 0x58
jne 0x4a504a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004941e0
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 0x4a49d7
nop
nop
mov eax, dword [esp + 0x7c]
cmp eax, 0x17
je 0x4a49a1
nop
mov eax, dword [esp + 0xf8]
test eax, 0x100
jne 0x4a4921
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.00492c50
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
lea ecx, [0x597d60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00438f10
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
xor ecx, ecx
jmp 0x4a4798
mov ebx, dword [esp + 0xb0]
mov byte [ebx + ecx], al
inc ecx
mov eax, ebx
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jge 0x4a48ae
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
mov dword [esp + 0xc], ecx
call fcn.004928d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
nop
nop
and ecx, 0x1f
mov dword [esp + 0x7c], ecx
cmp ecx, 9
ja 0x4a486c
cmp ecx, 7
jne 0x4a4803
mov eax, dword [eax]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x4a478b
jmp 0x4a674f
cmp ecx, 8
jne 0x4a4817
movzx eax, byte [eax]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a47fc
cmp ecx, 9
jne 0x4a482b
movzx eax, word [eax]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a47fc
nop
lea eax, [0x5a4340]
mov dword [esp], eax
call fcn.00409bc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x738420]
test eax, eax
jne 0x4a485c
lea eax, [0x5c990f]
mov dword [edi], eax
jmp 0x4a66e3
lea eax, [0x5c990f]
call fcn.0044cea0
jmp 0x4a66e3
cmp ecx, 0xa
jne 0x4a4882
mov eax, dword [eax]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a47fc
cmp ecx, 0xb
jne 0x4a4898
mov eax, dword [eax]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a47fc
cmp ecx, 0xc
jne 0x4a482b
mov eax, dword [eax]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4a47fc
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.004a2800
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.00492c50
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.00493e90
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.00491bd0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x4a48b0
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.00491bd0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x4a48b0
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4a4bfa
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4a4baa
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x5b
xor ecx, ecx
jmp 0x4a4a7d
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.004928d0
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.004a4600
mov eax, dword [esp + 0x64]
lea ecx, [eax + 1]
mov dword [esp + 0x64], 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.00492c50
mov eax, dword [esp + 0x64]
cmp dword [esp + 0xc], eax
jle 0x4a4b35
test eax, eax
jle 0x4a4a0d
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 0x4a4ae2
lea ebx, [edx + 1]
mov dword [ecx + 4], ebx
mov byte [esi + edx], 0x20
jmp 0x4a4a0d
lea eax, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a4b2e
mov dword [edi], eax
mov edx, ecx
mov esi, eax
mov eax, dword [esp + 0x64]
mov ecx, edi
jmp 0x4a4ad3
call fcn.0044cea0
jmp 0x4a4b22
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 0x4a4b5d
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
add esp, 0xe8
ret
lea eax, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a4ba3
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4a4b4c
call fcn.0044cea0
jmp 0x4a4b9d
lea eax, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a4bf3
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a49fe
call fcn.0044cea0
jmp 0x4a4bea
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.004941e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
nop
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], 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 0x4a5009
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.0044d6a0
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 [0x738420]
test edx, edx
jne 0x4a4fed
mov edx, dword [esp + 0xac]
mov dword [edi], edx
nop
nop
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x17
jne 0x4a4fe1
nop
nop
add ebx, 0xffffffeb
cmp ebx, 1
ja 0x4a4fc0
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4a4f90
xor ebp, ebp
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4a4f0d
nop
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
ja 0x4a4eb6
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x4a4d7f
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.004928d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
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.004a4600
mov eax, dword [esp + 0x54]
inc eax
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0x54], 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.00492c50
mov eax, dword [esp + 0x54]
cmp dword [esp + 0xc], eax
jle 0x4a4e42
test eax, eax
jle 0x4a4d0a
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 0x4a4dff
mov esi, 0x202c
mov word [ebp + ecx], si
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x4a4def
mov dword [edi], ebp
jmp 0x4a4d0a
mov ecx, eax
mov eax, ebp
call fcn.0044cea0
mov eax, ecx
jmp 0x4a4d0a
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x597d60]
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.00439070
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4a4dce
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 0x4a4e69
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x4a4b56
lea eax, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a4eaf
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a4e59
call fcn.0044cea0
jmp 0x4a4ea9
lea ebx, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a4f06
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4a4cfc
call fcn.0044cea0
jmp 0x4a4ef6
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x4a4f55
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 [0x738420]
test ecx, ecx
jne 0x4a4f4c
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044cea0
jmp 0x4a4f45
mov dword [esp + 0x78], ebx
lea ebp, [0x597d60]
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.00439070
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 0x4a4f1e
test ebx, 0x80
je 0x4a4fb5
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 0x4a4cdd
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4a4fa2
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 0x4a4cdd
mov ebx, dword [esp + 0xf8]
jmp 0x4a4ce7
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044cea0
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x4a4cab
mov dword [esp + 0x8c], ecx
lea eax, [0x597d60]
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.00439070
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x78]
jmp 0x4a4c61
cmp eax, 0x71
je 0x4a46d8
jmp 0x4a49d7
cmp eax, 0x73
je 0x4a46d8
cmp eax, 0x78
je 0x4a46d8
jmp 0x4a49d7
lea eax, [edx - 0x12]
cmp eax, 1
ja 0x4a509b
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.004a2ee0
jmp 0x4a4b56
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004a1780
jmp 0x4a4b56
cmp edx, 0x14
je 0x4a57bd
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x4a5531
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 0x4a54e1
mov ebx, 0x5b70616d
mov dword [ebp + edx], ebx
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x4a54d1
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.0049d4e0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
test edx, edx
jle 0x4a529e
mov dword [esp + 0x84], eax
mov dword [esp + 0x78], edx
xor ebx, ebx
jmp 0x4a515a
mov ebp, dword [esp + 0xa8]
add ebp, 0xc
mov edx, ecx
mov ecx, ebp
mov ebx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x5c], ebx
mov ebp, dword [ecx]
mov dword [esp + 0xa4], ebp
mov esi, dword [ecx + 8]
mov dword [esp + 0x7c], esi
mov edi, ecx
mov ecx, dword [ecx + 4]
mov dword [esp + 0xb0], ecx
test ebx, ebx
jle 0x4a54c5
mov edx, dword [esp + 0xec]
movzx ebx, byte [edx + 0x2c]
test bl, bl
je 0x4a543d
nop
mov ebx, dword [edx + 4]
lea esi, [ebx + 2]
mov ecx, dword [edx + 8]
mov ebp, dword [edx]
cmp esi, ecx
ja 0x4a53ed
mov dword [esp + 0x74], ecx
mov ecx, 0x202c
mov word [ebp + ebx], cx
mov dword [edx + 4], esi
mov ecx, dword [esp + 0x74]
mov dword [edx + 8], ecx
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x4a53d7
mov dword [edx], ebp
mov dword [esp], edx
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 ecx, dword [esp + 0x100]
lea ebx, [ecx + 1]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x14], ebx
call fcn.004a4600
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 0x4a5387
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x3a
mov ecx, dword [esp + 0x84]
mov edx, dword [ecx + 0xc]
mov ebx, dword [esp + 0x5c]
cmp dword [ecx + 0x10], ebx
jbe 0x4a6756
lea ecx, [ebx + ebx*2]
mov ebp, dword [edx + ecx*4 + 4]
mov esi, dword [edx + ecx*4]
mov ecx, dword [edx + ecx*4 + 8]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], edx
call fcn.004a4600
mov eax, dword [esp + 0x5c]
inc eax
mov ecx, dword [esp + 0x78]
cmp eax, ecx
jl 0x4a5143
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4a531a
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4a52cd
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x4a4b56
lea eax, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a5313
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a52bd
call fcn.0044cea0
jmp 0x4a530d
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4a533a
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x5d
jmp 0x4a4b56
lea eax, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a5380
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a532a
call fcn.0044cea0
jmp 0x4a537a
lea eax, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a53d0
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a5236
call fcn.0044cea0
jmp 0x4a53c7
mov ecx, edi
mov edi, edx
mov ebx, eax
mov eax, ebp
call fcn.0044cea0
mov eax, ebx
mov edi, ecx
jmp 0x4a51d8
mov dword [esp + 0x74], esi
mov dword [esp + 0x70], ebx
lea eax, [0x597d60]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
call fcn.00439070
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0xa8]
jmp 0x4a51b0
nop
mov ebx, dword [edx + 4]
lea edi, [ebx + 1]
mov eax, dword [edx]
mov esi, dword [edx + 8]
cmp edi, esi
ja 0x4a546a
lea esi, [ebx + 1]
mov dword [edx + 4], esi
mov byte [eax + ebx], 0x20
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0xa8]
jmp 0x4a51d8
lea ecx, [0x597d60]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00439070
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 [0x738420]
test edx, edx
jne 0x4a54be
mov dword [edi], eax
mov edx, edi
mov ebp, dword [esp + 0xa4]
mov ebx, ecx
mov ecx, dword [esp + 0xb0]
jmp 0x4a544d
call fcn.0044cea0
jmp 0x4a54aa
mov edx, dword [esp + 0xec]
jmp 0x4a51d8
mov ecx, eax
mov eax, ebp
call fcn.0044cea0
mov eax, ecx
jmp 0x4a50fe
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x597d60]
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.00439070
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
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 0x4a50df
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004941e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
nop
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 + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4a577c
mov dword [esp + 0x70], esi
mov dword [esp + 0xac], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d6a0
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 [0x738420]
test edx, edx
jne 0x4a5760
mov edx, dword [esp + 0xac]
mov dword [edi], edx
nop
nop
mov ebx, dword [esp + 0x7c]
lea ebp, [ebx - 0x15]
cmp ebp, 1
ja 0x4a571f
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4a5662
nop
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x44]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
ja 0x4a560e
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
jmp 0x4a50fe
lea ebx, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a565b
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4a55ff
call fcn.0044cea0
jmp 0x4a564e
test ebx, 0x80
je 0x4a5711
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 0x4a55ee
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x44]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x4a56d6
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 [0x738420]
test ecx, ecx
jne 0x4a56cd
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044cea0
jmp 0x4a56c6
mov dword [esp + 0x78], ebx
lea ebp, [0x597d60]
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.00439070
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 0x4a569f
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4a5678
nop
lea eax, [0x5a4340]
mov dword [esp], eax
call fcn.00409bc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0x738420]
test eax, eax
jne 0x4a5750
lea eax, [0x5c9fad]
mov dword [edi], eax
jmp 0x4a66fe
lea eax, [0x5c9fad]
call fcn.0044cea0
jmp 0x4a66fe
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044cea0
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x4a55cd
mov dword [esp + 0x98], ecx
lea eax, [0x597d60]
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.00439070
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x78]
jmp 0x4a5583
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00492280
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
nop
test eax, eax
jne 0x4a5a0d
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4a587b
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x4a583c
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 [0x738420]
test ecx, ecx
jne 0x4a5830
mov dword [edi], ebp
jmp 0x4a4b56
mov eax, ebp
call fcn.0044cea0
jmp 0x4a4b56
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x597d60]
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.00439070
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
jmp 0x4a5805
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.004941e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
nop
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [ebx + eax]
mov dword [esp + 0x74], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4a59cc
mov dword [esp + 0x70], edi
mov dword [esp + 0xac], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d6a0
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 [0x738420]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x78]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x4a59b0
mov edx, dword [esp + 0xac]
mov dword [edi], edx
nop
cmp ebx, ecx
ja 0x4a5975
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 [0x738420]
test ecx, ecx
jne 0x4a5969
mov dword [edi], edx
jmp 0x4a4b56
mov eax, edx
call fcn.0044cea0
jmp 0x4a4b56
mov dword [esp + 0x78], ebx
lea ebp, [0x597d60]
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.00439070
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 0x4a593d
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044cea0
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x4a5938
mov dword [esp + 0x90], ecx
lea eax, [0x597d60]
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.00439070
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x78]
jmp 0x4a58e2
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.004a4600
jmp 0x4a4b56
cmp edx, 0x17
ja 0x4a5be5
cmp edx, 0x16
jne 0x4a46bf
test ecx, ecx
je 0x4a5ba4
xor eax, eax
test al, al
je 0x4a5077
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00492280
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
nop
nop
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x4a5b90
cmp eax, 0x11
jne 0x4a5b66
mov dword [esp + 0x7c], ebx
nop
mov eax, dword [esp + 0xec]
mov ebp, dword [eax + 4]
lea esi, [ebp + 1]
mov edi, dword [eax + 8]
mov ebx, dword [eax]
cmp esi, edi
ja 0x4a5af8
lea esi, [ebp + 1]
mov dword [eax + 4], esi
mov byte [ebx + 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.004a4600
add esp, 0xe8
ret
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xa4], edx
lea eax, [0x597d60]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
call fcn.00439070
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 [0x738420]
test edx, edx
jne 0x4a5b5f
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov ebp, ecx
mov ebx, eax
mov eax, edi
mov ecx, dword [esp + 0xb0]
jmp 0x4a5ab8
call fcn.0044cea0
jmp 0x4a5b46
cmp eax, 0x15
je 0x4a5a9d
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4a5077
cmp eax, 0x17
je 0x4a5a9d
cmp eax, 0x19
je 0x4a5a9d
jmp 0x4a5b6f
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00493630
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 0x4a5a60
cmp edx, 0x18
je 0x4a61aa
cmp edx, 0x19
jne 0x4a619c
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x4a6098
nop
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ecx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ecx
ja 0x4a603a
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [ebp + eax], 0x7b
lea eax, [esp + 8]
mov dword [esp + 0xa0], eax
xor ecx, ecx
jmp 0x4a5cac
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.004a15e0
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.004a4600
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov esi, dword [esp + 0xf8]
mov dword [esp + 0x60], ecx
nop
mov dword [esp], esi
mov dword [esp + 4], 0x19
call fcn.00491890
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xf0]
cmp dword [ecx + 0x28], eax
jle 0x4a5fc6
test eax, eax
jle 0x4a5fba
mov edi, dword [esp + 0xec]
movzx edx, byte [edi + 0x2c]
test dl, dl
je 0x4a5f43
nop
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4a5ef6
mov ecx, 0x202c
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x4a5ee6
mov dword [edi], esi
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x4a5ed5
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.004941e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
call eax
lea edi, [esp + 0xb4]
mov esi, dword [esp + 0xa0]
call fcn.0044d42e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
test eax, eax
je 0x4a5ec9
mov dword [esp + 0x50], 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 0x4a5e88
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.0044d6a0
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 [0x738420]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x4a5e6f
mov edx, dword [esp + 0xac]
mov dword [edi], edx
nop
cmp ebx, ecx
ja 0x4a5e22
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x4a5c31
lea ebp, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a5e68
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x4a5e13
call fcn.0044cea0
jmp 0x4a5e62
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0044cea0
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x4a5e0e
mov dword [esp + 0x94], ecx
lea eax, [0x597d60]
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.00439070
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x78]
jmp 0x4a5dbc
mov edi, dword [esp + 0xec]
jmp 0x4a5c31
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4a5d2f
jmp 0x4a5c31
mov ecx, eax
mov eax, esi
call fcn.0044cea0
mov eax, ecx
jmp 0x4a5d23
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ebx
lea eax, [0x597d60]
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.00439070
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
jmp 0x4a5d04
nop
mov edx, dword [edi + 4]
lea ebx, [edx + 1]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4a5f62
lea ebx, [edx + 1]
mov dword [edi + 4], ebx
mov byte [esi + edx], 0x20
jmp 0x4a5d23
lea eax, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a5fb3
mov dword [edi], eax
mov edx, ecx
mov esi, eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xf0]
jmp 0x4a5f53
call fcn.0044cea0
jmp 0x4a5fa2
mov edi, dword [esp + 0xec]
jmp 0x4a5d23
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 0x4a5fed
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x4a4b56
lea eax, [0x597d60]
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.00439070
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 [0x738420]
test edx, edx
jne 0x4a6033
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4a5fdd
call fcn.0044cea0
jmp 0x4a602d
lea ebx, [0x597d60]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00439070
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 [0x738420]
test edx, edx
jne 0x4a6091
mov dword [edi], eax
mov ebx, dword [esp + 0xf0]
mov esi, dword [esp + 0xf8]
mov ebp, eax
mov eax, ecx
jmp 0x4a5c17
call fcn.0044cea0
jmp 0x4a607a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004941e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
lea ebp, [ecx + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4a6153
mov dword [esp + 0xac], edi
mov dword [esp + 0x74], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044d6a0
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 [0x738420]
test eax, eax
jne 0x4a6145
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 0x4a5c03
mov eax, dword [esp + 0xac]
call fcn.0044cea0
jmp 0x4a6124
mov dword [esp + 0x74], ebx
mov dword [esp + 0x88], eax
mov dword [esp + 0x48], ecx
lea eax, [0x597d60]
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.00439070
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x74]
jmp 0x4a60de
cmp edx, 0x1a
je 0x4a5077
jmp 0x4a509b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004940f0
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.004a2660
jmp 0x4a4b56
cmp edx, 0xc
ja 0x4a6522
cmp edx, 1
ja 0x4a639b
test edx, edx
jne 0x4a635d
test ecx, ecx
jne 0x4a62b7
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x78], ecx
mov edx, dword [edi]
mov ebx, dword [edi + 8]
cmp ecx, ebx
ja 0x4a6284
mov dword [esp + 0x74], ebx
mov dword [esp + 0xac], edx
add eax, edx
mov dword [esp], eax
lea eax, [0x5cb3ca]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0044d6a0
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 [0x738420]
test eax, eax
jne 0x4a6273
mov eax, dword [esp + 0xac]
mov dword [edi], eax
jmp 0x4a4b56
mov eax, dword [esp + 0xac]
call fcn.0044cea0
jmp 0x4a4b56
mov dword [esp + 0x74], eax
lea ebp, [0x597d60]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00439070
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
jmp 0x4a621f
mov ecx, dword [esp + 0xfc]
cmp ecx, 0x76
jne 0x4a634c
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
ja 0x4a630d
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 [0x738420]
test ecx, ecx
jne 0x4a6301
mov dword [edi], ebx
jmp 0x4a4b56
mov eax, ebx
call fcn.0044cea0
jmp 0x4a4b56
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x597d60]
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.00439070
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 0x4a62d7
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.004a1a00
jmp 0x4a4b56
nop
mov dword [esp], esi
mov dword [esp + 4], 1
call fcn.00491890
mov eax, dword [esp + 0xf4]
movzx eax, byte [eax]
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.004a1f30
jmp 0x4a4b56
lea eax, [edx - 2]
cmp eax, 4
ja 0x4a6458
nop
nop
cmp edx, 3
ja 0x4a63eb
cmp edx, 2
jne 0x4a63e0
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.004a2010
jmp 0x4a4b56
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a63bb
cmp edx, 4
jne 0x4a63fb
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a63bb
cmp edx, 5
jne 0x4a640a
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a63bb
cmp edx, 6
jne 0x4a6417
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x4a63bb
nop
lea eax, [0x5a4340]
mov dword [esp], eax
call fcn.00409bc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x11
mov eax, dword [0x738420]
test eax, eax
jne 0x4a6448
lea eax, [0x5c93bc]
mov dword [edi], eax
jmp 0x4a6734
lea eax, [0x5c93bc]
call fcn.0044cea0
jmp 0x4a6734
lea eax, [edx - 7]
cmp eax, 5
ja 0x4a509b
nop
nop
cmp edx, 9
ja 0x4a64f9
cmp edx, 7
jne 0x4a649e
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.004a2010
jmp 0x4a4b56
cmp edx, 8
jne 0x4a64ab
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4a6479
cmp edx, 9
jne 0x4a64b8
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4a6479
nop
lea eax, [0x5a4340]
mov dword [esp], eax
call fcn.00409bc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0x738420]
test eax, eax
jne 0x4a64e9
lea eax, [0x5c990f]
mov dword [edi], eax
jmp 0x4a6719
lea eax, [0x5c990f]
call fcn.0044cea0
jmp 0x4a6719
cmp edx, 0xa
jne 0x4a6508
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a6479
cmp edx, 0xb
jne 0x4a6518
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x4a6479
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a6479
cmp edx, 0xe
ja 0x4a658a
cmp edx, 0xd
jne 0x4a655d
nop
nop
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.004a2330
jmp 0x4a4b56
nop
nop
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.004a2330
jmp 0x4a4b56
cmp edx, 0xf
jne 0x4a65cf
nop
nop
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.004a2490
jmp 0x4a4b56
nop
nop
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.004a2490
jmp 0x4a4b56
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xf0]
call fcn.0044cea0
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xf4]
call fcn.0044cea0
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xec]
jmp 0x4a4690
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.0044cea0
mov edi, ebp
jmp 0x4a466b
nop
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.00492aa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x738420]
test ecx, ecx
jne 0x4a66cd
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.004a38e0
movzx eax, byte [esp + 8]
test al, al
jne 0x4a66c6
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xf8]
jmp 0x4a4648
add esp, 0xe8
ret
lea edi, [edx + 0x10]
call fcn.0044cea0
jmp 0x4a6697
mov edx, dword [esp + 0xf8]
jmp 0x4a4648
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
lea eax, [0x59b900]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427dc0
ud2
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
lea eax, [0x59b900]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427dc0
ud2
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
lea eax, [0x59b900]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427dc0
ud2
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
lea eax, [0x59b900]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427dc0
ud2
call fcn.00427000
ud2
call fcn.00427000
ud2
call fcn.0044b750
jmp fcn.004a4600