Function at 0x5a5da0
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 0x5a855d
sub esp, 0x194
mov eax, dword [esp + 0x198]
mov ecx, dword [eax + 0xc4]
mov edx, dword [eax + 0xc8]
test ecx, ecx
jne 0x5a84da
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.00463c50
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 0x5a5e2b
xor esi, esi
jmp 0x5a5e2d
sub esi, ecx
test esi, esi
jne 0x5a839d
mov dword [esp + 0x48], edx
lea edi, [eax + 0x180]
mov dword [esp + 0x4c], edi
nop
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a5e57
xor eax, eax
call fcn.0045faca
jmp 0x5a5e69
lea eax, [0x673980]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00410bd0
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, [0x6660c0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00408ec0
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.005a88a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5a60b6
mov ebp, dword [0x86d654]
cmp dword [0x86d650], ecx
je 0x5a5eec
xor ecx, ecx
jmp 0x5a5f19
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.004033c0
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x8c]
mov ecx, eax
mov eax, dword [esp + 0x38]
test cl, cl
je 0x5a5f40
mov ecx, dword [esp + 0x198]
mov edx, dword [ecx + 0x178]
cmp dword [ecx + 0x170], edx
jne 0x5a5f47
mov eax, dword [0x86d628]
mov ebx, dword [0x86d62c]
jmp 0x5a5f47
mov ecx, dword [esp + 0x198]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x38], eax
lea ecx, [0x66e1e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5a5f7b
mov eax, 1
jmp 0x5a5f8b
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5a5f9f
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
jmp 0x5a60a1
lea eax, [0x66e1e0]
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.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6014
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ebx, dword [0x894e10]
test ebx, ebx
jne 0x5a5ffd
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xc8], eax
jmp 0x5a60a1
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x8c]
call fcn.0045f830
jmp 0x5a60a1
mov dword [esp + 0x100], edx
mov dword [esp + 0xe4], ecx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6053
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x5a6066
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a608b
mov dword [edx + 0xc8], eax
jmp 0x5a6096
lea edi, [edx + 0xc8]
call fcn.0045f830
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 0x5a8557
sub edx, eax
mov ecx, edx
neg edx
sar edx, 0x1f
and eax, edx
cmp ecx, 5
jb 0x5a854b
movzx ecx, byte [ebp + eax]
mov edx, dword [esp + 0x48]
cmp edx, 1
je 0x5a6108
cmp cl, 0x80
je 0x5a81c5
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 0x5a63f7
mov eax, ecx
movzx ecx, word [ebx + 0x24]
cmp cx, 0x304
je 0x5a63eb
cmp cx, dx
jne 0x5a6157
xchg ebp, eax
test al, al
xchg ebp, eax
jmp 0x5a63ef
mov word [esp + 0x2a], dx
mov dword [esp], ebx
mov byte [esp + 4], 0x46
call fcn.005a8ba0
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.00408c40
mov eax, dword [esp + 4]
lea ecx, [0x65f380]
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.00408c40
mov eax, dword [esp + 4]
lea ecx, [0x65f380]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
lea eax, [0x6a4c1c]
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.004c36d0
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.0045faca
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 0x5a8544
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5a6284
mov ecx, 5
lea ebx, [esp + 0x154]
cmp ebx, edx
je 0x5a629f
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004601c0
lea edi, [esp + 0x17c]
lea esi, [esp + 0x14c]
call fcn.0045ffa4
lea eax, [0x679d40]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408b70
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x66e1e0]
mov dword [esp], ecx
lea ecx, [0x703534]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6348
lea ecx, [0x703534]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6331
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5a63ca
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.0045f830
jmp 0x5a63ca
mov dword [esp + 0x100], edx
mov dword [esp + 0xdc], ecx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6387
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
jmp 0x5a639a
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a63bf
mov dword [edx + 0xc8], eax
jmp 0x5a63ca
lea edi, [edx + 0xc8]
call fcn.0045f830
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 0x5a65f5
jmp 0x5a63f9
mov eax, ecx
xchg edi, eax
cmp al, 0x15
xchg edi, eax
je 0x5a6407
xchg edi, eax
cmp al, 0x16
xchg edi, eax
jne 0x5a6412
cmp dx, 0x1000
jb 0x5a65f5
mov ecx, dword [ebx]
mov dword [esp + 0x40], ecx
mov edx, dword [ebx + 4]
lea edi, [esp + 0x134]
xor eax, eax
call fcn.0045faca
lea ecx, [0x6a2b60]
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 0x5a853f
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 0x5a648e
mov ecx, 5
lea edx, [esp + 0x13c]
cmp edx, eax
je 0x5a64a9
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004601c0
lea edi, [esp + 0x17c]
lea esi, [esp + 0x134]
call fcn.0045ffa4
lea eax, [0x679d40]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408b70
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x66e1e0]
mov dword [esp], ecx
lea ecx, [0x703534]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6552
lea ecx, [0x703534]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a653b
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5a65d4
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.0045f830
jmp 0x5a65d4
mov dword [esp + 0x100], edx
mov dword [esp + 0xd8], ecx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6591
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
jmp 0x5a65a4
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd8]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a65c9
mov dword [edx + 0xc8], eax
jmp 0x5a65d4
lea edi, [edx + 0xc8]
call fcn.0045f830
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 0x5a660d
cmp eax, 0x4100
jg 0x5a6618
jmp 0x5a6863
cmp eax, 0x4800
jle 0x5a6863
mov dword [esp], ebx
mov byte [esp + 4], 0x16
call fcn.005a8ba0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00408cb0
mov eax, dword [esp + 4]
lea ecx, [0x65ea00]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
lea eax, [0x6a0a86]
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.004c36d0
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.0045faca
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 0x5a8538
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5a66fc
mov ecx, 5
lea ebx, [esp + 0x124]
cmp ebx, edx
je 0x5a6717
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004601c0
lea edi, [esp + 0x17c]
lea esi, [esp + 0x11c]
call fcn.0045ffa4
lea eax, [0x679d40]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408b70
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x66e1e0]
mov dword [esp], ecx
lea ecx, [0x703534]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a67c0
lea ecx, [0x703534]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a67a9
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5a6842
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.0045f830
jmp 0x5a6842
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a67ff
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], ecx
jmp 0x5a6812
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd4]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6837
mov dword [edx + 0xc8], eax
jmp 0x5a6842
lea edi, [edx + 0xc8]
call fcn.0045f830
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, [0x6660c0]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00408ec0
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.005a88a0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x5a8047
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 0x5a68fa
mov esi, edi
lea ecx, [esi + eax]
cmp edx, ecx
jb 0x5a8533
cmp eax, ecx
ja 0x5a852e
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 0x5a692b
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.005a4390
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 0x5a6ab4
lea eax, [0x703548]
cmp esi, eax
jne 0x5a8512
movzx eax, byte [edi]
mov ecx, dword [esp + 0x198]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6a11
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a69fa
mov eax, dword [esp + 0x84]
mov dword [edx + 0xc8], eax
jmp 0x5a6a93
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x84]
call fcn.0045f830
jmp 0x5a6a93
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6a50
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
jmp 0x5a6a63
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6a88
mov dword [edx + 0xc8], eax
jmp 0x5a6a93
lea edi, [edx + 0xc8]
call fcn.0045f830
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 0x5a7f0d
mov ebp, dword [esp + 0x198]
mov esi, dword [ebp + 0xd0]
test esi, esi
jne 0x5a6ada
cmp al, 0x17
je 0x5a7de3
cmp al, 0x15
je 0x5a6af2
cmp al, 0x14
je 0x5a6af2
test edx, edx
je 0x5a6af2
mov dword [ebp + 0x1cc], 0
movzx esi, word [ebp + 0x24]
cmp si, 0x304
jne 0x5a6c4e
cmp al, 0x16
je 0x5a7937
mov edi, ebx
mov ebx, dword [ebp + 0x19c]
sub ebx, dword [ebp + 0x1a4]
test ebx, ebx
jg 0x5a6b24
cmp al, 0x15
jmp 0x5a6c53
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6bab
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6b97
mov eax, dword [esp + 0x78]
mov dword [edx + 0xc8], eax
jmp 0x5a6c2d
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x78]
call fcn.0045f830
jmp 0x5a6c2d
mov dword [esp + 0x100], edx
mov dword [esp + 0xc0], ecx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6bea
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x5a6bfd
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6c22
mov dword [edx + 0xc8], eax
jmp 0x5a6c2d
lea edi, [edx + 0xc8]
call fcn.0045f830
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 0x5a792c
cmp al, 0x14
jne 0x5a7296
cmp edx, 1
jne 0x5a6c70
cmp byte [ecx], 1
je 0x5a6d9a
mov dword [esp], ebp
mov byte [esp + 4], 0x32
call fcn.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6cf7
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6ce3
mov eax, dword [esp + 0x64]
mov dword [edx + 0xc8], eax
jmp 0x5a6d79
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x64]
call fcn.0045f830
jmp 0x5a6d79
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6d36
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
jmp 0x5a6d49
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa4]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6d6e
mov dword [edx + 0xc8], eax
jmp 0x5a6d79
lea edi, [edx + 0xc8]
call fcn.0045f830
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 0x5a716c
cmp si, 0x304
je 0x5a713b
movzx ecx, byte [esp + 0x19c]
test cl, cl
je 0x5a7011
mov ecx, dword [ebp + 0xf8]
mov eax, dword [ebp + 0xfc]
test ecx, ecx
je 0x5a6ebb
cmp word [ebp + 0xcc], 0x304
je 0x5a6ebb
mov dword [ebp + 0xd0], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6e04
mov dword [ebp + 0xd4], eax
jmp 0x5a6e0f
lea edi, [ebp + 0xd4]
call fcn.0045f830
mov eax, dword [ebp + 0x104]
mov ecx, dword [ebp + 0x100]
mov dword [ebp + 0xd8], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6e33
mov dword [ebp + 0xdc], eax
jmp 0x5a6e3e
lea edi, [ebp + 0xdc]
call fcn.0045f830
mov dword [ebp + 0xf8], 0
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6e5e
mov dword [ebp + 0xfc], 0
jmp 0x5a6e6b
lea edi, [ebp + 0xfc]
xor eax, eax
call fcn.0045f830
mov dword [ebp + 0x100], 0
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6e8b
mov dword [ebp + 0x104], 0
jmp 0x5a6e98
lea edi, [ebp + 0x104]
xor eax, eax
call fcn.0045f830
lea eax, [ebp + 0xe0]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0045fff0
mov ebp, dword [esp + 0x198]
xor ecx, ecx
xor eax, eax
jmp 0x5a6ecf
mov eax, 0x50
lea ecx, [0x848800]
lea eax, [ecx + eax*8]
lea ecx, [0x703548]
test ecx, ecx
je 0x5a7b49
lea edx, [0x703548]
cmp ecx, edx
jne 0x5a84f6
movzx eax, byte [eax]
mov dword [esp], ebp
mov byte [esp + 4], al
call fcn.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6f6e
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6f5a
mov eax, dword [esp + 0x58]
mov dword [edx + 0xc8], eax
jmp 0x5a6ff0
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x58]
call fcn.0045f830
jmp 0x5a6ff0
mov dword [esp + 0x98], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6fad
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
jmp 0x5a6fc0
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a6fe5
mov dword [edx + 0xc8], eax
jmp 0x5a6ff0
lea edi, [edx + 0xc8]
call fcn.0045f830
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.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a7098
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7084
mov eax, dword [esp + 0x5c]
mov dword [edx + 0xc8], eax
jmp 0x5a711a
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x5c]
call fcn.0045f830
jmp 0x5a711a
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a70d7
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
jmp 0x5a70ea
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a710f
mov dword [edx + 0xc8], eax
jmp 0x5a711a
lea edi, [edx + 0xc8]
call fcn.0045f830
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.005a8570
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.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a71f3
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a71df
mov eax, dword [esp + 0x60]
mov dword [edx + 0xc8], eax
jmp 0x5a7275
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x60]
call fcn.0045f830
jmp 0x5a7275
mov dword [esp + 0x100], edx
mov dword [esp + 0xa0], ecx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7232
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x5a7245
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a726a
mov dword [edx + 0xc8], eax
jmp 0x5a7275
lea edi, [edx + 0xc8]
call fcn.0045f830
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 0x5a7cb9
cmp edx, 2
jne 0x5a7802
movzx eax, byte [ecx + 1]
test al, al
je 0x5a76e7
mov byte [esp + 0x29], al
cmp si, 0x304
je 0x5a758d
movzx ecx, byte [ecx]
cmp cl, 1
je 0x5a755c
cmp cl, 2
jne 0x5a7432
lea eax, [0x67aec0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x693324]
mov dword [eax], ecx
lea ecx, [0x703548]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x848800]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x66e1e0]
mov dword [esp], ecx
lea ecx, [0x703214]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a738f
lea ecx, [0x703214]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7378
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xc8], eax
jmp 0x5a7411
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf8]
call fcn.0045f830
jmp 0x5a7411
mov dword [esp + 0xac], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a73ce
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
jmp 0x5a73e1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7406
mov dword [edx + 0xc8], eax
jmp 0x5a7411
lea edi, [edx + 0xc8]
call fcn.0045f830
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.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a74b9
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a74a5
mov eax, dword [esp + 0x68]
mov dword [edx + 0xc8], eax
jmp 0x5a753b
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x68]
call fcn.0045f830
jmp 0x5a753b
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a74f8
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
jmp 0x5a750b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa8]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7530
mov dword [edx + 0xc8], eax
jmp 0x5a753b
lea edi, [edx + 0xc8]
call fcn.0045f830
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.005a8570
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, [0x67aec0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x693324]
mov dword [eax], ecx
lea ecx, [0x703548]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x848800]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x66e1e0]
mov dword [esp], ecx
lea ecx, [0x703214]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a7644
lea ecx, [0x703214]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a762d
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xc8], eax
jmp 0x5a76c6
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf8]
call fcn.0045f830
jmp 0x5a76c6
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7683
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
jmp 0x5a7696
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a76bb
mov dword [edx + 0xc8], eax
jmp 0x5a76c6
lea edi, [edx + 0xc8]
call fcn.0045f830
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 [0x86d62c]
mov dword [esp + 0x6c], eax
mov ecx, dword [0x86d628]
mov dword [esp + 0x34], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a775f
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a774b
mov eax, dword [esp + 0x6c]
mov dword [edx + 0xc8], eax
jmp 0x5a77e1
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x6c]
call fcn.0045f830
jmp 0x5a77e1
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a779e
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x5a77b1
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a77d6
mov dword [edx + 0xc8], eax
jmp 0x5a77e1
lea edi, [edx + 0xc8]
call fcn.0045f830
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.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a7889
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7875
mov eax, dword [esp + 0x70]
mov dword [edx + 0xc8], eax
jmp 0x5a790b
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x70]
call fcn.0045f830
jmp 0x5a790b
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a78c8
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
jmp 0x5a78db
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7900
mov dword [edx + 0xc8], eax
jmp 0x5a790b
lea edi, [edx + 0xc8]
call fcn.0045f830
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 0x5a7a94
mov ebx, edi
test edx, edx
je 0x5a794b
movzx eax, byte [esp + 0x19c]
test al, al
je 0x5a7a75
mov dword [esp], ebp
mov byte [esp + 4], 0xa
call fcn.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a79d2
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a79be
mov eax, dword [esp + 0x50]
mov dword [edx + 0xc8], eax
jmp 0x5a7a54
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x50]
call fcn.0045f830
jmp 0x5a7a54
mov dword [esp + 0x90], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7a11
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
jmp 0x5a7a24
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x90]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7a49
mov dword [edx + 0xc8], eax
jmp 0x5a7a54
lea edi, [edx + 0xc8]
call fcn.0045f830
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.0046f150
jmp 0x5a7b49
cmp al, 0x17
jne 0x5a7cb9
mov ebx, dword [esp + 0x48]
cmp ebx, 1
jne 0x5a7b8f
movzx ebx, byte [esp + 0x19c]
test bl, bl
jne 0x5a7b8f
test edx, edx
je 0x5a7b66
mov dword [esp + 0xec], ecx
nop
mov ebx, dword [0x894e10]
test ebx, ebx
jne 0x5a7af0
xor eax, eax
mov ebx, edi
mov edi, dword [esp + 0x4c]
call fcn.0045faca
mov ecx, dword [esp + 0xec]
mov dword [ebp + 0x180], ecx
jmp 0x5a7b33
mov dword [esp + 0x44], edi
mov dword [esp + 0x3c], edx
lea eax, [0x673980]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.00410bd0
mov eax, dword [esp + 0x198]
lea edi, [eax + 0x180]
mov ecx, eax
mov eax, dword [esp + 0xec]
call fcn.0045f830
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.005a8570
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.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a7c16
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7c02
mov eax, dword [esp + 0x54]
mov dword [edx + 0xc8], eax
jmp 0x5a7c98
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x54]
call fcn.0045f830
jmp 0x5a7c98
mov dword [esp + 0x94], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7c55
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
jmp 0x5a7c68
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7c8d
mov dword [edx + 0xc8], eax
jmp 0x5a7c98
lea edi, [edx + 0xc8]
call fcn.0045f830
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.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a7d40
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7d2c
mov eax, dword [esp + 0x74]
mov dword [edx + 0xc8], eax
jmp 0x5a7dc2
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x74]
call fcn.0045f830
jmp 0x5a7dc2
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7d7f
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x5a7d92
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7db7
mov dword [edx + 0xc8], eax
jmp 0x5a7dc2
lea edi, [edx + 0xc8]
call fcn.0045f830
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.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a7e6a
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7e56
mov eax, dword [esp + 0x7c]
mov dword [edx + 0xc8], eax
jmp 0x5a7eec
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x7c]
call fcn.0045f830
jmp 0x5a7eec
mov dword [esp + 0xc4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7ea9
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
jmp 0x5a7ebc
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7ee1
mov dword [edx + 0xc8], eax
jmp 0x5a7eec
lea edi, [edx + 0xc8]
call fcn.0045f830
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.005a8ba0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a7fa4
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7f8d
mov eax, dword [esp + 0x80]
mov dword [edx + 0xc8], eax
jmp 0x5a8026
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x80]
call fcn.0045f830
jmp 0x5a8026
mov dword [esp + 0x100], edx
mov dword [esp + 0xc8], ecx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a7fe3
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x5a7ff6
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a801b
mov dword [edx + 0xc8], eax
jmp 0x5a8026
lea edi, [edx + 0xc8]
call fcn.0045f830
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, [0x66e1e0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5a807e
mov eax, 1
jmp 0x5a808e
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5a80a5
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
jmp 0x5a81b0
lea eax, [0x66e1e0]
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.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a8120
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ebx, dword [0x894e10]
test ebx, ebx
jne 0x5a8109
mov eax, dword [esp + 0x88]
mov dword [edx + 0xc8], eax
jmp 0x5a81b0
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0x88]
call fcn.0045f830
jmp 0x5a81b0
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xf4], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf4]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a815f
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
jmp 0x5a8172
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd0]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a8197
mov dword [edx + 0xc8], eax
jmp 0x5a81a2
lea edi, [edx + 0xc8]
call fcn.0045f830
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.005a8ba0
lea edi, [esp + 0x164]
xor eax, eax
call fcn.0045faca
lea eax, [0x69f09a]
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 0x5a84ef
sub ecx, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
add edx, ebp
cmp ecx, 5
jl 0x5a8236
mov ecx, 5
lea ebx, [esp + 0x16c]
cmp ebx, edx
je 0x5a8251
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004601c0
lea edi, [esp + 0x17c]
lea esi, [esp + 0x164]
call fcn.0045ffa4
lea eax, [0x679d40]
mov dword [esp], eax
lea eax, [esp + 0x17c]
mov dword [esp + 4], eax
call fcn.00408b70
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x66e1e0]
mov dword [esp], ecx
lea ecx, [0x703534]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a82fa
lea ecx, [0x703534]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a82e3
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xc8], eax
jmp 0x5a837c
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xfc]
call fcn.0045f830
jmp 0x5a837c
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a8339
mov ecx, dword [esp + 0xe0]
mov dword [eax + 4], ecx
jmp 0x5a834c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a8371
mov dword [edx + 0xc8], eax
jmp 0x5a837c
lea edi, [edx + 0xc8]
call fcn.0045f830
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, [0x667e60]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x6a6232]
mov dword [eax], ecx
lea ecx, [0x66e1e0]
mov dword [esp], ecx
lea ecx, [0x703160]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408fd0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a8437
lea ecx, [0x703160]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a8420
mov eax, dword [esp + 0xf0]
mov dword [edx + 0xc8], eax
jmp 0x5a84b9
lea edi, [edx + 0xc8]
mov eax, dword [esp + 0xf0]
call fcn.0045f830
jmp 0x5a84b9
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x667ce0]
mov dword [esp], eax
call fcn.0040b400
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a8476
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
jmp 0x5a8489
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe8]
call fcn.0045f830
mov eax, ecx
lea ecx, [0x7030ac]
mov edx, dword [esp + 0x198]
mov dword [edx + 0xc4], ecx
mov ecx, dword [0x894e10]
test ecx, ecx
jne 0x5a84ae
mov dword [edx + 0xc8], eax
jmp 0x5a84b9
lea edi, [edx + 0xc8]
call fcn.0045f830
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.0045f910
mov dword [esp], ecx
lea eax, [0x668ce0]
mov dword [esp + 4], eax
lea eax, [0x665e80]
mov dword [esp + 8], eax
call fcn.00408ab0
mov dword [esp], esi
lea eax, [0x668ce0]
mov dword [esp + 4], eax
lea eax, [0x665e80]
mov dword [esp + 8], eax
call fcn.00408ab0
call fcn.0045f910
call fcn.0045f8f0
mov eax, ebp
call fcn.0045f910
call fcn.0045f910
mov eax, ebp
call fcn.0045f910
mov edx, ecx
mov ecx, 5
call fcn.0045f8f0
call fcn.0045f910
nop
call fcn.0045e420
jmp fcn.005a5da0