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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x114]
cmp eax, dword [ecx + 8]
jbe 0x5b624d
sub esp, 0x194
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0xc4]
mov edx, dword [eax + 0xc8]
test ecx, ecx
jne 0x5b61ca
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.00467160
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0x18c]
mov edx, dword [eax + 0x184]
cmp ecx, edx
setae bl
mov ebp, dword [eax + 0x190]
mov esi, edx
sar edx, 0x1f
cmp ebp, edx
sete dl
xchg ebp, ebx
setg bl
xchg ebp, ebx
and edx, ebx
or ebp, edx
mov edx, dword [esp + 4]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b3b1b
xor esi, esi
jmp 0x5b3b1d
sub esi, ecx
test esi, esi
jne 0x5b608d
mov dword [esp + 0x48], edx
lea edi, [eax + 0x180]
mov dword [esp + 0x4c], edi
nop
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b3b47
xor eax, eax
call fcn.00462f8a
jmp 0x5b3b59
lea eax, [0x668ac0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00411060
mov eax, dword [esp + 0x198]
mov dword [eax + 0x194], 0xffffffff
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x100], edx
lea ebx, [0x65b180]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00409310
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x198]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
call fcn.005b6590
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5b3da6
mov ebp, dword [0xbbdcc4]
cmp dword [0xbbdcc0], ecx
je 0x5b3bdc
xor ecx, ecx
jmp 0x5b3c09
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x38], eax
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.004037d0
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x8c]
mov ecx, eax
mov eax, dword [esp + 0x38]
test cl, cl
je 0x5b3c30
mov ecx, dword [esp + 0x198]
mov edx, dword [ecx + 0x178]
cmp dword [ecx + 0x170], edx
jne 0x5b3c37
mov eax, dword [0xbbdc98]
mov ebx, dword [0xbbdc9c]
jmp 0x5b3c37
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x38], eax
lea ecx, [0x663180]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5b3c6b
mov eax, 1
jmp 0x5b3c7b
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5b3c8f
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
jmp 0x5b3d91
lea eax, [0x663180]
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b3d04
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ebx, dword [0xbe5550]
test ebx, ebx
jne 0x5b3ced
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xc8], eax
jmp 0x5b3d91
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x8c]
call fcn.00462ce0
jmp 0x5b3d91
mov dword [esp + 0x100], edx
mov dword [esp + 0xe4], ecx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b3d43
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x5b3d56
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b3d7b
mov dword [edx + 0xc8], eax
jmp 0x5b3d86
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
add esp, 0x194
ret
mov ebx, dword [esp + 0x198]
mov ebp, dword [ebx + 0x16c]
mov ecx, dword [ebx + 0x170]
mov edx, dword [ebx + 0x174]
mov eax, dword [ebx + 0x178]
cmp ecx, eax
jb 0x5b6247
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp ecx, 5
jb 0x5b623b
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0x48]
cmp edx, 1
je 0x5b3df8
cmp cl, 0x80
je 0x5b5eb5
mov esi, edx
movzx edx, byte [ebp + eax + 1]
shl edx, 8
mov edi, ecx
movzx ecx, byte [ebp + eax + 2]
or edx, ecx
movzx ecx, byte [ebp + eax + 3]
shl ecx, 8
movzx ebp, byte [ebp + eax + 4]
or ecx, ebp
movzx ebp, byte [ebx + 0x26]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5b40e7
mov eax, ecx
movzx ecx, word [ebx + 0x24]
cmp cx, 0x304
je 0x5b40db
cmp cx, dx
jne 0x5b3e47
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x5b40df
mov word [esp + 0x2a], dx
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005b6890
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
movzx eax, word [esp + 0x2a]
mov word [esp], ax
call fcn.00409090
mov eax, dword [esp + 4]
lea ecx, [0x654380]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x198]
movzx edx, word [eax + 0x24]
mov word [esp], dx
call fcn.00409090
mov eax, dword [esp + 4]
lea ecx, [0x654380]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
lea eax, [0x6989d4]
mov dword [esp], eax
mov dword [esp + 4], 0x39
lea eax, [esp + 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004beb10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], ecx
lea edi, [esp + 0x14c]
mov edx, eax
xor eax, eax
call fcn.00462f8a
mov dword [esp + 0x14c], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0x170]
mov edx, dword [eax + 0x16c]
mov ebx, dword [eax + 0x174]
mov ebp, dword [eax + 0x178]
cmp ecx, ebp
jb 0x5b6234
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5b3f74
mov ecx, 5
lea ebx, [esp + 0x154]
cmp ebx, edx
je 0x5b3f8f
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00463680
lea edi, [esp + 0x17c]
lea esi, [esp + 0x14c]
call fcn.00463464
lea eax, [0x66f400]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408fc0
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x663180]
mov dword [esp], ecx
lea ecx, [0xa54df4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4038
lea ecx, [0xa54df4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4021
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5b40ba
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.00462ce0
jmp 0x5b40ba
mov dword [esp + 0x100], edx
mov dword [esp + 0xdc], ecx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4077
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
jmp 0x5b408a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b40af
mov dword [edx + 0xc8], eax
jmp 0x5b40ba
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5b42e5
jmp 0x5b40e9
mov eax, ecx
xchg edi, eax
cmp al, 0x15
xchg edi, eax
je 0x5b40f7
xchg edi, eax
cmp al, 0x16
xchg edi, eax
jne 0x5b4102
cmp dx, 0x1000
jb 0x5b42e5
mov ecx, dword [ebx]
mov dword [esp + 0x40], ecx
mov edx, dword [ebx + 4]
lea edi, [esp + 0x134]
xor eax, eax
call fcn.00462f8a
lea ecx, [0x696957]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], 0x2f
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], edx
mov ecx, dword [ebx + 0x170]
mov edx, dword [ebx + 0x16c]
mov ebp, dword [ebx + 0x174]
mov eax, dword [ebx + 0x178]
cmp ecx, eax
jb 0x5b622f
sub ecx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
add eax, edx
cmp ecx, 5
jl 0x5b417e
mov ecx, 5
lea edx, [esp + 0x13c]
cmp edx, eax
je 0x5b4199
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00463680
lea edi, [esp + 0x17c]
lea esi, [esp + 0x134]
call fcn.00463464
lea eax, [0x66f400]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408fc0
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x663180]
mov dword [esp], ecx
lea ecx, [0xa54df4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4242
lea ecx, [0xa54df4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b422b
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5b42c4
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.00462ce0
jmp 0x5b42c4
mov dword [esp + 0x100], edx
mov dword [esp + 0xd8], ecx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4281
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
jmp 0x5b4294
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd8]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b42b9
mov dword [edx + 0xc8], eax
jmp 0x5b42c4
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp + 0x44], eax
cmp word [ebx + 0x24], 0x304
jne 0x5b42fd
cmp eax, 0x4100
jg 0x5b4308
jmp 0x5b4553
cmp eax, 0x4800
jle 0x5b4553
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.005b6890
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00409100
mov eax, dword [esp + 4]
lea ecx, [0x653980]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
lea eax, [0x694917]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004beb10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x11c]
mov edx, eax
xor eax, eax
call fcn.00462f8a
mov dword [esp + 0x11c], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0x170]
mov edx, dword [eax + 0x16c]
mov ebx, dword [eax + 0x174]
mov ebp, dword [eax + 0x178]
cmp ecx, ebp
jb 0x5b6228
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5b43ec
mov ecx, 5
lea ebx, [esp + 0x124]
cmp ebx, edx
je 0x5b4407
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00463680
lea edi, [esp + 0x17c]
lea esi, [esp + 0x11c]
call fcn.00463464
lea eax, [0x66f400]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408fc0
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x663180]
mov dword [esp], ecx
lea ecx, [0xa54df4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b44b0
lea ecx, [0xa54df4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4499
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5b4532
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.00462ce0
jmp 0x5b4532
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b44ef
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], ecx
jmp 0x5b4502
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd4]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4527
mov dword [edx + 0xc8], eax
jmp 0x5b4532
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x100], ecx
lea edx, [0x65b180]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00409310
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x198]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
add eax, 5
mov dword [esp + 0x44], eax
mov dword [esp + 0xc], eax
call fcn.005b6590
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x5b5d37
nop
mov ebx, dword [esp + 0x198]
mov byte [ebx + 0x17c], 0
nop
mov edx, dword [ebx + 0x174]
mov ebp, dword [ebx + 0x16c]
mov esi, dword [ebx + 0x170]
mov eax, dword [ebx + 0x178]
sub esi, eax
mov edi, dword [esp + 0x44]
cmp esi, edi
jl 0x5b45ea
mov esi, edi
lea ecx, [esi + eax]
cmp edx, ecx
jb 0x5b6223
cmp eax, ecx
ja 0x5b621e
mov dword [ebx + 0x178], ecx
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebp
test esi, esi
jle 0x5b461b
mov byte [ebx + 0x17c], 0xff
lea edx, [ebx + 0xbc]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
call fcn.005b2080
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
test ebp, ebp
je 0x5b47a4
lea eax, [0xa54e08]
cmp esi, eax
jne 0x5b6202
movzx eax, byte [edi]
mov ecx, dword [esp + 0x198]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4701
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b46ea
mov eax, dword [esp + 0x84]
mov dword [edx + 0xc8], eax
jmp 0x5b4783
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x84]
call fcn.00462ce0
jmp 0x5b4783
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4740
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
jmp 0x5b4753
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4778
mov dword [edx + 0xc8], eax
jmp 0x5b4783
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
cmp edx, 0x4000
jg 0x5b5bfd
mov ebp, dword [esp + 0x198]
mov esi, dword [ebp + 0xd0]
test esi, esi
jne 0x5b47ca
cmp al, 0x17
je 0x5b5ad3
cmp al, 0x15
je 0x5b47e2
cmp al, 0x14
je 0x5b47e2
test edx, edx
je 0x5b47e2
mov dword [ebp + 0x1cc], 0
movzx esi, word [ebp + 0x24]
cmp si, 0x304
jne 0x5b493e
cmp al, 0x16
je 0x5b5627
mov edi, ebx
mov ebx, dword [ebp + 0x19c]
sub ebx, dword [ebp + 0x1a4]
test ebx, ebx
jg 0x5b4814
cmp al, 0x15
jmp 0x5b4943
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b489b
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4887
mov eax, dword [esp + 0x78]
mov dword [edx + 0xc8], eax
jmp 0x5b491d
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x78]
call fcn.00462ce0
jmp 0x5b491d
mov dword [esp + 0x100], edx
mov dword [esp + 0xc0], ecx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b48da
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x5b48ed
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4912
mov dword [edx + 0xc8], eax
jmp 0x5b491d
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
cmp al, 0x15
mov edi, ebx
ja 0x5b561c
cmp al, 0x14
jne 0x5b4f86
cmp edx, 1
jne 0x5b4960
cmp byte [ecx], 1
je 0x5b4a8a
mov dword [esp], ebp
mov byte [esp + 4], 0x32
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b49e7
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b49d3
mov eax, dword [esp + 0x64]
mov dword [edx + 0xc8], eax
jmp 0x5b4a69
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x64]
call fcn.00462ce0
jmp 0x5b4a69
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4a26
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
jmp 0x5b4a39
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa4]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4a5e
mov dword [edx + 0xc8], eax
jmp 0x5b4a69
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov ecx, dword [ebp + 0x19c]
sub ecx, dword [ebp + 0x1a4]
test ecx, ecx
jg 0x5b4e5c
cmp si, 0x304
je 0x5b4e2b
movzx ecx, byte [esp + 0x19c]
test cl, cl
je 0x5b4d01
mov ecx, dword [ebp + 0xf8]
mov eax, dword [ebp + 0xfc]
test ecx, ecx
je 0x5b4bab
cmp word [ebp + 0xcc], 0x304
je 0x5b4bab
mov dword [ebp + 0xd0], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4af4
mov dword [ebp + 0xd4], eax
jmp 0x5b4aff
lea edi, [ebp + 0xd4]
call fcn.00462ce0
mov eax, dword [ebp + 0x104]
mov ecx, dword [ebp + 0x100]
mov dword [ebp + 0xd8], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4b23
mov dword [ebp + 0xdc], eax
jmp 0x5b4b2e
lea edi, [ebp + 0xdc]
call fcn.00462ce0
mov dword [ebp + 0xf8], 0
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4b4e
mov dword [ebp + 0xfc], 0
jmp 0x5b4b5b
lea edi, [ebp + 0xfc]
xor eax, eax
call fcn.00462ce0
mov dword [ebp + 0x100], 0
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4b7b
mov dword [ebp + 0x104], 0
jmp 0x5b4b88
lea edi, [ebp + 0x104]
xor eax, eax
call fcn.00462ce0
lea eax, [ebp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.004634b0
mov ebp, dword [esp + 0x198]
xor ecx, ecx
xor eax, eax
jmp 0x5b4bbf
mov eax, 0x50
lea ecx, [0xb99d20]
lea eax, [ecx + eax*8]
lea ecx, [0xa54e08]
test ecx, ecx
je 0x5b5839
lea edx, [0xa54e08]
cmp ecx, edx
jne 0x5b61e6
movzx eax, byte [eax]
mov dword [esp], ebp
mov byte [esp + 4], al
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4c5e
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4c4a
mov eax, dword [esp + 0x58]
mov dword [edx + 0xc8], eax
jmp 0x5b4ce0
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x58]
call fcn.00462ce0
jmp 0x5b4ce0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4c9d
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
jmp 0x5b4cb0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4cd5
mov dword [edx + 0xc8], eax
jmp 0x5b4ce0
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4d88
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4d74
mov eax, dword [esp + 0x5c]
mov dword [edx + 0xc8], eax
jmp 0x5b4e0a
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x5c]
call fcn.00462ce0
jmp 0x5b4e0a
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4dc7
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
jmp 0x5b4dda
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4dff
mov dword [edx + 0xc8], eax
jmp 0x5b4e0a
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
movzx eax, byte [esp + 0x19c]
mov byte [esp + 4], al
call fcn.005b6260
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4ee3
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4ecf
mov eax, dword [esp + 0x60]
mov dword [edx + 0xc8], eax
jmp 0x5b4f65
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x60]
call fcn.00462ce0
jmp 0x5b4f65
mov dword [esp + 0x100], edx
mov dword [esp + 0xa0], ecx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4f22
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x5b4f35
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b4f5a
mov dword [edx + 0xc8], eax
jmp 0x5b4f65
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
cmp al, 0x15
jne 0x5b59a9
cmp edx, 2
jne 0x5b54f2
movzx eax, byte [ecx + 1]
test al, al
je 0x5b53d7
mov byte [esp + 0x29], al
cmp si, 0x304
je 0x5b527d
movzx ecx, byte [ecx]
cmp cl, 1
je 0x5b524c
cmp cl, 2
jne 0x5b5122
lea eax, [0x670860]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6890be]
mov dword [eax], ecx
lea ecx, [0xa54e08]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0xb99d20]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x663180]
mov dword [esp], ecx
lea ecx, [0xa54ae8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b507f
lea ecx, [0xa54ae8]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5068
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xc8], eax
jmp 0x5b5101
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf8]
call fcn.00462ce0
jmp 0x5b5101
mov dword [esp + 0xac], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b50be
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
jmp 0x5b50d1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b50f6
mov dword [edx + 0xc8], eax
jmp 0x5b5101
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b51a9
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5195
mov eax, dword [esp + 0x68]
mov dword [edx + 0xc8], eax
jmp 0x5b522b
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x68]
call fcn.00462ce0
jmp 0x5b522b
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b51e8
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
jmp 0x5b51fb
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa8]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5220
mov dword [edx + 0xc8], eax
jmp 0x5b522b
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
movzx eax, byte [esp + 0x19c]
mov byte [esp + 4], al
call fcn.005b6260
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
lea eax, [0x670860]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6890be]
mov dword [eax], ecx
lea ecx, [0xa54e08]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0xb99d20]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x663180]
mov dword [esp], ecx
lea ecx, [0xa54ae8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5334
lea ecx, [0xa54ae8]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b531d
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xc8], eax
jmp 0x5b53b6
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf8]
call fcn.00462ce0
jmp 0x5b53b6
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5373
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
jmp 0x5b5386
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b53ab
mov dword [edx + 0xc8], eax
jmp 0x5b53b6
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov eax, dword [0xbbdc9c]
mov dword [esp + 0x6c], eax
mov ecx, dword [0xbbdc98]
mov dword [esp + 0x34], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b544f
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b543b
mov eax, dword [esp + 0x6c]
mov dword [edx + 0xc8], eax
jmp 0x5b54d1
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x6c]
call fcn.00462ce0
jmp 0x5b54d1
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b548e
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x5b54a1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b54c6
mov dword [edx + 0xc8], eax
jmp 0x5b54d1
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5579
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5565
mov eax, dword [esp + 0x70]
mov dword [edx + 0xc8], eax
jmp 0x5b55fb
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x70]
call fcn.00462ce0
jmp 0x5b55fb
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b55b8
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
jmp 0x5b55cb
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b55f0
mov dword [edx + 0xc8], eax
jmp 0x5b55fb
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
cmp al, 0x16
jne 0x5b5784
mov ebx, edi
test edx, edx
je 0x5b563b
movzx eax, byte [esp + 0x19c]
test al, al
je 0x5b5765
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b56c2
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b56ae
mov eax, dword [esp + 0x50]
mov dword [edx + 0xc8], eax
jmp 0x5b5744
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x50]
call fcn.00462ce0
jmp 0x5b5744
mov dword [esp + 0x90], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5701
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
jmp 0x5b5714
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x90]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5739
mov dword [edx + 0xc8], eax
jmp 0x5b5744
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
lea eax, [ebp + 0x198]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00473030
jmp 0x5b5839
cmp al, 0x17
jne 0x5b59a9
mov ebx, dword [esp + 0x48]
cmp ebx, 1
jne 0x5b587f
movzx ebx, byte [esp + 0x19c]
test bl, bl
jne 0x5b587f
test edx, edx
je 0x5b5856
mov dword [esp + 0xec], ecx
nop
mov ebx, dword [0xbe5550]
test ebx, ebx
jne 0x5b57e0
xor eax, eax
mov ebx, edi
mov edi, dword [esp + 0x4c]
call fcn.00462f8a
mov ecx, dword [esp + 0xec]
mov dword [ebp + 0x180], ecx
jmp 0x5b5823
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], edx
lea eax, [0x668ac0]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.00411060
mov eax, dword [esp + 0x198]
lea edi, [eax + 0x180]
mov ecx, eax
mov eax, dword [esp + 0xec]
call fcn.00462ce0
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
mov ebp, ecx
mov dword [ebp + 0x184], edx
mov dword [ebp + 0x188], ebx
mov dword [ebp + 0x194], 0xffffffff
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], bl
call fcn.005b6260
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5906
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b58f2
mov eax, dword [esp + 0x54]
mov dword [edx + 0xc8], eax
jmp 0x5b5988
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x54]
call fcn.00462ce0
jmp 0x5b5988
mov dword [esp + 0x94], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5945
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
jmp 0x5b5958
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b597d
mov dword [edx + 0xc8], eax
jmp 0x5b5988
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5a30
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5a1c
mov eax, dword [esp + 0x74]
mov dword [edx + 0xc8], eax
jmp 0x5b5ab2
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x74]
call fcn.00462ce0
jmp 0x5b5ab2
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5a6f
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x5b5a82
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5aa7
mov dword [edx + 0xc8], eax
jmp 0x5b5ab2
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5b5a
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5b46
mov eax, dword [esp + 0x7c]
mov dword [edx + 0xc8], eax
jmp 0x5b5bdc
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x7c]
call fcn.00462ce0
jmp 0x5b5bdc
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5b99
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
jmp 0x5b5bac
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5bd1
mov dword [edx + 0xc8], eax
jmp 0x5b5bdc
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov eax, dword [esp + 0x198]
mov dword [esp], eax
mov byte [esp + 4], 0x16
call fcn.005b6890
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5c94
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5c7d
mov eax, dword [esp + 0x80]
mov dword [edx + 0xc8], eax
jmp 0x5b5d16
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x80]
call fcn.00462ce0
jmp 0x5b5d16
mov dword [esp + 0x100], edx
mov dword [esp + 0xc8], ecx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5cd3
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x5b5ce6
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5d0b
mov dword [edx + 0xc8], eax
jmp 0x5b5d16
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp + 0x100], eax
mov dword [esp + 0x88], ecx
lea edx, [0x663180]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5b5d6e
mov eax, 1
jmp 0x5b5d7e
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5b5d95
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
jmp 0x5b5ea0
lea eax, [0x663180]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 8], ecx
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5e10
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ebx, dword [0xbe5550]
test ebx, ebx
jne 0x5b5df9
mov eax, dword [esp + 0x88]
mov dword [edx + 0xc8], eax
jmp 0x5b5ea0
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x88]
call fcn.00462ce0
jmp 0x5b5ea0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xf4], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf4]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5e4f
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
jmp 0x5b5e62
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd0]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5e87
mov dword [edx + 0xc8], eax
jmp 0x5b5e92
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
add esp, 0x194
ret
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005b6890
lea edi, [esp + 0x164]
xor eax, eax
call fcn.00462f8a
lea eax, [0x6933e8]
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], 0x24
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0x170]
mov edx, dword [eax + 0x16c]
mov ebx, dword [eax + 0x174]
mov ebp, dword [eax + 0x178]
cmp ecx, ebp
jb 0x5b61df
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5b5f26
mov ecx, 5
lea ebx, [esp + 0x16c]
cmp ebx, edx
je 0x5b5f41
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00463680
lea edi, [esp + 0x17c]
lea esi, [esp + 0x164]
call fcn.00463464
lea eax, [0x66f400]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408fc0
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x663180]
mov dword [esp], ecx
lea ecx, [0xa54df4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5fea
lea ecx, [0xa54df4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b5fd3
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5b606c
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.00462ce0
jmp 0x5b606c
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b6029
mov ecx, dword [esp + 0xe0]
mov dword [eax + 4], ecx
jmp 0x5b603c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b6061
mov dword [edx + 0xc8], eax
jmp 0x5b606c
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
lea eax, [0x65cd40]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x69a151]
mov dword [eax], ecx
lea ecx, [0x663180]
mov dword [esp], ecx
lea ecx, [0xa54a34]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00409420
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b6127
lea ecx, [0xa54a34]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b6110
mov eax, dword [esp + 0xf0]
mov dword [edx + 0xc8], eax
jmp 0x5b61a9
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf0]
call fcn.00462ce0
jmp 0x5b61a9
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x65cc80]
mov dword [esp], eax
call fcn.0040b830
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b6166
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
jmp 0x5b6179
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe8]
call fcn.00462ce0
mov eax, ecx
lea ecx, [0xa54a0c]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0xbe5550]
test ecx, ecx
jne 0x5b619e
mov dword [edx + 0xc8], eax
jmp 0x5b61a9
lea edi, [edx + 0xc8]
call fcn.00462ce0
mov eax, dword [edx + 0xc4]
mov ecx, dword [edx + 0xc8]
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], ecx
add esp, 0x194
ret
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], edx
add esp, 0x194
ret
mov eax, ebp
call fcn.00462dc0
mov dword [esp], ecx
lea eax, [0x65dd40]
mov dword [esp + 4], eax
lea eax, [0x65af40]
mov dword [esp + 8], eax
call fcn.00408f00
mov dword [esp], esi
lea eax, [0x65dd40]
mov dword [esp + 4], eax
lea eax, [0x65af40]
mov dword [esp + 8], eax
call fcn.00408f00
call fcn.00462dc0
call fcn.00462da0
mov eax, ebp
call fcn.00462dc0
call fcn.00462dc0
mov eax, ebp
call fcn.00462dc0
mov edx, ecx
mov ecx, 5
call fcn.00462da0
call fcn.00462dc0
nop
call fcn.004618d0
jmp fcn.005b3a90