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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x3c8]
cmp eax, dword [ecx + 8]
jbe 0x4fafb9
sub esp, 0x448
mov eax, 0
lea edi, [esp + 0x2a8]
call fcn.0044b776
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], eax
lea edi, [esp + 0x130]
call fcn.0044b768
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov ecx, dword [esp + 0x450]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x454]
mov dword [esp + 8], edx
call fcn.0048e8c0
lea edi, [esp + 0xc]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x464]
mov ebx, dword [esp + 0x45c]
cmp edx, ebx
jne 0x4f7fce
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
lea esi, [esp + 0x468]
call fcn.0044bc54
call fcn.004fafd0
movzx eax, byte [esp + 0x24]
test al, al
je 0x4f7f7d
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x464]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], 0
lea eax, [0x620137]
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], 0x12
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x230]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
jmp 0x4f7f5a
mov dword [esp + 0x12c], edi
mov dword [esp + 0x50], eax
mov dword [esp + 0xd8], ecx
mov edx, dword [eax + 0x50]
mov dword [esp], ecx
call edx
lea eax, [esp + 0xc]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 4]
cmp ecx, 0x14
je 0x4fa5de
mov eax, dword [esp + 0x458]
mov dword [esp], eax
mov ecx, dword [esp + 0x45c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x460]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x464]
mov dword [esp + 0xc], ebx
call fcn.004f72f0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
movzx ebp, byte [esp + 0x1c]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x14]
test edx, edx
jne 0x4fa5c2
mov dword [esp + 0xbc], eax
movzx eax, byte [esp + 0x469]
test al, al
je 0x4fa598
movzx eax, byte [esp + 0x46a]
test al, al
je 0x4fa58e
mov eax, 1
mov dword [esp + 0x124], ecx
mov dword [esp + 0xb8], edx
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x45c]
cmp ecx, edx
je 0x4fa51c
cmp eax, ebx
jne 0x4fa452
mov eax, dword [esp + 0x470]
mov eax, dword [eax]
cmp edi, eax
jne 0x4fa452
test esi, esi
jne 0x4fa448
mov dword [esp + 0xb4], ebx
mov eax, dword [0x7c9510]
mov ebx, dword [esp + 0x50]
cmp eax, ebx
je 0x4fa3ba
test esi, esi
jg 0x4f81e8
mov eax, dword [0x7c94f8]
cmp ebx, eax
je 0x4f8163
mov dword [esp + 0x200], 0
mov dword [esp + 0x204], 0
lea eax, [0x6299f7]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], 0x2d
lea eax, [0x65f9f0]
mov dword [esp], eax
lea eax, [esp + 0x200]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], ecx
add esp, 0x448
ret
mov dword [esp], ebx
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [0x7c94fc]
mov dword [esp + 8], eax
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f80f1
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0048e230
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov eax, dword [esp + 0x458]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x460]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004f72f0
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
test esi, esi
jne 0x4fa39e
mov dword [esp + 0x124], edi
mov dword [esp + 0xb8], esi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x42], cl
mov dword [esp + 0x48], edx
mov dword [esp + 0x54], eax
mov esi, dword [esp + 0x50]
mov dword [esp], esi
mov edi, dword [esp + 0xd8]
mov dword [esp + 4], edi
call fcn.004fb870
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x4fa2ca
cmp ecx, 0x13
jne 0x4fa2bb
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x4fa2a3
mov ebp, dword [esp + 0x44]
cmp ebp, 0x12
jg 0x4fa286
cmp ebp, 0xc
jne 0x4fa272
mov ecx, ebp
cmp ebp, 0x17
jne 0x4f82c3
cmp ecx, 0x18
jne 0x4f82c3
test ebx, ebx
jne 0x4f82c3
mov ebp, 0x18
mov esi, edx
movzx edx, byte [esp + 0x47c]
test dl, dl
je 0x4fa26b
mov edx, 0x11
mov dword [esp + 0x70], edx
movzx ebp, byte [esp + 0x469]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4fa220
mov edi, eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, edi
je 0x4fa1ce
mov ebp, dword [esp + 0x74]
je 0x4fa193
mov dword [esp + 0xbc], edx
test al, al
je 0x4fa17e
xchg edi, eax
test al, al
xchg edi, eax
je 0x4f9f15
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x54]
lea ebp, [edx + eax]
cmp ebp, edx
jge 0x4f9f00
mov esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4f9e91
cmp edx, ebp
ja 0x4fafab
mov esi, dword [esp + 0x460]
cmp ebp, esi
ja 0x4fafab
mov dword [esp + 0xbc], ebp
sub esi, edx
mov dword [esp + 0xa4], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edx, esi
mov dword [esp + 0xb4], edx
mov esi, dword [esp + 0x458]
lea edi, [esi + edx]
mov dword [esp + 0x10c], edi
mov edi, dword [0x7c9510]
mov ecx, dword [esp + 0x50]
cmp edi, ecx
je 0x4f9c88
mov ebx, dword [0x7c9500]
cmp ebx, ecx
je 0x4f9a41
mov ebx, dword [0x7c94e8]
cmp ebx, ecx
je 0x4f977e
mov ebx, dword [0x7c9518]
cmp ebx, ecx
je 0x4f952f
mov ebx, dword [0x7c94f0]
cmp ebx, ecx
je 0x4f944e
mov ebx, dword [0x7c94f8]
cmp ebx, ecx
je 0x4f93ab
mov ebx, dword [0x7c94e0]
cmp ebx, ecx
je 0x4f923b
mov ebx, dword [esp + 0x454]
mov edi, ebx
and ebx, 0x1f
cmp ebx, 6
ja 0x4f87a2
cmp ebx, 1
jne 0x4f856c
cmp eax, 1
jne 0x4f8508
movzx eax, byte [esi + edx]
test al, al
jne 0x4f8494
xor eax, eax
xor ecx, ecx
xor edx, edx
test edx, edx
je 0x4f844d
mov dword [esp + 0x480], ebp
mov dword [esp + 0x484], edx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov dword [esp + 0x88], edx
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov byte [esp + 0xc], cl
call fcn.0048e230
mov eax, dword [esp + 0xfc]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0xbc]
jmp 0x4f8431
cmp al, 0xff
jne 0x4f84a4
xor eax, eax
mov ecx, 1
xor edx, edx
jmp 0x4f842d
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0
lea eax, [0x61ef36]
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], 0xf
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x1b0]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x454]
xor ecx, ecx
jmp 0x4f842d
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
lea eax, [0x61ef36]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], 0xf
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x1b8]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x454]
xor ecx, ecx
jmp 0x4f842d
cmp ebx, 2
jne 0x4f86c7
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov ecx, dword [esp + 0x450]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.0048e8c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x7c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
cmp eax, 4
jne 0x4f864f
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004f5e10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x4f8605
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov dword [esp + 0xe4], eax
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
sar edx, 0x1f
mov dword [esp + 0x10], edx
call fcn.0048e400
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x8c]
jmp 0x4f85e2
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004f5b80
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
test ecx, ecx
jne 0x4f85e2
mov dword [esp + 0xf0], eax
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
call fcn.0048e400
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x94]
jmp 0x4f85e2
lea ecx, [ebx - 5]
cmp ecx, 1
jbe 0x4f8575
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov dword [esp + 8], edi
call fcn.0048e8c0
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 + 0x190], 0
mov dword [esp + 0x194], 0
mov dword [esp], 0
lea edx, [0x61e6c0]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0043ade0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
lea eax, [0x65f9f0]
mov dword [esp], eax
lea eax, [esp + 0x190]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
cmp ebx, 0x17
je 0x4f8fa6
cmp ebx, 0x18
jne 0x4f8a5b
mov ecx, dword [esp + 0x70]
cmp ecx, 0x13
jg 0x4f89a7
cmp ecx, 0xc
je 0x4f8974
cmp ecx, 0x12
je 0x4f8941
cmp ecx, 0x13
je 0x4f890e
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
lea eax, [0x5df520]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004071c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
lea eax, [0x627a32]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x1a0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.00498d40
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], eax
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x198]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
test ecx, ecx
je 0x4f88c3
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.0048e500
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0xb8]
jmp 0x4f88a0
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004f6f90
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
jmp 0x4f889c
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004f6ea0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x4f889c
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004f7200
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x4f889c
cmp ecx, 0x14
je 0x4f8a24
cmp ecx, 0x16
je 0x4f89f1
cmp ecx, 0x1b
jne 0x4f87dc
mov dword [esp], 0
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
call fcn.0043af60
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
xor ecx, ecx
xor eax, eax
jmp 0x4f889c
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004f7120
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x4f889c
mov dword [esp], 0
mov ecx, dword [esp + 0x10c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
call fcn.0043af60
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
xor ecx, ecx
xor eax, eax
jmp 0x4f889c
cmp ebx, 0x19
jne 0x4f86d3
lea edx, [esp + 8]
mov dword [esp + 0x120], edx
xor ebx, ebx
jmp 0x4f8a7e
mov eax, dword [esp + 0x68]
lea ebx, [eax + 1]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x68], ebx
mov eax, dword [ecx + 0x64]
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jge 0x4f8b48
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0x2c]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xd8]
mov dword [esp], ebx
call edx
lea edi, [esp + 0x414]
mov esi, dword [esp + 0x120]
call fcn.0044bc0e
mov eax, dword [esp + 0x420]
test eax, eax
je 0x4f8a73
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0
lea eax, [0x6263fc]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], 0x21
lea eax, [0x65f9f0]
mov dword [esp], eax
lea eax, [esp + 0x1a8]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x4f8dc5
lea eax, [esp + 8]
mov dword [esp + 0x11c], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x118], ecx
xor edx, edx
xor ebx, ebx
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0x124]
jmp 0x4f8b9e
mov edi, dword [esp + 0x6c]
inc edi
mov ebx, eax
mov ebp, ecx
mov esi, edx
mov edx, edi
mov dword [esp + 0xb8], ebp
mov dword [esp + 0x124], esi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], ebx
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x64]
mov edi, dword [esp + 0xd8]
mov dword [esp], edi
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
jge 0x4f8d94
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0x2c]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xd8]
mov dword [esp], ebx
call edx
lea edi, [esp + 0x3ac]
mov esi, dword [esp + 0x120]
call fcn.0044bc0e
mov eax, dword [esp + 0x6c]
test eax, eax
jne 0x4f8c57
mov ecx, dword [esp + 0x3c0]
mov edx, dword [esp + 0x3bc]
mov ebx, dword [0x7c9508]
cmp ebx, edx
jne 0x4f8c57
mov dword [esp], edx
mov dword [esp + 4], ecx
mov eax, dword [0x7c950c]
mov dword [esp + 8], eax
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f8c57
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x124]
jmp 0x4f8b91
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov ecx, dword [esp + 0x450]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x454]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xc], ebx
call fcn.0048d3b0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x114], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x110], edx
mov ebx, dword [esp + 0x3c8]
mov ebp, dword [esp + 0x3c4]
mov dword [esp], ebp
mov dword [esp + 4], ebx
lea ebx, [0x61c57f]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.00487b30
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004fb2f0
lea edi, [esp + 0x30c]
mov esi, dword [esp + 0x11c]
call fcn.0044bc54
mov eax, dword [esp + 0x110]
mov dword [esp], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x118]
lea esi, [esp + 0x30c]
call fcn.0044bc54
call fcn.004f7e80
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x4f8d71
mov ebx, ecx
mov ecx, edx
mov edx, ebx
jmp 0x4f8b91
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], edx
mov dword [esp + 0x488], ecx
add esp, 0x448
ret
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 4], 0
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
call ecx
lea edi, [esp + 0x3e0]
mov esi, dword [esp + 0x120]
call fcn.0044bc0e
mov eax, dword [esp + 0x3f4]
mov ecx, dword [esp + 0x3f0]
mov edx, dword [0x7c9508]
cmp edx, ecx
jne 0x4f8b67
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [0x7c950c]
mov dword [esp + 8], eax
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f8b67
mov eax, dword [esp + 0x464]
mov ecx, dword [esp + 0xbc]
cmp eax, ecx
ja 0x4faf9d
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov ecx, dword [esp + 0x450]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x454]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.0048d3b0
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x114], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x110], edx
mov ebx, dword [esp + 0x460]
mov ebp, dword [esp + 0x464]
sub ebx, ebp
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
mov edi, dword [esp + 0x458]
add ebx, edi
mov dword [esp + 0x250], ebx
mov ebx, dword [esp + 0xbc]
sub ebx, ebp
mov dword [esp + 0x254], ebx
mov dword [esp + 0x258], esi
lea ebx, [0x5e06a0]
mov dword [esp], ebx
lea ebx, [esp + 0x250]
mov dword [esp + 4], ebx
call fcn.00407320
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x4f8f9e
movzx edx, byte [0x7c9b68]
test dl, dl
je 0x4f8f20
mov dword [0x7c9b6c], eax
mov edx, dword [0x7db370]
test edx, edx
jne 0x4f8f8b
mov dword [0x7c9b70], ecx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], ecx
mov eax, dword [esp + 0x140]
test eax, eax
je 0x4f8f83
movzx edx, byte [eax + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f8f4d
or edx, 0x80
mov ebx, dword [esp + 0x110]
mov dword [esp], ebx
mov ebx, dword [esp + 0x114]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0048e150
jmp 0x4f8b67
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4f8f4d
lea edi, [0x7c9b70]
mov edx, eax
mov eax, ecx
call fcn.0044b680
mov eax, edx
jmp 0x4f8f20
xor edx, edx
xor ecx, ecx
xor eax, eax
jmp 0x4f8f4d
mov eax, dword [ecx + 0x28]
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
call eax
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 0x4f9159
mov eax, dword [esp + 0x50]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0048ee90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x44c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x450]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x454]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048e150
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x244], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x24c], eax
lea eax, [0x5d2f60]
mov dword [esp], eax
lea eax, [esp + 0x244]
mov dword [esp + 4], eax
call fcn.00407320
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4f914e
movzx edx, byte [0x7c9b68]
test dl, dl
je 0x4f90a7
mov dword [0x7c9b6c], ecx
mov edx, dword [0x7db370]
test edx, edx
jne 0x4f913e
mov dword [0x7c9b70], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x150]
test ecx, ecx
je 0x4f9136
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f90d4
or edx, 0x80
mov ebx, dword [esp + 0x44c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x450]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x454]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048eb60
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x488], eax
add esp, 0x448
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f90d4
lea edi, [0x7c9b70]
call fcn.0044b680
jmp 0x4f90a7
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f90d4
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10c]
mov dword [esp], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.004f79c0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
test ecx, ecx
je 0x4f91ec
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov dword [esp + 0xf4], eax
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], edx
call fcn.0048e150
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0x80]
jmp 0x4f91c9
mov dword [esp], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov edx, dword [0x7c94e4]
mov dword [esp + 8], edx
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f9283
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x458]
jmp 0x4f83f8
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004f5fe0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
je 0x4f92d8
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], edx
mov dword [esp + 0x488], ecx
add esp, 0x448
ret
movzx ebx, byte [0x7c9b68]
test bl, bl
je 0x4f93a0
lea ebx, [0x61b3e0]
mov dword [0x7c9b6c], ebx
mov ebp, dword [0x7db370]
test ebp, ebp
jne 0x4f9390
mov dword [0x7c9b70], eax
mov dword [esp + 0x100], ecx
mov dword [esp + 0x90], edx
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], eax
mov ebx, dword [esp + 0x148]
test ebx, ebx
je 0x4f9388
movzx ebp, byte [ebx + 0xf]
mov esi, ebp
and ebp, 0x1f
xchg esi, eax
test al, 0x20
xchg esi, eax
jne 0x4f9344
or ebp, 0x80
mov ecx, dword [esp + 0x44c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x450]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x454]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebp
call fcn.0048e150
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x90]
jmp 0x4f92b5
xor ebp, ebp
xor eax, eax
xor ebx, ebx
jmp 0x4f9344
lea edi, [0x7c9b70]
call fcn.0044b680
jmp 0x4f9307
lea ebx, [0x61b3e0]
jmp 0x4f9307
mov dword [esp], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov edx, dword [0x7c94fc]
mov dword [esp + 8], edx
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f93f3
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x458]
jmp 0x4f83ea
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.0048e230
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov dword [esp], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov edx, dword [0x7c94f4]
mov dword [esp + 8], edx
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f9496
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x458]
jmp 0x4f83dc
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004f5e10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
je 0x4f94eb
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov dword [esp + 0xec], eax
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
sar edx, 0x1f
mov dword [esp + 0x10], edx
call fcn.0048e400
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x78]
jmp 0x4f94c8
mov dword [esp], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov edx, dword [0x7c951c]
mov dword [esp + 8], edx
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f975c
lea edi, [esp + 0x294]
xor eax, eax
call fcn.0044b77b
mov ecx, dword [esp + 0x70]
cmp ecx, 0x17
jne 0x4f96fb
lea edi, [esp + 0x2f8]
call fcn.0044b77b
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
call fcn.004f6940
lea edi, [esp + 0x2f8]
mov esi, dword [esp + 0x128]
call fcn.0044bc5e
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe0], ecx
mov edx, dword [esp + 0x20]
lea edi, [esp + 0x294]
lea esi, [esp + 0x2f8]
call fcn.0044bc5e
mov eax, dword [esp + 0xe0]
test edx, edx
je 0x4f9605
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x480], ecx
mov dword [esp + 0x484], edx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov dword [esp + 0x7c], edx
mov dword [esp + 0xe0], eax
lea edi, [esp + 0x2d0]
lea esi, [esp + 0x294]
call fcn.0044bc5e
lea eax, [0x619960]
mov dword [esp], eax
lea eax, [esp + 0x2d0]
mov dword [esp + 4], eax
call fcn.004070e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4f96f3
movzx edx, byte [0x7c9b68]
test dl, dl
je 0x4f966d
mov dword [0x7c9b6c], ecx
mov edx, dword [0x7db370]
test edx, edx
jne 0x4f96e3
mov dword [0x7c9b70], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 0x138]
test ecx, ecx
je 0x4f96db
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f969a
or edx, 0x80
mov ebx, dword [esp + 0x44c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x450]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x454]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048e150
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0x7c]
jmp 0x4f95e2
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f969a
lea edi, [0x7c9b70]
call fcn.0044b680
jmp 0x4f966d
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f969a
lea edi, [esp + 0x2e4]
call fcn.0044b77b
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
call fcn.004f6c70
lea edi, [esp + 0x2e4]
mov esi, dword [esp + 0x128]
call fcn.0044bc5e
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea edi, [esp + 0x294]
lea esi, [esp + 0x2e4]
call fcn.0044bc5e
jmp 0x4f95de
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x458]
jmp 0x4f83ce
mov dword [esp], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov edx, dword [0x7c94ec]
mov dword [esp + 8], edx
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f9a1f
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4f99c3
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x458]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x4f995b
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0
lea eax, [0x626810]
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], 0x22
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x1c0]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
test ecx, ecx
je 0x4f9850
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov dword [esp + 0xe8], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x274], ebp
mov dword [esp + 0x278], ebx
mov dword [esp + 0x27c], edx
mov dword [esp + 0x280], esi
lea eax, [0x5ff280]
mov dword [esp], eax
lea eax, [esp + 0x274]
mov dword [esp + 4], eax
call fcn.004070e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x4f9953
movzx edx, byte [0x7c9b68]
test dl, dl
je 0x4f98c4
mov dword [0x7c9b6c], eax
mov edx, dword [0x7db370]
test edx, edx
jne 0x4f993d
mov dword [0x7c9b70], ecx
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
mov eax, dword [esp + 0x160]
test eax, eax
je 0x4f9935
movzx edx, byte [eax + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f98f1
or edx, 0x80
mov ebx, dword [esp + 0x44c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x450]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x454]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0048e150
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0x98]
jmp 0x4f982d
xor eax, eax
xor edx, edx
xor ecx, ecx
jmp 0x4f98f1
lea edi, [0x7c9b70]
mov edx, eax
mov eax, ecx
call fcn.0044b680
mov eax, edx
jmp 0x4f98c4
xor eax, eax
xor edx, edx
xor ecx, ecx
jmp 0x4f98f1
cmp eax, 1
jne 0x4f9968
test edx, edx
jg 0x4f97d2
mov ebx, dword [esp + 0x10c]
movzx ebp, byte [eax + ebx - 1]
mov esi, 1
shl esi, cl
cmp cl, 0x20
sbb edi, edi
and edi, esi
lea esi, [edi - 1]
xchg ebp, eax
xchg esi, ebx
test bl, al
xchg esi, ebx
xchg ebp, eax
jne 0x4f97d2
lea esi, [eax - 1]
mov edi, esi
shl esi, 3
sub esi, edx
mov eax, edi
mov edi, dword [esp + 0xa4]
lea edx, [edi - 1]
mov edi, edx
neg edx
sar edx, 0x1f
and edx, 1
lea ebp, [ebx + edx]
mov edx, edi
mov ebx, eax
xor eax, eax
xor ecx, ecx
jmp 0x4f9829
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
lea eax, [0x621da5]
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], 0x16
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x1c8]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4f9829
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x458]
jmp 0x4f83c0
mov dword [esp], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov edx, dword [0x7c9504]
mov dword [esp + 8], edx
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4f9a89
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x458]
jmp 0x4f83b2
mov eax, dword [esp + 0x10c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.004f6500
mov eax, dword [esp + 0x10]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0xf8], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x84], ebx
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x44c]
mov dword [esp], esi
mov edi, dword [esp + 0x450]
mov dword [esp + 4], edi
mov ebp, dword [esp + 0x454]
mov dword [esp + 8], ebp
call fcn.0048e8c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0048ee90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x44c]
mov dword [esp], ebx
mov ebp, dword [esp + 0x450]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x454]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
call fcn.0048e150
mov eax, dword [esp + 0x84]
test eax, eax
je 0x4f9b93
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0x480], ecx
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x264], eax
lea eax, [0x5ee300]
mov dword [esp], eax
lea eax, [esp + 0x25c]
mov dword [esp + 4], eax
call fcn.00407320
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4f9c80
movzx edx, byte [0x7c9b68]
test dl, dl
je 0x4f9c01
mov dword [0x7c9b6c], ecx
mov edx, dword [0x7db370]
test edx, edx
jne 0x4f9c73
mov dword [0x7c9b70], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], eax
mov ecx, dword [esp + 0x168]
test ecx, ecx
je 0x4f9c6b
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f9c2e
or edx, 0x80
mov ebx, dword [esp + 0x44c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x450]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x454]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048eb60
mov eax, dword [esp + 0x84]
jmp 0x4f9b69
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f9c2e
lea edi, [0x7c9b70]
call fcn.0044b680
jmp 0x4f9c01
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x4f9c2e
mov dword [esp], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov edx, dword [0x7c9514]
mov dword [esp + 8], edx
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
je 0x4f9e6f
mov eax, dword [esp + 0x464]
mov ecx, dword [esp + 0xbc]
cmp eax, ecx
ja 0x4fafa4
lea edi, [esp + 0x33c]
lea esi, [0x660ea0]
call fcn.0044bc36
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x33c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x340], ecx
movzx ecx, byte [esp + 0x42]
mov byte [esp + 0x344], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x348], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x34c], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x350], ecx
mov ecx, dword [esp + 0x460]
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x458]
add ecx, ebx
mov dword [esp + 0x354], ecx
mov ecx, dword [esp + 0xbc]
sub ecx, eax
mov dword [esp + 0x358], ecx
mov dword [esp + 0x35c], edx
lea edi, [esp + 0x360]
lea esi, [esp + 0x33c]
call fcn.0044bc36
lea eax, [0x5ffd00]
mov dword [esp], eax
lea eax, [esp + 0x360]
mov dword [esp + 4], eax
call fcn.004070e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x4f9e64
movzx edx, byte [0x7c9b68]
test dl, dl
je 0x4f9dbd
mov dword [0x7c9b6c], ecx
mov edx, dword [0x7db370]
test edx, edx
jne 0x4f9e54
mov dword [0x7c9b70], eax
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
mov ecx, dword [esp + 0x130]
test ecx, ecx
je 0x4f9e4c
movzx edx, byte [ecx + 0xf]
mov ebx, edx
and edx, 0x1f
test bl, 0x20
jne 0x4f9dea
or edx, 0x80
mov ebx, dword [esp + 0x44c]
mov dword [esp], ebx
mov ebx, dword [esp + 0x450]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x454]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048e150
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x488], eax
add esp, 0x448
ret
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f9dea
lea edi, [0x7c9b70]
call fcn.0044b680
jmp 0x4f9dbd
xor edx, edx
xor eax, eax
xor ecx, ecx
jmp 0x4f9dea
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x458]
jmp 0x4f83a4
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0
lea eax, [0x61e9ca]
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], 0xe
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x1d0]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], ecx
add esp, 0x448
ret
mov edi, dword [esp + 0x45c]
cmp ebp, edi
xchg esi, ebx
setg bl
xchg esi, ebx
jmp 0x4f833e
movzx eax, byte [esp + 0x42]
xchg esi, ebx
cmp al, bl
xchg esi, ebx
je 0x4f8326
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x12c]
lea esi, [esp + 0x468]
call fcn.0044bc54
call fcn.004fafd0
movzx eax, byte [esp + 0x24]
test al, al
je 0x4f9f98
mov eax, dword [esp + 0x464]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x124]
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], edx
add esp, 0x448
ret
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xd0], eax
movzx eax, byte [esp + 0x42]
mov byte [esp + 0xd4], al
lea edi, [esp + 0x324]
lea esi, [esp + 0x468]
call fcn.0044bc54
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xd8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x1e0], ecx
mov dword [esp + 0x1e4], eax
lea edi, [esp + 0x384]
xor eax, eax
call fcn.0044b776
lea eax, [0x5df520]
mov dword [esp], eax
mov ecx, dword [esp + 0xbc]
mov dword [esp + 4], ecx
call fcn.004071c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x384], eax
mov dword [esp + 0x388], ecx
lea eax, [0x5fc1a0]
mov dword [esp], eax
lea eax, [esp + 0xc8]
mov dword [esp + 4], eax
call fcn.004073b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x38c], ecx
mov dword [esp + 0x390], eax
lea eax, [0x609b00]
mov dword [esp], eax
lea eax, [esp + 0x324]
mov dword [esp + 4], eax
call fcn.004070e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x394], ecx
mov dword [esp + 0x398], eax
lea eax, [0x5dfce0]
mov dword [esp], eax
lea eax, [esp + 0x1e0]
mov dword [esp + 4], eax
call fcn.004072a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x39c], ecx
mov dword [esp + 0x3a0], eax
lea eax, [0x5df520]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call fcn.004071c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x3a4], ecx
mov dword [esp + 0x3a8], eax
lea eax, [0x627feb]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x384]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.00498d40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1d8], eax
mov dword [esp + 0x1dc], ecx
lea eax, [0x65f9f0]
mov dword [esp], eax
lea eax, [esp + 0x1d8]
mov dword [esp + 4], eax
call fcn.00407420
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
jmp 0x4f9f7c
cmp ebp, ebx
jne 0x4f9f26
cmp edx, ecx
jne 0x4f9f26
jmp 0x4f831c
movzx ecx, byte [esp + 0x46b]
test cl, cl
je 0x4fa1c5
mov ecx, dword [esp + 0x470]
test ecx, ecx
je 0x4fa1bc
mov edx, dword [ecx]
mov ecx, dword [esp + 0x44]
xor eax, eax
mov ebp, 3
jmp 0x4f830d
mov ecx, dword [esp + 0x44]
jmp 0x4f830d
mov ecx, dword [esp + 0x44]
jmp 0x4f830d
movzx ecx, byte [esp + 0x46a]
test cl, cl
je 0x4fa20f
mov ecx, dword [esp + 0x470]
test ecx, ecx
je 0x4fa1fe
mov edx, dword [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, dword [esp + 0x44]
mov eax, 0
mov ebp, 1
jmp 0x4f8307
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x74]
jmp 0x4f8307
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x74]
jmp 0x4f8307
mov edi, ecx
mov ecx, dword [esp + 0x470]
test ecx, ecx
je 0x4fa253
mov ecx, dword [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov edi, eax
mov eax, 0
mov eax, 2
mov dword [esp + 0x74], eax
mov edx, ecx
mov ecx, dword [esp + 0x44]
mov eax, 0
jmp 0x4f82fd
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, edi
mov edi, eax
mov eax, 0
mov dword [esp + 0x74], eax
mov eax, edi
jmp 0x4f82fd
mov edx, ebp
jmp 0x4f82da
cmp ebp, 0x12
je 0x4f82ae
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4f82b0
cmp ebp, 0x14
je 0x4f82ae
cmp ebp, 0x16
je 0x4f82ae
cmp ebp, 0x1b
je 0x4f82ae
jmp 0x4fa27b
mov ebp, dword [esp + 0x474]
test ebp, ebp
je 0x4fa2b7
mov ecx, dword [esp + 0x44]
jmp 0x4f82b0
mov ebp, ecx
jmp 0x4fa2ae
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4f82b0
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4fa2d5
mov eax, dword [eax + 4]
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x1f4], eax
lea eax, [0x6209b7]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x1f0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.00498d40
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], ecx
lea eax, [0x65f9f0]
mov dword [esp], eax
lea eax, [esp + 0x1e8]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], ecx
add esp, 0x448
ret
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], esi
mov dword [esp + 0x488], edi
add esp, 0x448
ret
xchg ebp, eax
mov byte [esp + 0x43], al
xchg ebp, eax
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], edi
mov dword [esp], ebx
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov ecx, dword [0x7c9514]
mov dword [esp + 8], ecx
call fcn.00402e20
movzx eax, byte [esp + 0xc]
test al, al
je 0x4fa428
movzx ecx, byte [esp + 0x43]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0xb4]
mov eax, dword [esp + 0xbc]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0x124]
jmp 0x4f822f
mov eax, dword [esp + 0xac]
test eax, eax
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x45c]
mov ebx, dword [esp + 0x50]
jmp 0x4f80e1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4f80c6
mov eax, dword [esp + 0x44c]
mov dword [esp], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x12c]
lea esi, [esp + 0x468]
call fcn.0044bc54
call fcn.004fafd0
movzx eax, byte [esp + 0x24]
test al, al
je 0x4fa4c4
mov eax, dword [esp + 0x464]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x124]
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], edx
add esp, 0x448
ret
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0
lea eax, [0x6275cf]
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], 0x25
lea eax, [0x65f9f0]
mov dword [esp], eax
lea eax, [esp + 0x1f8]
mov dword [esp + 4], eax
call fcn.00407420
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xbc]
jmp 0x4fa4a8
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0
lea eax, [0x622ec3]
mov dword [esp + 0x208], eax
mov dword [esp + 0x20c], 0x19
lea eax, [0x65f9f0]
mov dword [esp], eax
lea eax, [esp + 0x208]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], eax
mov dword [esp + 0x488], ecx
add esp, 0x448
ret
mov eax, 2
jmp 0x4f8081
mov eax, dword [esp + 0xbc]
mov eax, ebx
mov ebx, edi
mov edi, ecx
mov ecx, ebp
mov ebp, eax
mov eax, dword [esp + 0xbc]
mov eax, edx
mov edx, esi
mov esi, eax
mov eax, dword [esp + 0xbc]
jmp 0x4f822f
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], edx
mov dword [esp + 0x488], ecx
add esp, 0x448
ret
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jne 0x4f8000
mov eax, dword [esp + 0x458]
mov dword [esp], eax
mov ecx, dword [esp + 0x45c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x460]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x464]
mov dword [esp + 0xc], ebx
call fcn.004f72f0
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
test esi, esi
jne 0x4faf81
mov dword [esp + 0xa0], edx
mov dword [esp + 0xbc], ebp
add edx, eax
cmp edx, eax
jge 0x4faf5f
mov dword [esp + 0xc0], eax
mov eax, 1
mov byte [esp + 0x41], al
mov eax, dword [esp + 0xc0]
movzx ebp, byte [esp + 0x41]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4faeec
mov dword [esp + 0xb4], edx
test cl, cl
je 0x4fa7b3
xor eax, eax
xor ecx, ecx
test esi, esi
jne 0x4fa797
mov dword [esp + 0xb8], esi
mov dword [esp + 0x124], ebx
test eax, eax
je 0x4fa748
movzx ebp, byte [0x7c9b68]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4fa6e8
mov dword [0x7c9b6c], eax
mov ebp, dword [0x7db370]
test ebp, ebp
jne 0x4fa781
mov dword [0x7c9b70], ecx
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], ecx
mov eax, dword [esp + 0x158]
test eax, eax
je 0x4fa779
movzx ebp, byte [eax + 0xf]
mov edi, ebp
and ebp, 0x1f
xchg edi, eax
test al, 0x20
xchg edi, eax
jne 0x4fa717
or ebp, 0x80
mov edx, dword [esp + 0x44c]
mov dword [esp], edx
mov edx, dword [esp + 0x450]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x454]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
call fcn.0048e150
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x488], eax
add esp, 0x448
ret
xor ebp, ebp
xor ecx, ecx
xor eax, eax
jmp 0x4fa717
lea edi, [0x7c9b70]
mov ebp, eax
mov eax, ecx
call fcn.0044b680
mov eax, ebp
jmp 0x4fa6e8
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], esi
mov dword [esp + 0x488], ebx
add esp, 0x448
ret
test edi, edi
jne 0x4faee3
cmp eax, edx
ja 0x4fafb2
mov ebp, dword [esp + 0x460]
cmp edx, ebp
ja 0x4fafb2
sub ebp, eax
mov ecx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
mov eax, edx
mov edx, dword [esp + 0x458]
mov edi, ebx
lea ebx, [edx + ebp]
mov dword [esp + 0x108], ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, 0xc
jg 0x4fabd2
cmp ebx, 3
jg 0x4faa4b
cmp ebx, 2
je 0x4fa9de
cmp ebx, 3
jne 0x4fa9d1
mov ebx, dword [esp + 0xa0]
test ebx, ebx
je 0x4fa975
movzx edx, byte [edx + ebp]
movzx ebp, dl
cmp ebp, 7
jle 0x4fa906
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0
lea eax, [0x626810]
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], 0x22
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x210]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x104], ecx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x284], ebp
mov dword [esp + 0x288], ebx
mov dword [esp + 0x28c], edx
mov dword [esp + 0x290], esi
lea edx, [0x5ff280]
mov dword [esp], edx
lea edx, [esp + 0x284]
mov dword [esp + 4], edx
call fcn.004070e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x104]
mov ebx, dword [esp + 0x9c]
mov esi, ebx
mov ebx, edx
mov edx, dword [esp + 0xb4]
mov ebp, eax
mov eax, ecx
mov ecx, ebp
jmp 0x4fa6a3
cmp ebx, 1
jne 0x4fa913
test ebp, ebp
jg 0x4fa840
mov dword [esp + 0xbc], ecx
mov esi, dword [esp + 0x108]
movzx edi, byte [ebx + esi - 1]
mov ecx, edx
mov eax, 1
shl eax, cl
cmp cl, 0x20
sbb edx, edx
and edx, eax
lea eax, [edx - 1]
xchg edi, ebx
test al, bl
xchg edi, ebx
jne 0x4fa840
dec ebx
mov edi, ebx
shl ebx, 3
sub ebx, ebp
mov eax, edi
mov edi, dword [esp + 0xbc]
lea edx, [edi - 1]
mov edi, edx
neg edx
sar edx, 0x1f
and edx, 1
lea ebp, [esi + edx]
mov edx, edi
xor ecx, ecx
mov esi, ebx
mov ebx, eax
xor eax, eax
jmp 0x4fa897
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], 0
lea eax, [0x621da5]
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], 0x16
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x218]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4fa897
mov edx, edi
mov ebx, esi
xor ecx, ecx
xor eax, eax
jmp 0x4fa8f0
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f5b80
mov eax, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
lea ebp, [0x5df5e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00407220
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0xb8]
jmp 0x4fa8f0
cmp ebx, 4
je 0x4fab6d
cmp ebx, 6
je 0x4faae4
cmp ebx, 0xc
jne 0x4fa9d1
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f7200
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
lea edx, [0x5dfce0]
mov dword [esp], edx
lea edx, [esp + 0x170]
mov dword [esp + 4], edx
call fcn.004072a0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0xb8]
jmp 0x4fa8f0
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f6500
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp + 0x238], eax
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x124], ecx
lea edx, [0x5ee300]
mov dword [esp], edx
lea edx, [esp + 0x238]
mov dword [esp + 4], edx
call fcn.00407320
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0xb8]
jmp 0x4fa8f0
mov dword [esp + 0x124], edi
mov dword [esp + 0xb8], esi
mov eax, dword [esp + 0x108]
mov dword [esp + 0x268], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], ecx
lea eax, [0x5d2f60]
mov dword [esp], eax
lea eax, [esp + 0x268]
mov dword [esp + 4], eax
call fcn.00407320
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0xb8]
jmp 0x4fa8f0
cmp ebx, 0x14
jg 0x4fad54
cmp ebx, 0x12
je 0x4facd6
cmp ebx, 0x13
je 0x4fac58
cmp ebx, 0x14
jne 0x4fa9d1
mov dword [esp], 0
mov eax, dword [esp + 0x108]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.0043af60
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x224], eax
lea eax, [0x5dfce0]
mov dword [esp], eax
lea eax, [esp + 0x220]
mov dword [esp + 4], eax
call fcn.004072a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
jmp 0x4fa8f0
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f6f90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
lea edx, [0x5dfce0]
mov dword [esp], edx
lea edx, [esp + 0x188]
mov dword [esp + 4], edx
call fcn.004072a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0xb8]
jmp 0x4fa8f0
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f6ea0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
lea edx, [0x5dfce0]
mov dword [esp], edx
lea edx, [esp + 0x180]
mov dword [esp + 4], edx
call fcn.004072a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0xb8]
jmp 0x4fa8f0
cmp ebx, 0x16
je 0x4fae65
cmp ebx, 0x17
je 0x4fadea
cmp ebx, 0x18
jne 0x4fa9d1
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f6c70
lea edi, [esp + 0x2a8]
mov esi, dword [esp + 0x128]
call fcn.0044bc5e
mov eax, dword [esp + 0x24]
mov dword [esp + 0x124], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xb8], ecx
lea edx, [0x619960]
mov dword [esp], edx
lea edx, [esp + 0x2a8]
mov dword [esp + 4], edx
call fcn.004070e0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0xb8]
jmp 0x4fa8f0
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f6940
lea edi, [esp + 0x2bc]
mov esi, dword [esp + 0x128]
call fcn.0044bc5e
mov eax, dword [esp + 0x20]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x124], ecx
lea edx, [0x619960]
mov dword [esp], edx
lea edx, [esp + 0x2bc]
mov dword [esp + 4], edx
call fcn.004070e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0xb8]
jmp 0x4fa8f0
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004f7120
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x17c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x124], ecx
lea edx, [0x5dfce0]
mov dword [esp], edx
lea edx, [esp + 0x178]
mov dword [esp + 4], edx
call fcn.004072a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x124]
mov ebx, dword [esp + 0xb8]
jmp 0x4fa8f0
xor eax, eax
xor ecx, ecx
jmp 0x4fa6a3
mov dword [esp + 0x58], eax
mov dword [esp + 0x228], 0
mov dword [esp + 0x22c], 0
lea eax, [0x61e9ca]
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], 0xe
lea eax, [0x65fa10]
mov dword [esp], eax
lea eax, [esp + 0x228]
mov dword [esp + 4], eax
call fcn.00407420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x480], edx
mov dword [esp + 0x484], ecx
mov dword [esp + 0x488], eax
add esp, 0x448
ret
mov ebp, dword [esp + 0x45c]
cmp edx, ebp
xchg ebp, ebx
setg bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0x41], al
xchg ebp, eax
mov ebp, dword [esp + 0xbc]
jmp 0x4fa681
mov dword [esp + 0x480], eax
mov dword [esp + 0x484], esi
mov dword [esp + 0x488], ebx
add esp, 0x448
ret
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.004259a0
ud2
call fcn.00449f20
jmp fcn.004f7e80