Function at 0x5b3570
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 0x5b5d2d
sub esp, 0x194
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0xc4]
mov edx, dword [eax + 0xc8]
test ecx, ecx
jne 0x5b5caa
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.00467500
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 0x5b35fb
xor esi, esi
jmp 0x5b35fd
sub esi, ecx
test esi, esi
jne 0x5b5b6d
mov dword [esp + 0x48], edx
lea edi, [eax + 0x180]
mov dword [esp + 0x4c], edi
nop
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3627
xor eax, eax
call fcn.0046331a
jmp 0x5b3639
lea eax, [0x6a5080]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00411030
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, [0x6960c0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.004092e0
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.005b6070
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5b3886
mov ebp, dword [0x8c0b0c]
cmp dword [0x8c0b08], ecx
je 0x5b36bc
xor ecx, ecx
jmp 0x5b36e9
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 0x5b3710
mov ecx, dword [esp + 0x198]
mov edx, dword [ecx + 0x178]
cmp dword [ecx + 0x170], edx
jne 0x5b3717
mov eax, dword [0x8c0ae0]
mov ebx, dword [0x8c0ae4]
jmp 0x5b3717
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x38], eax
lea ecx, [0x69ea00]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5b374b
mov eax, 1
jmp 0x5b375b
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5b376f
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
jmp 0x5b3871
lea eax, [0x69ea00]
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.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b37e4
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ebx, dword [0x8e84e0]
test ebx, ebx
jne 0x5b37cd
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xc8], eax
jmp 0x5b3871
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x8c]
call fcn.00463080
jmp 0x5b3871
mov dword [esp + 0x100], edx
mov dword [esp + 0xe4], ecx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3823
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x5b3836
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b385b
mov dword [edx + 0xc8], eax
jmp 0x5b3866
lea edi, [edx + 0xc8]
call fcn.00463080
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 0x5b5d27
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp ecx, 5
jb 0x5b5d1b
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0x48]
cmp edx, 1
je 0x5b38d8
cmp cl, 0x80
je 0x5b5995
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 0x5b3bc7
mov eax, ecx
movzx ecx, word [ebx + 0x24]
cmp cx, 0x304
je 0x5b3bbb
cmp cx, dx
jne 0x5b3927
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x5b3bbf
mov word [esp + 0x2a], dx
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005b6370
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.00409060
mov eax, dword [esp + 4]
lea ecx, [0x68e600]
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.00409060
mov eax, dword [esp + 4]
lea ecx, [0x68e600]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
lea eax, [0x6d8669]
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.004c50d0
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.0046331a
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 0x5b5d14
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5b3a54
mov ecx, 5
lea ebx, [esp + 0x154]
cmp ebx, edx
je 0x5b3a6f
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00463a10
lea edi, [esp + 0x17c]
lea esi, [esp + 0x14c]
call fcn.004637f4
lea eax, [0x6ac040]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408f90
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x69ea00]
mov dword [esp], ecx
lea ecx, [0x7399a4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b3b18
lea ecx, [0x7399a4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3b01
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5b3b9a
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.00463080
jmp 0x5b3b9a
mov dword [esp + 0x100], edx
mov dword [esp + 0xdc], ecx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3b57
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
jmp 0x5b3b6a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3b8f
mov dword [edx + 0xc8], eax
jmp 0x5b3b9a
lea edi, [edx + 0xc8]
call fcn.00463080
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 0x5b3dc5
jmp 0x5b3bc9
mov eax, ecx
xchg edi, eax
cmp al, 0x15
xchg edi, eax
je 0x5b3bd7
xchg edi, eax
cmp al, 0x16
xchg edi, eax
jne 0x5b3be2
cmp dx, 0x1000
jb 0x5b3dc5
mov ecx, dword [ebx]
mov dword [esp + 0x40], ecx
mov edx, dword [ebx + 4]
lea edi, [esp + 0x134]
xor eax, eax
call fcn.0046331a
lea ecx, [0x6d63b4]
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 0x5b5d0f
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 0x5b3c5e
mov ecx, 5
lea edx, [esp + 0x13c]
cmp edx, eax
je 0x5b3c79
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00463a10
lea edi, [esp + 0x17c]
lea esi, [esp + 0x134]
call fcn.004637f4
lea eax, [0x6ac040]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408f90
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x69ea00]
mov dword [esp], ecx
lea ecx, [0x7399a4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b3d22
lea ecx, [0x7399a4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3d0b
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5b3da4
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.00463080
jmp 0x5b3da4
mov dword [esp + 0x100], edx
mov dword [esp + 0xd8], ecx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3d61
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
jmp 0x5b3d74
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd8]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3d99
mov dword [edx + 0xc8], eax
jmp 0x5b3da4
lea edi, [edx + 0xc8]
call fcn.00463080
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 0x5b3ddd
cmp eax, 0x4100
jg 0x5b3de8
jmp 0x5b4033
cmp eax, 0x4800
jle 0x5b4033
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.005b6370
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.004090d0
mov eax, dword [esp + 4]
lea ecx, [0x68db80]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
lea eax, [0x6d4177]
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.004c50d0
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.0046331a
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 0x5b5d08
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5b3ecc
mov ecx, 5
lea ebx, [esp + 0x124]
cmp ebx, edx
je 0x5b3ee7
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00463a10
lea edi, [esp + 0x17c]
lea esi, [esp + 0x11c]
call fcn.004637f4
lea eax, [0x6ac040]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408f90
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x69ea00]
mov dword [esp], ecx
lea ecx, [0x7399a4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b3f90
lea ecx, [0x7399a4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3f79
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5b4012
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.00463080
jmp 0x5b4012
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b3fcf
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], ecx
jmp 0x5b3fe2
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd4]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4007
mov dword [edx + 0xc8], eax
jmp 0x5b4012
lea edi, [edx + 0xc8]
call fcn.00463080
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, [0x6960c0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.004092e0
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.005b6070
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x5b5817
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 0x5b40ca
mov esi, edi
lea ecx, [esi + eax]
cmp edx, ecx
jb 0x5b5d03
cmp eax, ecx
ja 0x5b5cfe
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 0x5b40fb
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.005b1b60
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 0x5b4284
lea eax, [0x7399b8]
cmp esi, eax
jne 0x5b5ce2
movzx eax, byte [edi]
mov ecx, dword [esp + 0x198]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b41e1
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b41ca
mov eax, dword [esp + 0x84]
mov dword [edx + 0xc8], eax
jmp 0x5b4263
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x84]
call fcn.00463080
jmp 0x5b4263
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4220
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
jmp 0x5b4233
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4258
mov dword [edx + 0xc8], eax
jmp 0x5b4263
lea edi, [edx + 0xc8]
call fcn.00463080
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 0x5b56dd
mov ebp, dword [esp + 0x198]
mov esi, dword [ebp + 0xd0]
test esi, esi
jne 0x5b42aa
cmp al, 0x17
je 0x5b55b3
cmp al, 0x15
je 0x5b42c2
cmp al, 0x14
je 0x5b42c2
test edx, edx
je 0x5b42c2
mov dword [ebp + 0x1cc], 0
movzx esi, word [ebp + 0x24]
cmp si, 0x304
jne 0x5b441e
cmp al, 0x16
je 0x5b5107
mov edi, ebx
mov ebx, dword [ebp + 0x19c]
sub ebx, dword [ebp + 0x1a4]
test ebx, ebx
jg 0x5b42f4
cmp al, 0x15
jmp 0x5b4423
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b437b
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4367
mov eax, dword [esp + 0x78]
mov dword [edx + 0xc8], eax
jmp 0x5b43fd
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x78]
call fcn.00463080
jmp 0x5b43fd
mov dword [esp + 0x100], edx
mov dword [esp + 0xc0], ecx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b43ba
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x5b43cd
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b43f2
mov dword [edx + 0xc8], eax
jmp 0x5b43fd
lea edi, [edx + 0xc8]
call fcn.00463080
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 0x5b50fc
cmp al, 0x14
jne 0x5b4a66
cmp edx, 1
jne 0x5b4440
cmp byte [ecx], 1
je 0x5b456a
mov dword [esp], ebp
mov byte [esp + 4], 0x32
call fcn.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b44c7
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b44b3
mov eax, dword [esp + 0x64]
mov dword [edx + 0xc8], eax
jmp 0x5b4549
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x64]
call fcn.00463080
jmp 0x5b4549
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4506
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
jmp 0x5b4519
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa4]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b453e
mov dword [edx + 0xc8], eax
jmp 0x5b4549
lea edi, [edx + 0xc8]
call fcn.00463080
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 0x5b493c
cmp si, 0x304
je 0x5b490b
movzx ecx, byte [esp + 0x19c]
test cl, cl
je 0x5b47e1
mov ecx, dword [ebp + 0xf8]
mov eax, dword [ebp + 0xfc]
test ecx, ecx
je 0x5b468b
cmp word [ebp + 0xcc], 0x304
je 0x5b468b
mov dword [ebp + 0xd0], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b45d4
mov dword [ebp + 0xd4], eax
jmp 0x5b45df
lea edi, [ebp + 0xd4]
call fcn.00463080
mov eax, dword [ebp + 0x104]
mov ecx, dword [ebp + 0x100]
mov dword [ebp + 0xd8], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4603
mov dword [ebp + 0xdc], eax
jmp 0x5b460e
lea edi, [ebp + 0xdc]
call fcn.00463080
mov dword [ebp + 0xf8], 0
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b462e
mov dword [ebp + 0xfc], 0
jmp 0x5b463b
lea edi, [ebp + 0xfc]
xor eax, eax
call fcn.00463080
mov dword [ebp + 0x100], 0
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b465b
mov dword [ebp + 0x104], 0
jmp 0x5b4668
lea edi, [ebp + 0x104]
xor eax, eax
call fcn.00463080
lea eax, [ebp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.00463840
mov ebp, dword [esp + 0x198]
xor ecx, ecx
xor eax, eax
jmp 0x5b469f
mov eax, 0x50
lea ecx, [0x89c9a0]
lea eax, [ecx + eax*8]
lea ecx, [0x7399b8]
test ecx, ecx
je 0x5b5319
lea edx, [0x7399b8]
cmp ecx, edx
jne 0x5b5cc6
movzx eax, byte [eax]
mov dword [esp], ebp
mov byte [esp + 4], al
call fcn.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b473e
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b472a
mov eax, dword [esp + 0x58]
mov dword [edx + 0xc8], eax
jmp 0x5b47c0
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x58]
call fcn.00463080
jmp 0x5b47c0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b477d
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
jmp 0x5b4790
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b47b5
mov dword [edx + 0xc8], eax
jmp 0x5b47c0
lea edi, [edx + 0xc8]
call fcn.00463080
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.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4868
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4854
mov eax, dword [esp + 0x5c]
mov dword [edx + 0xc8], eax
jmp 0x5b48ea
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x5c]
call fcn.00463080
jmp 0x5b48ea
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b48a7
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
jmp 0x5b48ba
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b48df
mov dword [edx + 0xc8], eax
jmp 0x5b48ea
lea edi, [edx + 0xc8]
call fcn.00463080
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.005b5d40
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.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b49c3
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b49af
mov eax, dword [esp + 0x60]
mov dword [edx + 0xc8], eax
jmp 0x5b4a45
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x60]
call fcn.00463080
jmp 0x5b4a45
mov dword [esp + 0x100], edx
mov dword [esp + 0xa0], ecx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4a02
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x5b4a15
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4a3a
mov dword [edx + 0xc8], eax
jmp 0x5b4a45
lea edi, [edx + 0xc8]
call fcn.00463080
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 0x5b5489
cmp edx, 2
jne 0x5b4fd2
movzx eax, byte [ecx + 1]
test al, al
je 0x5b4eb7
mov byte [esp + 0x29], al
cmp si, 0x304
je 0x5b4d5d
movzx ecx, byte [ecx]
cmp cl, 1
je 0x5b4d2c
cmp cl, 2
jne 0x5b4c02
lea eax, [0x6ad6a0]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6c7d6c]
mov dword [eax], ecx
lea ecx, [0x7399b8]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x89c9a0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x69ea00]
mov dword [esp], ecx
lea ecx, [0x739648]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4b5f
lea ecx, [0x739648]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4b48
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xc8], eax
jmp 0x5b4be1
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf8]
call fcn.00463080
jmp 0x5b4be1
mov dword [esp + 0xac], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4b9e
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
jmp 0x5b4bb1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4bd6
mov dword [edx + 0xc8], eax
jmp 0x5b4be1
lea edi, [edx + 0xc8]
call fcn.00463080
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.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4c89
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4c75
mov eax, dword [esp + 0x68]
mov dword [edx + 0xc8], eax
jmp 0x5b4d0b
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x68]
call fcn.00463080
jmp 0x5b4d0b
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4cc8
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
jmp 0x5b4cdb
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa8]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4d00
mov dword [edx + 0xc8], eax
jmp 0x5b4d0b
lea edi, [edx + 0xc8]
call fcn.00463080
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.005b5d40
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, [0x6ad6a0]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6c7d6c]
mov dword [eax], ecx
lea ecx, [0x7399b8]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x89c9a0]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x69ea00]
mov dword [esp], ecx
lea ecx, [0x739648]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4e14
lea ecx, [0x739648]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4dfd
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xc8], eax
jmp 0x5b4e96
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf8]
call fcn.00463080
jmp 0x5b4e96
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4e53
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
jmp 0x5b4e66
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4e8b
mov dword [edx + 0xc8], eax
jmp 0x5b4e96
lea edi, [edx + 0xc8]
call fcn.00463080
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 [0x8c0ae4]
mov dword [esp + 0x6c], eax
mov ecx, dword [0x8c0ae0]
mov dword [esp + 0x34], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b4f2f
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4f1b
mov eax, dword [esp + 0x6c]
mov dword [edx + 0xc8], eax
jmp 0x5b4fb1
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x6c]
call fcn.00463080
jmp 0x5b4fb1
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4f6e
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x5b4f81
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b4fa6
mov dword [edx + 0xc8], eax
jmp 0x5b4fb1
lea edi, [edx + 0xc8]
call fcn.00463080
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.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5059
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5045
mov eax, dword [esp + 0x70]
mov dword [edx + 0xc8], eax
jmp 0x5b50db
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x70]
call fcn.00463080
jmp 0x5b50db
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5098
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
jmp 0x5b50ab
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b50d0
mov dword [edx + 0xc8], eax
jmp 0x5b50db
lea edi, [edx + 0xc8]
call fcn.00463080
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 0x5b5264
mov ebx, edi
test edx, edx
je 0x5b511b
movzx eax, byte [esp + 0x19c]
test al, al
je 0x5b5245
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b51a2
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b518e
mov eax, dword [esp + 0x50]
mov dword [edx + 0xc8], eax
jmp 0x5b5224
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x50]
call fcn.00463080
jmp 0x5b5224
mov dword [esp + 0x90], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b51e1
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
jmp 0x5b51f4
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x90]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5219
mov dword [edx + 0xc8], eax
jmp 0x5b5224
lea edi, [edx + 0xc8]
call fcn.00463080
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 0x5b5319
cmp al, 0x17
jne 0x5b5489
mov ebx, dword [esp + 0x48]
cmp ebx, 1
jne 0x5b535f
movzx ebx, byte [esp + 0x19c]
test bl, bl
jne 0x5b535f
test edx, edx
je 0x5b5336
mov dword [esp + 0xec], ecx
nop
mov ebx, dword [0x8e84e0]
test ebx, ebx
jne 0x5b52c0
xor eax, eax
mov ebx, edi
mov edi, dword [esp + 0x4c]
call fcn.0046331a
mov ecx, dword [esp + 0xec]
mov dword [ebp + 0x180], ecx
jmp 0x5b5303
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], edx
lea eax, [0x6a5080]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.00411030
mov eax, dword [esp + 0x198]
lea edi, [eax + 0x180]
mov ecx, eax
mov eax, dword [esp + 0xec]
call fcn.00463080
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.005b5d40
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.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b53e6
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b53d2
mov eax, dword [esp + 0x54]
mov dword [edx + 0xc8], eax
jmp 0x5b5468
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x54]
call fcn.00463080
jmp 0x5b5468
mov dword [esp + 0x94], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5425
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
jmp 0x5b5438
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b545d
mov dword [edx + 0xc8], eax
jmp 0x5b5468
lea edi, [edx + 0xc8]
call fcn.00463080
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.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5510
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b54fc
mov eax, dword [esp + 0x74]
mov dword [edx + 0xc8], eax
jmp 0x5b5592
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x74]
call fcn.00463080
jmp 0x5b5592
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b554f
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x5b5562
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5587
mov dword [edx + 0xc8], eax
jmp 0x5b5592
lea edi, [edx + 0xc8]
call fcn.00463080
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.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b563a
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5626
mov eax, dword [esp + 0x7c]
mov dword [edx + 0xc8], eax
jmp 0x5b56bc
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x7c]
call fcn.00463080
jmp 0x5b56bc
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5679
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
jmp 0x5b568c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b56b1
mov dword [edx + 0xc8], eax
jmp 0x5b56bc
lea edi, [edx + 0xc8]
call fcn.00463080
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.005b6370
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5774
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b575d
mov eax, dword [esp + 0x80]
mov dword [edx + 0xc8], eax
jmp 0x5b57f6
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x80]
call fcn.00463080
jmp 0x5b57f6
mov dword [esp + 0x100], edx
mov dword [esp + 0xc8], ecx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b57b3
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x5b57c6
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b57eb
mov dword [edx + 0xc8], eax
jmp 0x5b57f6
lea edi, [edx + 0xc8]
call fcn.00463080
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, [0x69ea00]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5b584e
mov eax, 1
jmp 0x5b585e
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5b5875
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
jmp 0x5b5980
lea eax, [0x69ea00]
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.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b58f0
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ebx, dword [0x8e84e0]
test ebx, ebx
jne 0x5b58d9
mov eax, dword [esp + 0x88]
mov dword [edx + 0xc8], eax
jmp 0x5b5980
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x88]
call fcn.00463080
jmp 0x5b5980
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xf4], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf4]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b592f
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
jmp 0x5b5942
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd0]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5967
mov dword [edx + 0xc8], eax
jmp 0x5b5972
lea edi, [edx + 0xc8]
call fcn.00463080
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.005b6370
lea edi, [esp + 0x164]
xor eax, eax
call fcn.0046331a
lea eax, [0x6d2acd]
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 0x5b5cbf
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5b5a06
mov ecx, 5
lea ebx, [esp + 0x16c]
cmp ebx, edx
je 0x5b5a21
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00463a10
lea edi, [esp + 0x17c]
lea esi, [esp + 0x164]
call fcn.004637f4
lea eax, [0x6ac040]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408f90
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x69ea00]
mov dword [esp], ecx
lea ecx, [0x7399a4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5aca
lea ecx, [0x7399a4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5ab3
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5b5b4c
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.00463080
jmp 0x5b5b4c
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5b09
mov ecx, dword [esp + 0xe0]
mov dword [eax + 4], ecx
jmp 0x5b5b1c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5b41
mov dword [edx + 0xc8], eax
jmp 0x5b5b4c
lea edi, [edx + 0xc8]
call fcn.00463080
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, [0x697fe0]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x6da0e9]
mov dword [eax], ecx
lea ecx, [0x69ea00]
mov dword [esp], ecx
lea ecx, [0x7395a8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004093f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5b5c07
lea ecx, [0x7395a8]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5bf0
mov eax, dword [esp + 0xf0]
mov dword [edx + 0xc8], eax
jmp 0x5b5c89
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf0]
call fcn.00463080
jmp 0x5b5c89
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x697e60]
mov dword [esp], eax
call fcn.0040b800
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5c46
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
jmp 0x5b5c59
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe8]
call fcn.00463080
mov eax, ecx
lea ecx, [0x7394f4]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x8e84e0]
test ecx, ecx
jne 0x5b5c7e
mov dword [edx + 0xc8], eax
jmp 0x5b5c89
lea edi, [edx + 0xc8]
call fcn.00463080
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.00463160
mov dword [esp], ecx
lea eax, [0x699100]
mov dword [esp + 4], eax
lea eax, [0x695e20]
mov dword [esp + 8], eax
call fcn.00408ed0
mov dword [esp], esi
lea eax, [0x699100]
mov dword [esp + 4], eax
lea eax, [0x695e20]
mov dword [esp + 8], eax
call fcn.00408ed0
call fcn.00463160
call fcn.00463140
mov eax, ebp
call fcn.00463160
call fcn.00463160
mov eax, ebp
call fcn.00463160
mov edx, ecx
mov ecx, 5
call fcn.00463140
call fcn.00463160
nop
call fcn.00461c70
jmp fcn.005b3570