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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x4a5628
sub esp, 0x110
mov eax, dword [esp + 0x128]
test eax, eax
jle 0x4a55ac
mov ecx, dword [esp + 0x120]
test ecx, ecx
jne 0x4a54e0
mov edx, dword [esp + 0x114]
mov dword [edx + 0xc], 0
mov ebx, dword [0x749b10]
lea ebp, [edx + 0x10]
test ebx, ebx
jne 0x4a54b6
mov dword [edx + 0x10], 0
mov dword [edx + 0x1c], ecx
mov ebx, dword [0x749b10]
lea ebp, [edx + 0x14]
lea esi, [edx + 0x18]
test ebx, ebx
jne 0x4a545a
mov ebx, dword [esp + 0x118]
mov dword [edx + 0x14], ebx
mov ebp, dword [esp + 0x11c]
mov dword [edx + 0x18], ebp
mov esi, ecx
and ecx, 0x1f
cmp ecx, 0x10
jbe 0x4a5089
cmp ecx, 0x15
ja 0x4a4792
cmp ecx, 0x13
ja 0x4a3cc2
cmp ecx, 0x11
jne 0x4a3c7d
mov dword [esp + 0x88], ecx
mov edi, dword [esp + 0x124]
cmp edi, 0x71
jg 0x4a3c66
cmp edi, 0x58
jne 0x4a3c58
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00470ae0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], 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 0x4a34ef
mov eax, dword [esp + 0x88]
cmp eax, 0x17
je 0x4a34b9
mov eax, dword [esp + 0x120]
test eax, 0x100
jne 0x4a3439
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0046fb20
mov eax, dword [esp + 0xc]
lea ecx, [0x5d0180]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004387d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x68], edx
xor ebx, ebx
jmp 0x4a3363
mov ebp, dword [esp + 0xa8]
mov byte [ebp + ecx], al
lea ebx, [ecx + 1]
mov eax, ebp
mov ecx, dword [esp + 0x6c]
cmp ebx, edx
jge 0x4a33c5
mov dword [esp + 0x54], ebx
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.0046f450
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00470c60
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x68]
cmp ecx, edx
jb 0x4a334f
jmp 0x4a55cd
mov dword [esp + 0xa8], eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
mov ebx, dword [esp + 0x8c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov edx, dword [esp + 0xa8]
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 + 0x124]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.004a1450
add esp, 0x110
ret
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0046fb20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.00470750
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.0046e8e0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
jmp 0x4a33c5
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.0046e8e0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
jmp 0x4a33c5
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4a3799
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4a371e
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5b
xor ecx, ecx
jmp 0x4a3593
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0046f450
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x128]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a31b0
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
call fcn.0046fb20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x4a367c
test ecx, ecx
jle 0x4a3523
mov eax, dword [esp + 0x114]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
lea esi, [ebx + 1]
cmp esi, edx
jg 0x4a35fa
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ebx], 0x20
jmp 0x4a3523
lea eax, [0x5d0180]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a364b
mov dword [ebx], eax
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x58]
jmp 0x4a35ea
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x114]
jmp 0x4a363a
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4a36a3
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5d
add esp, 0x110
ret
lea eax, [0x5d0180]
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.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a36ed
mov dword [ebx], eax
mov edx, ecx
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x4a3692
mov dword [esp + 0xd4], eax
mov dword [esp + 0x80], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x114]
jmp 0x4a36e3
lea eax, [0x5d0180]
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.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a376e
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x114]
jmp 0x4a3515
mov dword [esp + 0xd0], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
jmp 0x4a375e
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.00470ae0
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 + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4a3bfb
cmp ebp, edi
ja 0x4a55c6
mov dword [esp + 0x80], edi
mov dword [esp + 0xcc], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c5e0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x749b10]
test eax, eax
jne 0x4a3bdc
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
mov eax, dword [esp + 0x88]
cmp eax, 0x17
je 0x4a3af8
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
lea ebp, [edx + 1]
cmp ebp, eax
jg 0x4a3a7d
lea eax, [edx + 1]
mov dword [ecx + 4], eax
mov byte [ebx + edx], 0x7b
xor eax, eax
jmp 0x4a38f4
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0046f450
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x128]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a31b0
mov eax, dword [esp + 0x64]
inc eax
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
call fcn.0046fb20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jge 0x4a39e3
test ecx, ecx
jle 0x4a3886
mov eax, dword [esp + 0x114]
mov edx, dword [eax + 4]
lea ebx, [edx + 2]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
ja 0x4a3991
cmp ebx, ebp
ja 0x4a55b8
movzx edi, word [0x60b2d7]
mov word [esi + edx], di
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a3975
mov dword [eax], esi
jmp 0x4a3886
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0040e560
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x64]
jmp 0x4a3886
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
lea eax, [0x5d0180]
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.00438950
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
jmp 0x4a394b
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4a3a08
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x7d
jmp 0x4a369c
lea eax, [0x5d0180]
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.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a3a52
mov dword [ebx], eax
mov edx, ecx
mov ebp, eax
mov eax, ebx
mov ebx, ebp
jmp 0x4a39f9
mov dword [esp + 0xd4], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
jmp 0x4a3a48
lea ecx, [0x5d0180]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a3acd
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov ecx, dword [esp + 0x114]
jmp 0x4a3878
mov dword [esp + 0xd0], eax
mov dword [esp + 0x78], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x114]
jmp 0x4a3abd
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0046f9e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4a3b32
mov ecx, dword [esp + 0x114]
jmp 0x4a3865
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4a3b8e
cmp edx, ebx
ja 0x4a55bf
mov esi, dword [0x60b7f2]
movzx edi, byte [0x60b7f6]
mov dword [ebp + ecx], esi
xchg edi, eax
mov byte [ebp + ecx + 4], al
xchg edi, eax
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x749b10]
test ecx, ecx
jne 0x4a3b80
mov dword [eax], ebp
add esp, 0x110
ret
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e560
jmp 0x4a3b79
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], edx
lea eax, [0x5d0180]
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.00438950
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
jmp 0x4a3b48
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040e560
mov ecx, dword [esp + 0x114]
jmp 0x4a3855
mov dword [esp + 0x80], ebx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x94], ecx
lea eax, [0x5d0180]
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.00438950
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
jmp 0x4a37fa
cmp edi, 0x71
je 0x4a328b
jmp 0x4a34ef
cmp edi, 0x73
je 0x4a328b
cmp edi, 0x78
je 0x4a328b
jmp 0x4a34ef
lea eax, [ecx - 0x12]
cmp eax, 1
ja 0x4a3ca9
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004a1ca0
jmp 0x4a369c
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004a0290
jmp 0x4a369c
cmp ecx, 0x14
je 0x4a449e
movzx ecx, byte [edx + 0x2c]
test cl, cl
jne 0x4a420e
mov ecx, dword [edx + 4]
lea edi, [ecx + 4]
mov eax, dword [edx + 8]
mov esi, dword [edx]
cmp edi, eax
ja 0x4a41b8
cmp edi, eax
ja 0x4a5605
mov ebp, dword [0x60b725]
mov dword [esi + ecx], ebp
mov dword [edx + 4], edi
mov dword [edx + 8], eax
mov eax, dword [0x749b10]
test eax, eax
jne 0x4a4199
mov dword [edx], esi
mov dword [esp], ebx
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 8], ecx
call fcn.0046fe20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
xor edx, edx
jmp 0x4a3de4
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ecx + ebx], 0x3a
mov ecx, dword [esp + 0x118]
mov dword [esp], ecx
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x120]
mov dword [esp + 8], ebx
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xc4]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x14], ebp
call fcn.0046fc70
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x14], ecx
call fcn.004a31b0
mov eax, dword [esp + 0xc8]
add eax, 0xc
mov ecx, dword [esp + 0x5c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x50]
cmp edx, ecx
jge 0x4a4066
mov dword [esp + 0x5c], edx
mov dword [esp + 0xc8], eax
mov ebx, dword [eax + 8]
mov dword [esp + 0x88], ebx
mov ebp, dword [eax + 4]
mov dword [esp + 0xc4], ebp
mov esi, dword [eax]
mov dword [esp + 0xc0], esi
test edx, edx
jle 0x4a405a
mov edi, dword [esp + 0x114]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4a3fbd
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov eax, dword [edi]
mov ebx, dword [edi + 8]
cmp edx, ebx
ja 0x4a3f67
cmp edx, ebx
ja 0x4a55fe
movzx ebp, word [0x60b2d7]
mov word [eax + ecx], bp
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x749b10]
test ecx, ecx
jne 0x4a3f48
mov dword [edi], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x124]
mov dword [esp + 0x10], edx
mov ebx, dword [esp + 0x128]
lea ebp, [ebx + 1]
mov dword [esp + 0x84], ebp
mov dword [esp + 0x14], ebp
call fcn.004a31b0
mov eax, dword [esp + 0x114]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, edx
jle 0x4a3d42
lea eax, [0x5d0180]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a3f17
mov dword [ebx], eax
mov ebx, ecx
mov ecx, eax
mov eax, dword [esp + 0x114]
jmp 0x4a3d42
mov dword [esp + 0xd8], eax
mov dword [esp + 0x80], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x114]
jmp 0x4a3f07
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.0040e560
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x114]
jmp 0x4a3e6b
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], ecx
lea ebp, [0x5d0180]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438950
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 0x114]
jmp 0x4a3e42
mov ecx, dword [edi + 8]
mov edx, dword [edi + 4]
mov eax, dword [edi]
lea ebx, [edx + 1]
cmp ebx, ecx
jg 0x4a3fdb
lea ecx, [edx + 1]
mov dword [edi + 4], ecx
mov byte [eax + edx], 0x20
jmp 0x4a3e6b
lea ebp, [0x5d0180]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a402f
mov dword [ebx], eax
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0xc0]
mov edi, ebx
mov edx, ecx
jmp 0x4a3fcc
mov dword [esp + 0xd4], eax
mov dword [esp + 0x78], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x114]
jmp 0x4a401b
mov edi, dword [esp + 0x114]
jmp 0x4a3e6b
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4a4108
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
lea ebp, [ecx + 1]
cmp ebp, ebx
jg 0x4a4097
lea ebx, [ecx + 1]
mov dword [eax + 4], ebx
mov byte [edx + ecx], 0x7d
jmp 0x4a369c
lea eax, [0x5d0180]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a40dd
mov dword [ebx], eax
mov edx, eax
mov eax, ebx
jmp 0x4a4088
mov dword [esp + 0xd0], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x114]
jmp 0x4a40d7
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, ecx
jg 0x4a4126
lea ecx, [ebx + 1]
mov dword [eax + 4], ecx
mov byte [edx + ebx], 0x5d
jmp 0x4a369c
lea eax, [0x5d0180]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a416e
mov dword [ebx], eax
mov edx, eax
mov eax, ebx
mov ebx, ecx
jmp 0x4a4117
mov dword [esp + 0xd0], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x114]
jmp 0x4a4166
mov dword [esp], edx
mov dword [esp + 4], esi
call fcn.0040e560
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
jmp 0x4a3d11
mov dword [esp + 0x84], edi
mov dword [esp + 0x7c], ecx
lea edx, [0x5d0180]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
call fcn.00438950
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov edi, dword [esp + 0x84]
jmp 0x4a3cea
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00470ae0
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 edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [ebx + ecx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4a4447
cmp ebp, edi
ja 0x4a5613
mov dword [esp + 0x7c], edi
mov dword [esp + 0xbc], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044c5e0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 8], eax
mov eax, dword [0x749b10]
test eax, eax
jne 0x4a442f
mov eax, dword [esp + 0xbc]
mov dword [ecx], eax
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0046f9e0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4a4385
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4a430d
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x7b
mov ebx, dword [esp + 0x118]
jmp 0x4a3d11
lea eax, [0x5d0180]
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.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a435a
mov dword [ebx], eax
mov edx, ecx
mov ebx, eax
mov eax, dword [esp + 0x114]
jmp 0x4a42f7
mov dword [esp + 0xb8], eax
mov dword [esp + 0x70], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x114]
jmp 0x4a434d
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4a43e1
cmp edx, ebx
ja 0x4a560c
mov esi, dword [0x60b7f2]
movzx edi, byte [0x60b7f6]
mov dword [ebp + ecx], esi
xchg edi, eax
mov byte [ebp + ecx + 4], al
xchg edi, eax
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x749b10]
test ecx, ecx
jne 0x4a43d3
mov dword [eax], ebp
add esp, 0x110
ret
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e560
jmp 0x4a43cc
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], edx
lea eax, [0x5d0180]
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.00438950
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
jmp 0x4a439b
mov dword [esp], ecx
mov eax, dword [esp + 0xbc]
mov dword [esp + 4], eax
call fcn.0040e560
jmp 0x4a42af
mov dword [esp + 0x9c], eax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x7c], ebx
lea eax, [0x5d0180]
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.00438950
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
jmp 0x4a425a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f0d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x4a475b
mov eax, dword [esp + 0x114]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4a4579
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
ja 0x4a452b
cmp edx, ebx
ja 0x4a55d4
movzx esi, byte [0x60b84b]
mov edi, dword [0x60b847]
mov dword [ebp + ecx], edi
xchg esi, eax
mov byte [ebp + ecx + 4], al
xchg esi, eax
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x749b10]
test ecx, ecx
jne 0x4a451a
mov dword [eax], ebp
jmp 0x4a369c
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0040e560
jmp 0x4a369c
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ecx
lea eax, [0x5d0180]
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.00438950
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x84]
jmp 0x4a44e4
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.00470ae0
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 + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4a46fe
cmp ebp, edi
ja 0x4a55e2
mov dword [esp + 0xcc], esi
mov dword [esp + 0x80], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c5e0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x749b10]
test eax, eax
jne 0x4a46d8
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
mov edx, dword [ecx + 4]
lea ebx, [edx + 5]
mov ebp, dword [ecx + 8]
cmp ebx, ebp
ja 0x4a468a
cmp ebx, ebp
ja 0x4a55db
mov esi, dword [0x60b7f2]
movzx edi, byte [0x60b7f6]
mov dword [eax + edx], esi
xchg edi, ebx
mov byte [eax + edx + 4], bl
xchg edi, ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebp
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a4679
mov dword [ecx], eax
jmp 0x4a369c
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0040e560
jmp 0x4a369c
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], edx
lea ecx, [0x5d0180]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438950
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
jmp 0x4a4642
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x114]
jmp 0x4a4635
mov dword [esp + 0x80], ebx
mov dword [esp + 0x48], eax
mov dword [esp + 0x98], ecx
lea eax, [0x5d0180]
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.00438950
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
jmp 0x4a45da
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x128]
inc eax
mov dword [esp + 0x14], eax
call fcn.004a31b0
jmp 0x4a369c
cmp ecx, 0x17
ja 0x4a4963
cmp ecx, 0x16
jne 0x4a326b
test eax, eax
jne 0x4a3c85
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004701e0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4a47e5
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
jmp 0x4a3c85
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0046f0d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x4a494f
cmp eax, 0x11
jne 0x4a4925
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x114]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 4]
mov edi, dword [eax]
lea ebx, [esi + 1]
cmp ebx, ebp
jg 0x4a488d
lea ebx, [esi + 1]
mov dword [eax + 4], ebx
mov byte [edi + esi], 0x26
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x88]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x128]
inc eax
mov dword [esp + 0x14], eax
call fcn.004a31b0
add esp, 0x110
ret
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc0], edx
lea eax, [0x5d0180]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a48f4
mov dword [ebx], eax
mov edx, dword [esp + 0xc0]
mov esi, ecx
mov edi, eax
mov eax, ebx
mov ecx, dword [esp + 0xc4]
jmp 0x4a484a
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x114]
jmp 0x4a48db
cmp eax, 0x15
je 0x4a482d
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
jmp 0x4a3c85
cmp eax, 0x17
je 0x4a482d
cmp eax, 0x19
je 0x4a482d
jmp 0x4a492e
cmp ecx, 0x18
je 0x4a504a
cmp ecx, 0x19
jne 0x4a503c
movzx ecx, byte [edx + 0x2c]
test cl, cl
jne 0x4a4f09
mov ecx, dword [edx + 4]
mov edi, dword [edx]
mov eax, dword [edx + 8]
lea esi, [ecx + 1]
cmp esi, eax
jg 0x4a4e81
lea eax, [ecx + 1]
mov dword [edx + 4], eax
mov byte [edi + ecx], 0x7b
lea eax, [esp + 8]
mov dword [esp + 0xb4], eax
xor ecx, ecx
jmp 0x4a4a32
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
call fcn.004a0100
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x128]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a31b0
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov dword [esp + 0x60], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x120]
mov dword [esp + 8], eax
call fcn.004701a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jge 0x4a4de9
test ecx, ecx
jle 0x4a4ddd
mov eax, dword [esp + 0x114]
movzx edx, byte [eax + 0x2c]
test dl, dl
je 0x4a4d42
mov edx, dword [eax + 4]
lea ebx, [edx + 2]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
ja 0x4a4cf0
cmp ebx, ebp
ja 0x4a55f0
movzx edi, word [0x60b2d7]
mov word [esi + edx], di
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a4cd4
mov dword [eax], esi
movzx edx, byte [eax + 0x2b]
test dl, dl
je 0x4a4cc3
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.00470ae0
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 + 0xdc]
mov esi, dword [esp + 0xb4]
call fcn.0044c36e
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xdc]
test eax, eax
je 0x4a4cb7
mov edx, dword [esp + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4a4c5a
cmp ebp, edi
ja 0x4a55e9
mov dword [esp + 0x80], edi
mov dword [esp + 0xcc], esi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044c5e0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x749b10]
test eax, eax
jne 0x4a4c34
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [ebx + 1]
cmp ebp, edx
jg 0x4a4bbe
lea edx, [ebx + 1]
mov dword [ecx + 4], edx
mov byte [eax + ebx], 0x3a
jmp 0x4a49b0
lea ecx, [0x5d0180]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a4c09
mov dword [ebx], eax
mov ebx, ecx
mov ecx, dword [esp + 0x114]
jmp 0x4a4baf
mov dword [esp + 0xd4], eax
mov dword [esp + 0x7c], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
jmp 0x4a4bfe
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0x114]
jmp 0x4a4ba2
mov dword [esp + 0x80], ebx
mov dword [esp + 0x40], eax
mov dword [esp + 0xa0], ecx
lea eax, [0x5d0180]
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.00438950
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
jmp 0x4a4b47
mov ecx, dword [esp + 0x114]
jmp 0x4a49b0
movzx edx, byte [eax + 0x2c]
test dl, dl
jne 0x4a4ac0
jmp 0x4a49b0
mov dword [esp], eax
mov dword [esp + 4], esi
call fcn.0040e560
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
jmp 0x4a4ab4
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
lea eax, [0x5d0180]
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.00438950
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x80]
jmp 0x4a4a8b
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
lea esi, [ebx + 1]
cmp esi, edx
jg 0x4a4d61
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ebx], 0x20
jmp 0x4a4ab4
lea eax, [0x5d0180]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a4db2
mov dword [ebx], eax
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x60]
jmp 0x4a4d51
mov dword [esp + 0xd0], eax
mov dword [esp + 0x78], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x114]
jmp 0x4a4da1
mov eax, dword [esp + 0x114]
jmp 0x4a4ab4
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
lea ebp, [ebx + 1]
cmp ebp, ecx
jg 0x4a4e0e
lea ecx, [ebx + 1]
mov dword [eax + 4], ecx
mov byte [edx + ebx], 0x7d
jmp 0x4a369c
lea eax, [0x5d0180]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a4e56
mov dword [ebx], eax
mov edx, eax
mov eax, ebx
mov ebx, ecx
jmp 0x4a4dff
mov dword [esp + 0xb8], eax
mov dword [esp + 0x74], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x114]
jmp 0x4a4e4e
lea edx, [0x5d0180]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
call fcn.00438950
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 8], edx
mov edx, dword [0x749b10]
test edx, edx
jne 0x4a4ed8
mov dword [ebx], eax
mov edx, ebx
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov edi, eax
jmp 0x4a4994
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x114]
jmp 0x4a4ec1
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00470ae0
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 + 0x114]
mov ebx, dword [edx + 4]
lea ebp, [ebx + eax]
mov dword [esp + 0x80], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4a4fe5
cmp ebp, esi
ja 0x4a55f7
mov dword [esp + 0x70], 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.0044c5e0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x70]
mov dword [ecx + 8], eax
mov eax, dword [0x749b10]
test eax, eax
jne 0x4a4fc9
mov eax, dword [esp + 0xb0]
mov dword [ecx], eax
mov eax, dword [esp + 0x128]
mov edx, ecx
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0x120]
jmp 0x4a4981
mov dword [esp], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.0040e560
mov ecx, dword [esp + 0x114]
jmp 0x4a4fa6
mov dword [esp + 0x3c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0xa4], ecx
lea eax, [0x5d0180]
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.00438950
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x80]
jmp 0x4a4f55
cmp ecx, 0x1a
je 0x4a3c85
jmp 0x4a3ca9
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004709f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x124]
mov dword [esp + 0xc], eax
call fcn.004a12e0
jmp 0x4a369c
cmp ecx, 0xc
ja 0x4a5323
cmp ecx, 1
ja 0x4a5287
test esi, 0x1f
jne 0x4a524f
test eax, eax
jne 0x4a5189
mov eax, dword [edx + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x84], ecx
mov ebx, dword [edx + 8]
mov ebp, dword [edx]
cmp ecx, ebx
ja 0x4a5142
cmp ecx, ebx
ja 0x4a5621
mov dword [esp + 0xcc], ebp
mov dword [esp + 0x80], ebx
add eax, ebp
mov dword [esp], eax
lea eax, [0x61087b]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0044c5e0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x114]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 8], eax
mov eax, dword [0x749b10]
test eax, eax
jne 0x4a512a
mov eax, dword [esp + 0xcc]
mov dword [ecx], eax
jmp 0x4a369c
mov dword [esp], ecx
mov eax, dword [esp + 0xcc]
mov dword [esp + 4], eax
call fcn.0040e560
jmp 0x4a369c
mov dword [esp + 0x80], eax
lea edx, [0x5d0180]
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00438950
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x114]
jmp 0x4a50c5
mov eax, dword [esp + 0x124]
cmp eax, 0x76
jne 0x4a523e
mov eax, dword [edx + 4]
lea ecx, [eax + 5]
mov ebx, dword [edx]
mov ebp, dword [edx + 8]
cmp ecx, ebp
ja 0x4a51f0
cmp ecx, ebp
ja 0x4a561a
mov esi, dword [0x60b847]
movzx edi, byte [0x60b84b]
mov dword [ebx + eax], esi
xchg edi, ecx
mov byte [ebx + eax + 4], cl
xchg edi, ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ebp
mov eax, dword [0x749b10]
test eax, eax
jne 0x4a51df
mov dword [edx], ebx
jmp 0x4a369c
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.0040e560
jmp 0x4a369c
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], eax
lea edx, [0x5d0180]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00438950
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x114]
jmp 0x4a51a8
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004a0570
jmp 0x4a369c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046e8a0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x114]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0x124]
mov dword [esp + 8], eax
call fcn.004a0b80
jmp 0x4a369c
lea eax, [ecx - 2]
cmp eax, 4
jbe 0x4a52df
lea eax, [ecx - 7]
cmp eax, 5
ja 0x4a3ca9
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00470c60
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004a0c60
jmp 0x4a369c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f630
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x114]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004a0c60
jmp 0x4a369c
cmp ecx, 0xe
ja 0x4a53b7
cmp ecx, 0xd
jne 0x4a5374
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f380
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004a0f80
jmp 0x4a369c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046f380
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0x124]
mov dword [esp + 0x10], eax
call fcn.004a0f80
jmp 0x4a369c
cmp ecx, 0xf
jne 0x4a540b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046eff0
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0x124]
mov dword [esp + 0x18], eax
call fcn.004a10e0
jmp 0x4a369c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0046eff0
movsd xmm0, qword [esp + 0x14]
movsd xmm1, qword [esp + 0xc]
mov eax, dword [esp + 0x114]
mov dword [esp], eax
movsd qword [esp + 4], xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0x124]
mov dword [esp + 0x18], eax
call fcn.004a10e0
jmp 0x4a369c
mov dword [esp + 0xac], esi
mov dword [esp], ebp
mov eax, dword [esp + 0x118]
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 4], eax
call fcn.0040e560
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, dword [esp + 0x11c]
jmp 0x4a3242
mov dword [esp], ebp
mov dword [esp + 4], 0
call fcn.0040e560
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
mov edx, dword [esp + 0x114]
jmp 0x4a3217
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x11c]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0046f750
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4a551a
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
jmp 0x4a31f1
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x120]
mov dword [esp + 8], edx
call fcn.0046f7f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x114]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x749b10]
lea ebx, [edx + 0x10]
test ecx, ecx
jne 0x4a5597
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
call fcn.004a2530
movzx eax, byte [esp + 8]
test al, al
jne 0x4a5590
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
jmp 0x4a31f1
add esp, 0x110
ret
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040e560
mov edx, dword [esp + 0x114]
jmp 0x4a5561
mov ecx, dword [esp + 0x120]
jmp 0x4a31f1
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425810
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.00425870
ud2
call fcn.0044a470
jmp fcn.004a31b0