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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x39c]
cmp eax, dword [ecx + 8]
jbe 0x4bd22c
sub esp, 0x41c
mov eax, 0
lea edi, [esp + 0x27c]
call fcn.004485c6
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], eax
lea edi, [esp + 0x154]
call fcn.004485c8
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
call fcn.00489c80
lea edi, [esp + 0xc]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x438]
mov ebx, dword [esp + 0x430]
cmp edx, ebx
jne 0x4ba5f3
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
lea esi, [esp + 0x43c]
call fcn.00448aa4
call fcn.004bd240
movzx eax, byte [esp + 0x24]
test al, al
je 0x4ba5ad
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x438]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov dword [esp + 0x150], 0
lea eax, [0x5fc463]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], 0x12
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x14c]
mov dword [esp + 4], eax
call fcn.0040ab00
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
jmp 0x4ba58a
mov dword [esp + 0x140], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ecx
mov edx, dword [ecx + 0x50]
mov dword [esp], eax
call edx
lea eax, [esp + 0xc]
mov dword [esp + 0x13c], eax
mov ecx, dword [esp + 4]
cmp ecx, 0x14
je 0x4bc911
mov eax, dword [esp + 0x42c]
mov dword [esp], eax
mov ecx, dword [esp + 0x430]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x434]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x438]
mov dword [esp + 0xc], ebx
call fcn.004b9970
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
test esi, esi
jne 0x4bc8f5
mov dword [esp + 0x90], eax
movzx eax, byte [esp + 0x43d]
test al, al
je 0x4bc8cf
movzx eax, byte [esp + 0x43e]
test al, al
je 0x4bc8c5
mov eax, 1
mov byte [esp + 0x43], cl
mov dword [esp + 0x8c], edx
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x430]
cmp ecx, edx
je 0x4bc85e
mov dword [esp + 0x138], esi
mov dword [esp + 0x134], edi
cmp eax, ebx
jne 0x4bc79f
mov eax, dword [esp + 0x444]
mov eax, dword [eax]
cmp ebp, eax
jne 0x4bc79f
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x8c]
test eax, eax
jne 0x4bc78a
mov dword [esp + 0x84], ebp
mov ebx, dword [0x78d660]
mov ebp, dword [esp + 0xc0]
cmp ebx, ebp
je 0x4bc6ff
test eax, eax
jg 0x4ba821
mov eax, dword [0x78d648]
cmp ebp, eax
je 0x4ba79c
mov dword [esp + 0x1e8], 0
lea eax, [0x606a84]
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], 0x2d
lea eax, [0x699c20]
mov dword [esp], eax
lea eax, [esp + 0x1e4]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp], ebp
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [0x78d64c]
mov dword [esp + 8], eax
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ba735
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004892c0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, dword [esp + 0x42c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x434]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.004b9970
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 + 0x28]
mov edi, dword [esp + 0x24]
test edi, edi
jne 0x4bc6e3
mov dword [esp + 0x138], edi
mov dword [esp + 0x134], esi
mov byte [esp + 0x42], cl
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0xc0]
mov dword [esp], esi
mov edi, dword [esp + 0xc4]
mov dword [esp + 4], edi
call fcn.004bd9d0
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0xc]
movzx edx, byte [esp + 0x10]
movzx ebx, byte [esp + 0x11]
test bl, bl
je 0x4bc617
cmp ecx, 0x13
jne 0x4bc608
mov ebx, dword [esp + 0x4c]
test ebx, ebx
jne 0x4bc5f0
mov ebp, dword [esp + 0x44]
cmp ebp, 0x12
jg 0x4bc5d3
cmp ebp, 0xc
jne 0x4bc5bf
mov ecx, ebp
cmp ebp, 0x17
jne 0x4ba8ff
cmp ecx, 0x18
jne 0x4ba8ff
test ebx, ebx
jne 0x4ba8ff
mov ebp, 0x18
mov esi, edx
movzx edx, byte [esp + 0x450]
test dl, dl
je 0x4bc5b8
mov edx, 0x11
movzx ebp, byte [esp + 0x43d]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4bc56e
mov ebp, eax
mov edi, edx
mov eax, 0
mov dword [esp + 0x70], eax
mov eax, ebp
je 0x4bc52b
mov dword [esp + 0x6c], edx
test al, al
je 0x4bc512
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4bc298
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x50]
lea ebp, [edx + eax]
cmp ebp, edx
jge 0x4bc283
mov esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4bc21f
cmp edx, ebp
ja 0x4bd217
mov esi, dword [esp + 0x434]
cmp ebp, esi
ja 0x4bd217
mov dword [esp + 0x90], edi
mov dword [esp + 0x8c], ebp
sub esi, edx
mov dword [esp + 0x78], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edx, esi
mov dword [esp + 0x88], edx
mov esi, dword [esp + 0x42c]
lea ecx, [esi + edx]
mov dword [esp + 0x11c], ecx
mov ecx, dword [0x78d660]
mov ebx, dword [esp + 0xc0]
cmp ecx, ebx
je 0x4bc074
mov ecx, dword [0x78d650]
cmp ecx, ebx
je 0x4bbe81
mov ecx, dword [0x78d638]
cmp ecx, ebx
je 0x4bbc2e
mov ecx, dword [0x78d668]
cmp ecx, ebx
je 0x4bba30
mov ecx, dword [0x78d640]
cmp ecx, ebx
je 0x4bb942
mov ecx, dword [0x78d648]
cmp ecx, ebx
je 0x4bb895
mov ecx, dword [0x78d630]
cmp ecx, ebx
je 0x4bb781
mov ecx, dword [esp + 0x428]
and ecx, 0x1f
cmp ecx, 6
ja 0x4badc1
cmp ecx, 1
jne 0x4bab81
cmp eax, 1
jne 0x4bab2f
movzx eax, byte [esi + edx]
test al, al
jne 0x4baacd
xor eax, eax
xor ecx, ecx
xor edx, edx
test ecx, ecx
je 0x4baa7f
mov dword [esp + 0x454], ebp
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp + 0x108], eax
mov dword [esp + 0xdc], ecx
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov byte [esp + 0xc], dl
call fcn.004892c0
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0xdc]
mov ebp, dword [esp + 0x8c]
jmp 0x4baa63
cmp al, 0xff
jne 0x4baadd
xor eax, eax
xor ecx, ecx
mov edx, 1
jmp 0x4baa5f
mov dword [esp + 0x198], 0
lea eax, [0x5fa178]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], 0xf
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x194]
mov dword [esp + 4], eax
call fcn.0040ab00
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x8c]
xor edx, edx
jmp 0x4baa5f
mov dword [esp + 0x1a0], 0
lea eax, [0x5fa178]
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], 0xf
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x19c]
mov dword [esp + 4], eax
call fcn.0040ab00
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebp, dword [esp + 0x8c]
xor edx, edx
jmp 0x4baa5f
cmp ecx, 2
jne 0x4bacdf
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
call fcn.00489c80
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 0x4bac68
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004b86b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x4bac1e
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x104], edx
mov ecx, dword [esp + 0x420]
mov dword [esp], ecx
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x428]
mov dword [esp + 8], ecx
sar eax, 0x1f
mov dword [esp + 0x10], eax
call fcn.00489650
mov ecx, dword [esp + 0xe0]
mov edx, dword [esp + 0x104]
jmp 0x4babfb
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004b8430
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x4bac9c
mov edx, ecx
mov ecx, eax
jmp 0x4babfb
mov dword [esp + 0xe4], eax
mov dword [esp + 0xfc], ecx
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
call fcn.00489650
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xfc]
jmp 0x4bac93
add ecx, 0xfffffffb
cmp ecx, 1
jbe 0x4bab8a
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
call fcn.00489c80
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 + 0x174], 0
mov dword [esp + 0x178], 0
mov dword [esp], 0
lea edx, [0x5f848f]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00437f50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], ecx
lea eax, [0x699c20]
mov dword [esp], eax
lea eax, [esp + 0x174]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
cmp ecx, 0x17
je 0x4bb54e
cmp ecx, 0x18
jne 0x4bb067
cmp edi, 0x13
jg 0x4bafbc
cmp edi, 0xc
je 0x4baf8c
cmp edi, 0x12
je 0x4baf5c
cmp edi, 0x13
je 0x4baf2c
mov dword [esp + 0x94], edi
mov dword [esp + 0x184], 0
mov dword [esp + 0x188], 0
lea eax, [0x5cd0e0]
mov dword [esp], eax
lea eax, [esp + 0x94]
mov dword [esp + 4], eax
call fcn.0040a880
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], ecx
lea eax, [0x605900]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0x184]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004940e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x180], 0
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], ecx
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
test eax, eax
je 0x4baee1
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov dword [esp + 0x138], ecx
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00489880
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
jmp 0x4baebe
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004b9600
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4baeba
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004b9510
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4baeba
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004b9870
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4baeba
cmp edi, 0x14
je 0x4bb033
cmp edi, 0x16
je 0x4bb003
cmp edi, 0x1b
jne 0x4badf7
mov dword [esp], 0
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
call fcn.004380d0
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
jmp 0x4baeba
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004b9790
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4baeba
mov dword [esp], 0
mov ecx, dword [esp + 0x11c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xc], eax
call fcn.004380d0
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
xor ecx, ecx
xor eax, eax
jmp 0x4baeba
cmp ecx, 0x19
jne 0x4baceb
lea ecx, [esp + 8]
mov dword [esp + 0x130], ecx
xor edx, edx
jmp 0x4bb08d
mov eax, dword [esp + 0x64]
lea edx, [eax + 1]
mov ebx, dword [esp + 0xc0]
mov dword [esp + 0x64], edx
mov eax, dword [ebx + 0x64]
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
cmp ecx, eax
jge 0x4bb14f
mov eax, dword [esp + 0xc0]
mov edx, dword [eax + 0x2c]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call edx
lea edi, [esp + 0x3e8]
mov esi, dword [esp + 0x130]
call fcn.00448a5e
mov eax, dword [esp + 0x3f4]
test eax, eax
je 0x4bb07f
mov dword [esp + 0x190], 0
lea eax, [0x6042f3]
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], 0x21
lea eax, [0x699c20]
mov dword [esp], eax
lea eax, [esp + 0x18c]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jg 0x4bb3cb
lea eax, [esp + 8]
mov dword [esp + 0x12c], eax
lea ecx, [esp + 0x1c]
mov dword [esp + 0x128], ecx
xor edx, edx
xor ebx, ebx
mov ebp, dword [esp + 0x134]
mov esi, dword [esp + 0x138]
jmp 0x4bb1a8
mov edi, dword [esp + 0x68]
inc edi
mov ebx, eax
mov ebp, edx
mov esi, ecx
mov edx, edi
mov dword [esp + 0x138], ebp
mov dword [esp + 0x134], esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x64]
mov edi, dword [esp + 0xc4]
mov dword [esp], edi
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
jge 0x4bb39a
mov eax, dword [esp + 0xc0]
mov edx, dword [eax + 0x2c]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call edx
lea edi, [esp + 0x380]
mov esi, dword [esp + 0x130]
call fcn.00448a5e
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x4bb267
mov ecx, dword [esp + 0x390]
mov edx, dword [esp + 0x394]
mov ebx, dword [0x78d658]
cmp ebx, ecx
jne 0x4bb267
mov dword [esp], ecx
mov dword [esp + 4], edx
mov eax, dword [0x78d65c]
mov dword [esp + 8], eax
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
je 0x4bb267
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
jmp 0x4bb19b
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xc], ebx
call fcn.00487f60
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x124], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x120], edx
mov ebx, dword [esp + 0x398]
mov ebp, dword [esp + 0x39c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
lea ebx, [0x5f0711]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 4
call fcn.00482560
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004bd4c0
lea edi, [esp + 0x2e0]
mov esi, dword [esp + 0x12c]
call fcn.00448aa4
mov eax, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x11c]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x18], ebx
mov edi, dword [esp + 0x128]
lea esi, [esp + 0x2e0]
call fcn.00448aa4
call fcn.004ba4b0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
test ecx, ecx
je 0x4bb19b
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x2c]
mov dword [esp + 4], 0
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call ecx
lea edi, [esp + 0x3b4]
mov esi, dword [esp + 0x130]
call fcn.00448a5e
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3c8]
mov edx, dword [0x78d658]
cmp edx, eax
jne 0x4bb171
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0x78d65c]
mov dword [esp + 8], eax
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
je 0x4bb171
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x8c]
cmp eax, ecx
ja 0x4bd202
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0
call fcn.00487f60
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x124], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x120], edx
mov ebx, dword [esp + 0x434]
mov ebp, dword [esp + 0x438]
sub ebx, ebp
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
mov edi, dword [esp + 0x42c]
add ebx, edi
mov dword [esp + 0x224], ebx
mov ebx, dword [esp + 0x8c]
sub ebx, ebp
mov dword [esp + 0x228], ebx
mov dword [esp + 0x22c], esi
lea ebx, [0x5cddc0]
mov dword [esp], ebx
lea ebx, [esp + 0x224]
mov dword [esp + 4], ebx
call fcn.0040aa00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048a5e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x120]
mov dword [esp], ebx
mov ebx, dword [esp + 0x124]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004891e0
jmp 0x4bb171
mov eax, dword [ebx + 0x28]
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
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
je 0x4bb65f
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x11c]
mov dword [esp], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x78]
mov dword [esp + 8], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc4]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004ba010
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x2c]
test ebx, ebx
je 0x4bb610
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ebx
mov dword [esp + 0x45c], ebp
add esp, 0x41c
ret
mov dword [esp + 0xe8], ebx
mov dword [esp + 0xf0], ebp
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004891e0
mov ebx, dword [esp + 0xe8]
mov ebp, dword [esp + 0xf0]
jmp 0x4bb5ed
mov eax, dword [esp + 0xc0]
mov dword [esp], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0048a3d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebp, dword [esp + 0x424]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x428]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004891e0
mov eax, dword [esp + 0x11c]
mov dword [esp + 0x218], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x21c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x220], eax
lea eax, [0x5c4e20]
mov dword [esp], eax
lea eax, [esp + 0x218]
mov dword [esp + 4], eax
call fcn.0040aa00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048a5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.0048a080
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0x78d634]
mov dword [esp + 8], ecx
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4bb7d3
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x4baa2c
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004b8870
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x4bb825
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0xd0], ecx
mov dword [esp + 0x110], edx
lea ecx, [0x5ef4e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0048a5e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.004891e0
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x110]
jmp 0x4bb802
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0x78d64c]
mov dword [esp + 8], ecx
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4bb8e7
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x4baa1e
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004892c0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0x78d644]
mov dword [esp + 8], ecx
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4bb994
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x4baa10
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004b86b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
je 0x4bb9e6
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x10c], edx
mov ecx, dword [esp + 0x420]
mov dword [esp], ecx
mov ecx, dword [esp + 0x424]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x428]
mov dword [esp + 8], ecx
sar eax, 0x1f
mov dword [esp + 0x10], eax
call fcn.00489650
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x10c]
jmp 0x4bb9c3
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0x78d66c]
mov dword [esp + 8], ecx
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
je 0x4bbc02
lea edi, [esp + 0x268]
xor eax, eax
call fcn.004485cb
mov ecx, dword [esp + 0x90]
cmp ecx, 0x17
jne 0x4bbba4
lea edi, [esp + 0x2cc]
call fcn.004485cb
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
call fcn.004b8fb0
lea edi, [esp + 0x2cc]
mov esi, dword [esp + 0x13c]
call fcn.00448aae
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xec], ecx
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x268]
lea esi, [esp + 0x2cc]
call fcn.00448aae
mov eax, dword [esp + 0xec]
test eax, eax
je 0x4bbb06
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x454], ecx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0x100], edx
mov dword [esp + 0xec], eax
lea edi, [esp + 0x2a4]
lea esi, [esp + 0x268]
call fcn.00448aae
lea eax, [0x5ed740]
mov dword [esp], eax
lea eax, [esp + 0x2a4]
mov dword [esp + 4], eax
call fcn.0040a7a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048a5e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004891e0
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x100]
jmp 0x4bbae3
lea edi, [esp + 0x2b8]
call fcn.004485cb
mov ecx, dword [esp + 0x11c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 8], ecx
call fcn.004b92e0
lea edi, [esp + 0x2b8]
mov esi, dword [esp + 0x13c]
call fcn.00448aae
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
lea edi, [esp + 0x268]
lea esi, [esp + 0x2b8]
call fcn.00448aae
jmp 0x4bbadf
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x4baa02
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0x78d63c]
mov dword [esp + 8], ecx
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
je 0x4bbe55
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4bbe04
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x42c]
movzx ecx, byte [ebx + edx]
movzx edx, cl
cmp edx, 7
jle 0x4bbd9c
mov dword [esp + 0x1a8], 0
lea eax, [0x6045b8]
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], 0x22
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x1a4]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
test eax, eax
je 0x4bbcf5
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov dword [esp + 0xd8], eax
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x248], edx
mov dword [esp + 0x24c], ebx
mov dword [esp + 0x250], ebp
mov dword [esp + 0x254], esi
lea eax, [0x5deee0]
mov dword [esp], eax
lea eax, [esp + 0x248]
mov dword [esp + 4], eax
call fcn.0040a7a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048a5e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.004891e0
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xf8]
jmp 0x4bbcd2
cmp eax, 1
jne 0x4bbda9
test edx, edx
jg 0x4bbc82
lea ebx, [eax - 1]
cmp ebx, eax
jae 0x4bd209
mov ebp, dword [esp + 0x11c]
movzx eax, byte [eax + ebp - 1]
mov esi, 1
shl esi, cl
cmp cl, 0x20
sbb edi, edi
and esi, edi
dec esi
xchg esi, ebx
test bl, al
xchg esi, ebx
jne 0x4bbc82
mov esi, ebx
shl esi, 3
sub esi, edx
mov edi, dword [esp + 0x78]
dec edi
mov eax, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
lea edx, [ebp + edi]
mov ebp, eax
xor eax, eax
xor ecx, ecx
jmp 0x4bbcce
mov dword [esp + 0x1b0], 0
lea eax, [0x5ff460]
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], 0x16
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x1ac]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4bbcce
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x4ba9f4
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0x78d654]
mov dword [esp + 8], ecx
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4bbed3
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x4ba9e6
mov eax, dword [esp + 0x11c]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.004b8b90
mov eax, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xd4], ebx
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0xf4], ebp
mov esi, dword [esp + 0x420]
mov dword [esp], esi
mov edi, dword [esp + 0x424]
mov dword [esp + 4], edi
mov edx, dword [esp + 0x428]
mov dword [esp + 8], edx
call fcn.00489c80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
call fcn.0048a3d0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebp, dword [esp + 0x424]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x428]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.004891e0
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x4bbfda
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x454], ecx
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x234], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x238], eax
lea eax, [0x5c3ce0]
mov dword [esp], eax
lea eax, [esp + 0x230]
mov dword [esp + 4], eax
call fcn.0040aa00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048a5e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], eax
call fcn.0048a080
mov eax, dword [esp + 0xd4]
jmp 0x4bbfb0
mov dword [esp], ebx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0x78d664]
mov dword [esp + 8], ecx
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
je 0x4bc1f3
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x8c]
cmp eax, ecx
ja 0x4bd210
lea edi, [esp + 0x310]
lea esi, [0x69a220]
call fcn.00448a86
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x310], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x314], ecx
movzx ecx, byte [esp + 0x42]
mov byte [esp + 0x318], cl
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x31c], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x320], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x324], ecx
mov ecx, dword [esp + 0x434]
sub ecx, eax
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x42c]
add ecx, ebx
mov dword [esp + 0x328], ecx
mov ecx, dword [esp + 0x8c]
sub ecx, eax
mov dword [esp + 0x32c], ecx
mov dword [esp + 0x330], edx
lea edi, [esp + 0x334]
lea esi, [esp + 0x310]
call fcn.00448a86
lea eax, [0x5df2e0]
mov dword [esp], eax
lea eax, [esp + 0x334]
mov dword [esp + 4], eax
call fcn.0040a7a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0048a5e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
call fcn.004891e0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x458], eax
mov eax, dword [esp + 0x134]
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x42c]
mov edi, dword [esp + 0x90]
jmp 0x4ba9d8
mov dword [esp + 0x1b8], 0
lea eax, [0x5f91ba]
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], 0xe
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x1b4]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], eax
mov dword [esp + 0x45c], ecx
add esp, 0x41c
ret
mov esi, dword [esp + 0x430]
cmp ebp, esi
xchg esi, ebx
setg bl
xchg esi, ebx
jmp 0x4ba96b
movzx eax, byte [esp + 0x42]
xchg esi, ebx
cmp al, bl
xchg esi, ebx
je 0x4ba953
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x43c]
call fcn.00448aa4
call fcn.004bd240
movzx eax, byte [esp + 0x24]
test al, al
je 0x4bc31b
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xb8], eax
movzx eax, byte [esp + 0x42]
mov byte [esp + 0xbc], al
lea edi, [esp + 0x2f8]
lea esi, [esp + 0x43c]
call fcn.00448aa4
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 0x60]
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x98], eax
lea edi, [esp + 0x358]
xor eax, eax
call fcn.004485c6
lea eax, [0x5cd0e0]
mov dword [esp], eax
lea ecx, [esp + 0x9c]
mov dword [esp + 4], ecx
call fcn.0040a880
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0x358], ecx
mov dword [esp + 0x35c], eax
lea eax, [0x5dd180]
mov dword [esp], eax
lea eax, [esp + 0xb0]
mov dword [esp + 4], eax
call fcn.0040aa90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x360], eax
mov dword [esp + 0x364], ecx
lea eax, [0x5e4f60]
mov dword [esp], eax
lea eax, [esp + 0x2f8]
mov dword [esp + 4], eax
call fcn.0040a7a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x368], eax
mov dword [esp + 0x36c], ecx
lea eax, [0x5cd8e0]
mov dword [esp], eax
lea eax, [esp + 0x1c4]
mov dword [esp + 4], eax
call fcn.0040a970
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x370], eax
mov dword [esp + 0x374], ecx
lea eax, [0x5cd0e0]
mov dword [esp], eax
lea eax, [esp + 0x98]
mov dword [esp + 4], eax
call fcn.0040a880
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x378], eax
mov dword [esp + 0x37c], ecx
lea eax, [0x605d38]
mov dword [esp], eax
mov dword [esp + 4], 0x27
lea eax, [esp + 0x358]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
mov dword [esp + 0x10], 5
call fcn.004940e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
lea eax, [0x699c20]
mov dword [esp], eax
lea eax, [esp + 0x1bc]
mov dword [esp + 4], eax
call fcn.0040ab00
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x50]
jmp 0x4bc2ff
mov eax, dword [esp + 0x70]
cmp eax, ebx
jne 0x4bc2a9
cmp edx, ecx
jne 0x4bc2a9
jmp 0x4ba949
movzx ecx, byte [esp + 0x43e]
test cl, cl
je 0x4bc565
mov ecx, dword [esp + 0x444]
test ecx, ecx
je 0x4bc55c
mov edx, dword [ecx]
mov ecx, dword [esp + 0x44]
xor eax, eax
mov ecx, 1
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x44]
jmp 0x4ba93d
mov ecx, dword [esp + 0x44]
jmp 0x4ba93d
mov ecx, dword [esp + 0x44]
jmp 0x4ba93d
mov edi, ecx
mov ecx, dword [esp + 0x444]
test ecx, ecx
je 0x4bc59e
mov ecx, dword [ecx]
xchg ebp, eax
test al, al
xchg ebp, eax
mov ebp, eax
mov edi, edx
mov eax, 0
mov edx, 2
mov dword [esp + 0x70], edx
mov edx, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4ba937
xchg ebp, eax
test al, al
xchg ebp, eax
mov ecx, edi
mov ebp, eax
mov edi, edx
mov eax, 0
mov dword [esp + 0x70], eax
mov eax, ebp
jmp 0x4ba937
mov edx, ebp
jmp 0x4ba916
cmp ebp, 0x12
je 0x4ba8ea
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4ba8ec
cmp ebp, 0x14
je 0x4ba8ea
cmp ebp, 0x16
je 0x4ba8ea
cmp ebp, 0x1b
je 0x4ba8ea
jmp 0x4bc5c8
mov ebp, dword [esp + 0x448]
test ebp, ebp
je 0x4bc604
mov ecx, dword [esp + 0x44]
jmp 0x4ba8ec
mov ebp, ecx
jmp 0x4bc5fb
mov ebx, dword [esp + 0x4c]
mov ebp, ecx
mov ecx, dword [esp + 0x44]
jmp 0x4ba8ec
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x4bc625
mov eax, dword [eax + 4]
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1d4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x1d8], eax
lea eax, [0x5fd306]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x1d4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004940e0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x1d0], eax
lea eax, [0x699c20]
mov dword [esp], eax
lea eax, [esp + 0x1cc]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], edi
mov dword [esp + 0x45c], esi
add esp, 0x41c
ret
mov dword [esp], ebp
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov ecx, dword [0x78d664]
mov dword [esp + 8], ecx
call fcn.00402130
movzx eax, byte [esp + 0xc]
test al, al
je 0x4bc759
mov edx, dword [esp + 0x8c]
movzx ecx, byte [esp + 0x43]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x138]
mov esi, dword [esp + 0x134]
jmp 0x4ba868
mov eax, dword [esp + 0x8c]
test eax, eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x430]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0x138]
mov edi, dword [esp + 0x134]
jmp 0x4ba725
movzx ebx, byte [esp + 0x43]
test bl, bl
je 0x4bc79f
mov ebx, dword [esp + 0x88]
jmp 0x4ba707
mov eax, dword [esp + 0x420]
mov dword [esp], eax
mov eax, dword [esp + 0x424]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x428]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x140]
lea esi, [esp + 0x43c]
call fcn.00448aa4
call fcn.004bd240
movzx eax, byte [esp + 0x24]
test al, al
je 0x4bc811
mov eax, dword [esp + 0x438]
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x134]
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], edx
add esp, 0x41c
ret
mov dword [esp + 0x1e0], 0
lea eax, [0x604fff]
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1e0], 0x25
lea eax, [0x699c20]
mov dword [esp], eax
lea eax, [esp + 0x1dc]
mov dword [esp + 4], eax
call fcn.0040ab00
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x90]
jmp 0x4bc7f5
mov dword [esp + 0x1f0], 0
lea eax, [0x600dd3]
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], 0x19
lea eax, [0x699c20]
mov dword [esp], eax
lea eax, [esp + 0x1ec]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x90]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov eax, 2
jmp 0x4ba6a9
mov eax, dword [esp + 0x90]
mov eax, ebx
mov ebx, ebp
mov ebp, eax
mov eax, dword [esp + 0x90]
mov eax, edi
mov edi, esi
mov esi, eax
mov eax, dword [esp + 0x90]
jmp 0x4ba868
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], esi
mov dword [esp + 0x45c], edi
add esp, 0x41c
ret
mov eax, dword [esp + 0xc0]
mov ecx, dword [eax + 0x6c]
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
jne 0x4ba628
mov eax, dword [esp + 0x42c]
mov dword [esp], eax
mov ecx, dword [esp + 0x430]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x434]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x438]
mov dword [esp + 0xc], ebx
call fcn.004b9970
mov eax, dword [esp + 0x20]
movzx ecx, byte [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
test esi, esi
jne 0x4bd1e6
mov dword [esp + 0x74], edx
mov dword [esp + 0x90], ebx
add edx, eax
cmp edx, eax
jge 0x4bd1ca
mov dword [esp + 0xa0], eax
mov eax, 1
mov byte [esp + 0x41], al
mov eax, dword [esp + 0xa0]
movzx ebx, byte [esp + 0x41]
test bl, bl
jne 0x4bd162
mov dword [esp + 0x8c], edx
test cl, cl
je 0x4bca89
xor eax, eax
xor ecx, ecx
test esi, esi
jne 0x4bca6d
test ecx, ecx
jne 0x4bc9fc
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], esi
mov dword [esp + 0x45c], ebp
add esp, 0x41c
ret
mov dword [esp + 0x138], ebp
mov dword [esp + 0x134], esi
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0048a5e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x420]
mov dword [esp], ebx
mov ebx, dword [esp + 0x424]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x428]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
call fcn.004891e0
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x138]
mov esi, dword [esp + 0x134]
jmp 0x4bc9e0
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], esi
mov dword [esp + 0x45c], ebp
add esp, 0x41c
ret
test edi, edi
jne 0x4bd159
cmp eax, edx
ja 0x4bd225
mov ebx, dword [esp + 0x434]
cmp edx, ebx
ja 0x4bd225
sub ebx, eax
mov dword [esp + 0x7c], ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
mov eax, dword [esp + 0x42c]
mov ecx, edx
lea edx, [eax + ebx]
mov edi, dword [esp + 0x90]
cmp edi, 0xc
jg 0x4bce70
cmp edi, 3
jg 0x4bccfb
cmp edi, 2
je 0x4bcc83
cmp edi, 3
jne 0x4bcc76
mov ebp, dword [esp + 0x74]
test ebp, ebp
je 0x4bcc25
movzx eax, byte [eax + ebx]
movzx ebx, al
cmp ebx, 7
jle 0x4bcbbd
mov dword [esp + 0x1f8], 0
lea eax, [0x6045b8]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], 0x22
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x1f4]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], ecx
mov dword [esp + 0x258], ebp
mov dword [esp + 0x25c], ebx
mov dword [esp + 0x260], edx
mov dword [esp + 0x264], esi
lea edx, [0x5deee0]
mov dword [esp], edx
lea edx, [esp + 0x258]
mov dword [esp + 4], edx
call fcn.0040a7a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x114]
mov ebx, dword [esp + 0x118]
mov ebp, ebx
mov esi, edx
mov edx, dword [esp + 0x8c]
jmp 0x4bc9d4
cmp ebp, 1
jne 0x4bcbca
test ebx, ebx
jg 0x4bcb08
lea esi, [ebp - 1]
cmp esi, ebp
jae 0x4bd21e
movzx ebp, byte [ebp + edx - 1]
mov ecx, eax
mov edi, 1
shl edi, cl
cmp al, 0x20
sbb eax, eax
and edi, eax
lea eax, [edi - 1]
xchg ebp, ebx
test al, bl
xchg ebp, ebx
jne 0x4bcb08
mov edi, esi
shl esi, 3
sub esi, ebx
mov eax, edi
mov edi, dword [esp + 0x7c]
dec edi
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
lea ebp, [edx + edi]
mov edx, ecx
mov ebx, eax
xor eax, eax
xor ecx, ecx
jmp 0x4bcb54
mov dword [esp + 0x200], 0
lea eax, [0x5ff460]
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], 0x16
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x1fc]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4bcb54
mov edx, esi
mov ebx, ebp
xor ecx, ecx
xor eax, eax
jmp 0x4bcbad
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.004b8430
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x5cd1a0]
mov dword [esp], edx
lea edx, [esp + 0xa8]
mov dword [esp + 4], edx
call fcn.0040a8f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x4bcbad
cmp edi, 4
je 0x4bce11
cmp edi, 6
je 0x4bcd8e
cmp edi, 0xc
jne 0x4bcc76
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.004b9870
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x5cd8e0]
mov dword [esp], edx
lea edx, [esp + 0x154]
mov dword [esp + 4], edx
call fcn.0040a970
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x4bcbad
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.004b8b90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x20c], edx
mov dword [esp + 0x210], ecx
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x134], ecx
lea edx, [0x5c3ce0]
mov dword [esp], edx
lea edx, [esp + 0x20c]
mov dword [esp + 4], edx
call fcn.0040aa00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x4bcbad
mov dword [esp + 0x138], ebp
mov dword [esp + 0x134], esi
mov dword [esp + 0x23c], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x240], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x244], eax
lea eax, [0x5c4e20]
mov dword [esp], eax
lea eax, [esp + 0x23c]
mov dword [esp + 4], eax
call fcn.0040aa00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x4bcbad
cmp edi, 0x14
jg 0x4bcfe0
cmp edi, 0x12
je 0x4bcf68
cmp edi, 0x13
je 0x4bcef0
cmp edi, 0x14
jne 0x4bcc76
mov dword [esp], 0
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
call fcn.004380d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x204], ecx
mov dword [esp + 0x208], eax
lea eax, [0x5cd8e0]
mov dword [esp], eax
lea eax, [esp + 0x204]
mov dword [esp + 4], eax
call fcn.0040a970
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
xor edx, edx
xor ebx, ebx
jmp 0x4bcbad
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.004b9600
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x5cd8e0]
mov dword [esp], edx
lea edx, [esp + 0x16c]
mov dword [esp + 4], edx
call fcn.0040a970
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x4bcbad
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.004b9510
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x5cd8e0]
mov dword [esp], edx
lea edx, [esp + 0x164]
mov dword [esp + 4], edx
call fcn.0040a970
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x4bcbad
cmp edi, 0x16
je 0x4bd0e1
cmp edi, 0x17
je 0x4bd06c
cmp edi, 0x18
jne 0x4bcc76
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.004b92e0
lea edi, [esp + 0x27c]
mov esi, dword [esp + 0x13c]
call fcn.00448aae
mov eax, dword [esp + 0x20]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x134], ecx
lea edx, [0x5ed740]
mov dword [esp], edx
lea edx, [esp + 0x27c]
mov dword [esp + 4], edx
call fcn.0040a7a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x134]
jmp 0x4bcbad
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.004b8fb0
lea edi, [esp + 0x290]
mov esi, dword [esp + 0x13c]
call fcn.00448aae
mov eax, dword [esp + 0x24]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x134], ecx
lea edx, [0x5ed740]
mov dword [esp], edx
lea edx, [esp + 0x290]
mov dword [esp + 4], edx
call fcn.0040a7a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x4bcbad
mov dword [esp], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 8], eax
call fcn.004b9790
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0x160], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x138], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x134], ecx
lea edx, [0x5cd8e0]
mov dword [esp], edx
lea edx, [esp + 0x15c]
mov dword [esp + 4], edx
call fcn.0040a970
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x134]
mov ebx, dword [esp + 0x138]
jmp 0x4bcbad
xor eax, eax
xor ecx, ecx
jmp 0x4bc9d4
mov dword [esp + 0x54], eax
mov dword [esp + 0x148], 0
lea eax, [0x5f91ba]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], 0xe
lea eax, [0x699c40]
mov dword [esp], eax
lea eax, [esp + 0x144]
mov dword [esp + 4], eax
call fcn.0040ab00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x454], edx
mov dword [esp + 0x458], ecx
mov dword [esp + 0x45c], eax
add esp, 0x41c
ret
mov ebx, dword [esp + 0x430]
cmp edx, ebx
setg bl
mov byte [esp + 0x41], bl
mov ebx, dword [esp + 0x90]
jmp 0x4bc9b4
mov dword [esp + 0x454], eax
mov dword [esp + 0x458], esi
mov dword [esp + 0x45c], ebp
add esp, 0x41c
ret
call fcn.004243c0
ud2
call fcn.00424360
ud2
call fcn.004243c0
ud2
call fcn.004243c0
ud2
call fcn.00424360
ud2
call fcn.004243c0
ud2
call fcn.00446b60
jmp fcn.004ba4b0