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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xd0]
cmp eax, dword [ecx + 8]
jbe 0x5a528f
sub esp, 0x150
lea eax, [0x624a20]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x154]
mov dword [esp], ecx
mov edx, dword [esp + 0x158]
mov dword [esp + 4], edx
call fcn.005b1960
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x154]
mov dword [esp], ecx
lea edx, [0x5f1480]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x10], eax
call fcn.005b2650
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x5a3386
mov eax, dword [esp + 0x154]
test byte [eax], al
lea edi, [eax + 0x1c8]
mov esi, dword [esp + 0xe4]
call fcn.00462bfc
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 8]
test edx, edx
je 0x5a3201
mov edx, dword [ecx + 0xc]
test edx, edx
jne 0x5a321e
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov byte [eax + 0x2a9], 1
mov edx, dword [eax + 0x2bc]
movzx edx, byte [edx + 0x27]
test dl, dl
jne 0x5a3369
mov edx, dword [ecx + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.005b1960
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
lea edi, [esp + 0x114]
xor eax, eax
call fcn.00462799
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0xc]
mov ebx, dword [esp + 0x154]
mov dword [esp], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
call fcn.005a2bb0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xdc], ecx
mov edx, dword [esp + 0x2c]
lea edi, [esp + 0x114]
lea esi, [esp + 0xc]
call fcn.00462c6a
lea edi, [esp + 0xf8]
lea esi, [esp + 0x114]
call fcn.00462c6a
test eax, eax
jne 0x5a334d
mov eax, dword [esp + 0x154]
lea edi, [eax + 0x210]
mov ecx, dword [0x81dcc0]
test ecx, ecx
jne 0x5a32e4
lea esi, [esp + 0x114]
call fcn.00462c6a
jmp 0x5a3301
lea eax, [0x61e480]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x114]
mov dword [esp + 8], eax
call fcn.004106f0
call fcn.0040c7a0
mov eax, dword [0x81dcc0]
mov ecx, dword [esp]
test eax, eax
jne 0x5a3322
mov ebx, dword [esp + 0x154]
mov dword [ebx + 0x238], ecx
jmp 0x5a3336
mov ebx, dword [esp + 0x154]
lea edi, [ebx + 0x238]
mov eax, ecx
call fcn.00462500
mov ebp, dword [esp + 0x104]
mov esi, dword [esp + 0x48]
lea ebp, [ebp + esi + 0x14]
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x5a33b3
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
add esp, 0x150
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov dword [esp + 0x160], ecx
mov dword [esp + 0x164], edx
add esp, 0x150
ret
movzx esi, word [esp + 0x32]
lea eax, [esi + 1]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov ebp, dword [esp + 0x48]
mov ebx, ecx
mov ecx, esi
mov dword [esp + 0x54], ecx
cmp word [esp + 0x112], ax
jbe 0x5a36f7
mov esi, dword [ebx + 0x2ac]
add esi, 0xfffffffc
cmp ebp, esi
jbe 0x5a33f6
mov edi, dword [0x7f8238]
mov ebx, dword [0x7f823c]
mov word [esp + 0x88], ax
xor eax, eax
mov dword [esp + 0x38], eax
movzx eax, word [esp + 0x88]
jmp 0x5a3437
mov dword [esp + 0x7c], esi
mov edi, dword [ebx + 0x28c]
mov esi, dword [ebx + 0x288]
mov ebx, dword [ebx + 0x290]
cmp ebp, edi
ja 0x5a5285
sub edi, ebp
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebx, ebp
cmp edi, 3
jbe 0x5a5279
mov esi, dword [ebx + esi]
mov dword [esp + 0x38], esi
xor edi, edi
xor ebx, ebx
mov esi, dword [esp + 0x7c]
test edi, edi
jne 0x5a36e2
lea ebx, [ebp + 4]
cmp esi, ebx
jae 0x5a3456
mov ebx, dword [0x7f8238]
mov esi, dword [0x7f823c]
xor edi, edi
jmp 0x5a34b2
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0x154]
mov edi, dword [esi + 0x28c]
mov ebp, dword [esi + 0x288]
mov esi, dword [esi + 0x290]
cmp edi, ebx
jb 0x5a5270
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x48]
sub esi, ebp
sub edi, ebp
add esi, 0xfffffffc
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebx, esi
lea esi, [edi - 4]
cmp esi, 3
jbe 0x5a5264
mov edi, dword [esp + 0xd8]
mov edi, dword [ebx + edi]
xor ebx, ebx
xor esi, esi
test ebx, ebx
jne 0x5a36cd
mov word [esp + 0x32], ax
mov dword [esp + 0x34], edi
mov dword [esp + 0x58], edx
lea ebx, [ebp + 8]
mov ebp, dword [esp + 0x154]
xor esi, esi
xor esi, esi
mov dword [esp + 0xc4], esi
xor esi, esi
mov dword [esp + 0x44], esi
xor esi, esi
jmp 0x5a511f
mov ebp, dword [esp + 0x154]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x48], ebx
mov esi, dword [esp + 0x44]
cmp esi, 2
jne 0x5a352d
mov ebx, dword [esp + 0xc4]
cmp word [ebx], 0x7e23
je 0x5a351f
cmp esi, 2
jne 0x5a3529
cmp word [ebx], 0x2d23
jne 0x5a3525
mov edx, dword [esp + 0x38]
jmp 0x5a352f
mov edi, ecx
jmp 0x5a352f
mov edi, ecx
jmp 0x5a352f
mov edi, ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], edi
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 8]
mov dword [esp], ebp
mov ebx, dword [esp + 0x38]
add ecx, ebx
mov dword [esp + 4], ecx
call fcn.005b1960
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x290]
mov ebx, dword [ecx + 0x288]
mov ebp, dword [esp + 0x34]
lea esi, [ebp + eax]
cmp edx, esi
jb 0x5a524b
cmp eax, esi
ja 0x5a5244
mov dword [esp + 0x40], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0xd8], ebx
mov eax, dword [ecx + 0x238]
lea edx, [0x601760]
mov dword [esp], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
call fcn.0040ff80
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x40]
sub ecx, edx
mov dword [edi + 8], ecx
mov ebx, dword [0x81dcc0]
neg ecx
sar ecx, 0x1f
and edx, ecx
mov ecx, dword [esp + 0xd8]
add ecx, edx
test ebx, ebx
jne 0x5a35f2
mov dword [edi], ecx
jmp 0x5a35fd
mov edx, eax
mov eax, ecx
call fcn.00462500
mov eax, edx
mov ebx, dword [esp + 0x154]
mov ebp, dword [ebx + 0x230]
inc ebp
mov esi, dword [ebx + 0x22c]
mov ecx, ebx
mov ebx, dword [ebx + 0x234]
cmp ebx, ebp
jae 0x5a367f
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6139e0]
mov dword [esp + 0x10], eax
call fcn.0044a040
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x154]
mov dword [ebx + 0x234], edx
mov edx, dword [0x81dcc0]
test edx, edx
jne 0x5a366a
mov dword [ebx + 0x22c], eax
jmp 0x5a3675
lea edi, [ebx + 0x22c]
call fcn.00462500
mov esi, eax
mov ebp, ecx
mov eax, dword [esp + 0x34]
mov ecx, ebx
mov dword [ecx + 0x230], ebp
lea ebx, [ebp - 1]
shl ebx, 4
mov ebp, dword [esp + 0x38]
mov dword [esi + ebx], ebp
mov dword [esi + ebx + 4], eax
mov ebp, dword [esp + 0x44]
mov dword [esi + ebx + 0xc], ebp
mov ebp, dword [0x81dcc0]
lea edi, [esi + ebx + 8]
test ebp, ebp
jne 0x5a36bc
mov ebp, dword [esp + 0xc4]
mov dword [esi + ebx + 8], ebp
jmp 0x5a339b
mov eax, dword [esp + 0xc4]
call fcn.00462500
jmp 0x5a339b
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], esi
add esp, 0x150
ret
mov dword [esp + 0x160], edi
mov dword [esp + 0x164], ebx
add esp, 0x150
ret
test ecx, ecx
je 0x5a38b9
mov eax, dword [esp + 0xe4]
mov eax, dword [eax + 8]
mov dword [esp], ebx
add eax, edx
mov dword [esp + 4], eax
call fcn.005b1960
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x154]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x54]
mov dword [esp + 8], edx
call fcn.005a2a90
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc8], ecx
lea edi, [esp + 0xa8]
lea esi, [esp + 0xc]
call fcn.00462c74
lea edi, [esp + 0x90]
lea esi, [esp + 0xa8]
call fcn.00462c74
test eax, eax
jne 0x5a389c
mov ecx, dword [esp + 0x154]
lea edi, [ecx + 0x23c]
lea esi, [esp + 0xa8]
call fcn.00462c74
mov ecx, dword [esp + 0x154]
movzx edx, byte [ecx + 0x242]
test edx, 1
seta dl
and edx, 1
test dl, dl
je 0x5a37b2
mov edx, 4
jmp 0x5a37b7
mov edx, 2
mov dword [ecx + 0x258], edx
movzx edx, byte [ecx + 0x242]
test edx, 2
seta dl
and edx, 1
test dl, dl
je 0x5a37db
mov edx, 4
jmp 0x5a37e0
mov edx, 2
mov dword [esp + 0x60], eax
mov dword [ecx + 0x25c], edx
movzx edx, byte [ecx + 0x242]
test edx, 4
seta dl
and edx, 1
test dl, dl
je 0x5a3808
mov edx, 4
jmp 0x5a380d
mov edx, 2
mov dword [ecx + 0x260], edx
lea eax, [0x61db20]
mov dword [esp], eax
lea edx, [esp + 0x90]
mov dword [esp + 4], edx
call fcn.00409410
mov eax, dword [esp + 8]
lea ecx, [0x61db20]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004b8200
mov eax, dword [esp + 8]
mov dword [esp + 0x78], eax
call fcn.0040c7a0
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x48]
add eax, ecx
mov ecx, dword [0x81dcc0]
mov edx, dword [esp]
test ecx, ecx
jne 0x5a3875
mov ebx, dword [esp + 0x154]
mov dword [ebx + 0x254], edx
jmp 0x5a388d
mov ebx, dword [esp + 0x154]
lea edi, [ebx + 0x254]
mov ecx, eax
mov eax, edx
call fcn.00462500
mov eax, ecx
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x60]
xor ebp, ebp
jmp 0x5a38e2
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
lea ebp, [ecx + 1]
mov ecx, ebx
mov ebx, dword [esp + 0x154]
cmp ebp, 0x2c
jg 0x5a3aae
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
test ebp, ebp
jl 0x5a50ff
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x74], edx
mov dword [esp + 0x70], eax
lea ebx, [ebp - 0x20]
mov dword [esp + 0x7c], ebx
cmp ebx, 0x20
sbb eax, eax
neg ebx
cmp ebx, 0x20
sbb edx, edx
cmp ebp, 0x20
sbb esi, esi
mov dword [esp + 0x6c], esi
mov ecx, dword [esp + 0x7c]
mov esi, 1
shl esi, cl
and eax, esi
mov ecx, ebx
mov ebx, 1
shr ebx, cl
and ebx, edx
or ebx, eax
and ebx, edi
test ebx, ebx
seta al
sete dl
mov ecx, ebp
mov ebx, 1
shl ebx, cl
mov esi, dword [esp + 0x6c]
and esi, ebx
mov ebx, dword [esp + 0x4c]
test esi, ebx
seta bl
and edx, ebx
or eax, edx
test al, al
jne 0x5a3988
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xd4]
jmp 0x5a38d6
mov dword [esp + 0x78], ecx
lea eax, [0x613a60]
mov dword [esp], eax
call fcn.0040bcc0
mov eax, dword [esp + 4]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x78]
mov dword [esp], ecx
call fcn.005a2970
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0xe0]
mov dword [edi + 4], ecx
mov ecx, dword [0x81dcc0]
test ecx, ecx
jne 0x5a39d1
mov dword [edi], eax
jmp 0x5a39d6
call fcn.00462500
mov edx, dword [esp + 0x154]
mov ebx, dword [edx + 0x2ac]
add ebx, 0xfffffffc
mov eax, dword [esp + 0x70]
cmp eax, ebx
jbe 0x5a39fe
mov ecx, dword [0x7f8238]
mov ebx, dword [0x7f823c]
xor ebp, ebp
jmp 0x5a3a38
mov ecx, dword [edx + 0x28c]
mov ebx, dword [edx + 0x288]
mov ebp, dword [edx + 0x290]
cmp eax, ecx
ja 0x5a50fa
sub ecx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
cmp ecx, 3
jbe 0x5a50f0
mov ebp, dword [ebp + ebx]
xor ecx, ecx
xor ebx, ebx
mov dword [edi + 8], ebp
test ecx, ecx
jne 0x5a3ab9
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x68], ecx
mov eax, dword [edx + 0x254]
lea ecx, [0x601320]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.0040e690
mov edi, dword [esp + 0xc]
test byte [edi], al
mov eax, dword [0x81dcc0]
test eax, eax
jne 0x5a3a85
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
jmp 0x5a3a91
mov eax, dword [esp + 0xe0]
call fcn.00462500
mov ebx, dword [esp + 0x70]
lea eax, [ebx + 4]
mov ecx, dword [esp + 0x78]
mov ebp, ecx
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xd0]
jmp 0x5a38d6
mov ebx, ecx
mov ecx, edx
mov edx, dword [esp + 0x154]
xor ebp, ebp
jmp 0x5a3ad1
mov esi, dword [esp + 0x3c]
lea ebp, [esi + 1]
mov ebx, ecx
mov ecx, eax
mov eax, edx
mov edx, dword [esp + 0x154]
cmp ebp, 0x2c
jg 0x5a50d3
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x254]
lea ecx, [0x601320]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0040e530
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
movzx ecx, byte [esp + 0x10]
test cl, cl
jne 0x5a3b29
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
jmp 0x5a3abd
mov dword [esp + 0xc0], eax
mov ecx, dword [esp + 0x3c]
cmp ecx, 0x12
jg 0x5a44ae
cmp ecx, 0xa
jg 0x5a4007
cmp ecx, 4
jg 0x5a3daf
cmp ecx, 1
jg 0x5a3c83
test ecx, ecx
je 0x5a3bf6
cmp ecx, 1
jne 0x5a4ac0
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a5a00
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f78e0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a3bda
mov dword [edx + 0x10], eax
jmp 0x5a3be2
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a55c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7520]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a3c67
mov dword [edx + 0x10], eax
jmp 0x5a3c6f
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 2
je 0x5a3d22
cmp ecx, 4
jne 0x5a4ac0
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a6190
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6f60]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a3d06
mov dword [edx + 0x10], eax
jmp 0x5a3d0e
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a5cb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f78a0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a3d93
mov dword [edx + 0x10], eax
jmp 0x5a3d9b
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 8
jg 0x5a3ee4
cmp ecx, 6
je 0x5a3e57
cmp ecx, 8
jne 0x5a4ac0
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a69a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f75e0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a3e3b
mov dword [edx + 0x10], eax
jmp 0x5a3e43
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a6480
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f73e0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a3ec8
mov dword [edx + 0x10], eax
jmp 0x5a3ed0
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 9
jne 0x5a3f7a
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a6ca0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f72e0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a3f5e
mov dword [edx + 0x10], eax
jmp 0x5a3f66
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a6eb0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7360]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a3feb
mov dword [edx + 0x10], eax
jmp 0x5a3ff3
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0xe
jg 0x5a425f
cmp ecx, 0xc
jg 0x5a413c
cmp ecx, 0xb
jne 0x5a40af
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a7160
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6b20]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4093
mov dword [edx + 0x10], eax
jmp 0x5a409b
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a7520
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6b60]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4120
mov dword [edx + 0x10], eax
jmp 0x5a4128
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0xd
jne 0x5a41d2
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a77d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6ee0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a41b6
mov dword [edx + 0x10], eax
jmp 0x5a41be
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a79e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6c20]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4243
mov dword [edx + 0x10], eax
jmp 0x5a424b
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x10
jg 0x5a438b
cmp ecx, 0xf
jne 0x5a42fe
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a7cd0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6a20]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a42e2
mov dword [edx + 0x10], eax
jmp 0x5a42ea
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a7fc0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6ea0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a436f
mov dword [edx + 0x10], eax
jmp 0x5a4377
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x11
jne 0x5a4421
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a8200
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7820]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4405
mov dword [edx + 0x10], eax
jmp 0x5a440d
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a8370
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6ce0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4492
mov dword [edx + 0x10], eax
jmp 0x5a449a
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x1c
jg 0x5a4970
cmp ecx, 0x18
jg 0x5a4721
cmp ecx, 0x15
jg 0x5a45f5
cmp ecx, 0x14
je 0x5a4568
cmp ecx, 0x15
jne 0x5a4ac0
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a8870
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7620]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a454c
mov dword [edx + 0x10], eax
jmp 0x5a4554
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a8580
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6d20]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a45d9
mov dword [edx + 0x10], eax
jmp 0x5a45e1
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x17
je 0x5a4694
cmp ecx, 0x18
jne 0x5a4ac0
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a8d70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7460]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4678
mov dword [edx + 0x10], eax
jmp 0x5a4680
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a8a80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7660]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4705
mov dword [edx + 0x10], eax
jmp 0x5a470d
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x1a
jg 0x5a484d
cmp ecx, 0x19
jne 0x5a47c0
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a9060
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7420]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a47a4
mov dword [edx + 0x10], eax
jmp 0x5a47ac
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a9310
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f74e0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4831
mov dword [edx + 0x10], eax
jmp 0x5a4839
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x1b
jne 0x5a48e3
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a9480
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7920]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a48c7
mov dword [edx + 0x10], eax
jmp 0x5a48cf
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a95f0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7220]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4954
mov dword [edx + 0x10], eax
jmp 0x5a495c
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x27
jg 0x5a4cf8
cmp ecx, 0x20
jg 0x5a4aae
cmp ecx, 0x1d
je 0x5a4a21
cmp ecx, 0x20
jne 0x5a4ac0
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a9bc0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6820]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4a05
mov dword [edx + 0x10], eax
jmp 0x5a4a0d
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005a9980
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6f20]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4a92
mov dword [edx + 0x10], eax
jmp 0x5a4a9a
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x23
je 0x5a4c6b
cmp ecx, 0x27
je 0x5a4bde
mov dword [esp], ecx
call fcn.005a2970
mov eax, dword [esp + 4]
mov dword [esp + 0xdc], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x78], ecx
lea edi, [esp + 0x130]
xor eax, eax
call fcn.00462798
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call fcn.004094f0
mov eax, dword [esp + 4]
lea ecx, [0x5ff140]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
call fcn.00409600
mov eax, dword [esp + 8]
lea ecx, [0x5ff840]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004094f0
mov eax, dword [esp + 4]
lea ecx, [0x5ff980]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], eax
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.004094f0
mov eax, dword [esp + 4]
lea ecx, [0x5ff980]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x154]
mov edx, dword [eax + 0x2c0]
mov dword [esp], edx
lea edx, [0x647742]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x32
lea ebx, [esp + 0x130]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 4
call fcn.004f0530
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
xor edx, edx
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005aac90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6de0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4c4f
mov dword [edx + 0x10], eax
jmp 0x5a4c57
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005aa470
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f67e0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4cdc
mov dword [edx + 0x10], eax
jmp 0x5a4ce4
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x29
jg 0x5a4e24
cmp ecx, 0x28
jne 0x5a4d97
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005ab0e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7320]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4d7b
mov dword [edx + 0x10], eax
jmp 0x5a4d83
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005ab490
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f7560]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4e08
mov dword [edx + 0x10], eax
jmp 0x5a4e10
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
cmp ecx, 0x2a
je 0x5a4f50
cmp ecx, 0x2b
jne 0x5a4ec3
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005aba40
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f74a0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4ea7
mov dword [edx + 0x10], eax
jmp 0x5a4eaf
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005abc50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6fa0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4f34
mov dword [edx + 0x10], eax
jmp 0x5a4f3c
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
jmp 0x5a4fd8
mov eax, dword [esp + 0x154]
mov dword [esp], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.005ab6a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x50], ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x60], ebp
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xc8], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00409680
mov eax, dword [esp + 0xc]
lea ecx, [0x5f6fe0]
mov edx, dword [esp + 0xc0]
mov dword [edx + 0xc], ecx
mov ebx, dword [0x81dcc0]
test ebx, ebx
jne 0x5a4fc1
mov dword [edx + 0x10], eax
jmp 0x5a4fc9
lea edi, [edx + 0x10]
call fcn.00462500
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0x50]
test eax, eax
je 0x5a50c8
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], edx
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.005a2970
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409600
mov eax, dword [esp + 8]
lea ecx, [0x5ff840]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5a5060
mov edx, dword [eax + 4]
jmp 0x5a5062
mov edx, eax
mov dword [esp + 0xf0], edx
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xf4], eax
mov ecx, dword [esp + 0x154]
mov edx, dword [ecx + 0x2c0]
mov dword [esp], edx
lea edx, [0x644f07]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x28
lea ebx, [esp + 0xe8]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call fcn.004f0530
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
add edx, ebp
jmp 0x5a3abd
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
add esp, 0x150
ret
mov eax, 3
call fcn.00462580
call fcn.004625f0
call fcn.00434010
inc esi
mov edi, dword [esp + 0x34]
mov dword [esp + 0xc4], ebp
mov dword [esp + 0x44], ebx
mov ebp, dword [esp + 0x154]
mov ebx, dword [esp + 0x7c]
cmp esi, 0x20
ja 0x5a34f8
mov dword [esp + 0x5c], esi
lea edi, [ebx + 1]
cmp dword [ebp + 0x2ac], edi
jae 0x5a515b
mov ebx, dword [0x7f8238]
mov ebp, dword [0x7f823c]
mov word [esp + 0x80], ax
xor eax, eax
mov byte [esp + 0x31], al
movzx eax, word [esp + 0x80]
jmp 0x5a5197
mov esi, dword [ebp + 0x290]
mov ebp, dword [ebp + 0x288]
cmp esi, edi
jb 0x5a525b
cmp ebx, edi
ja 0x5a5252
sub esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebx, esi
movzx esi, byte [ebp + ebx]
xchg esi, eax
mov byte [esp + 0x31], al
xchg esi, eax
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x5c]
test ebx, ebx
jne 0x5a522f
mov dword [esp + 0x7c], edi
movzx ebx, byte [esp + 0x31]
test bl, bl
jne 0x5a51cf
lea ebp, [esi + 1]
test ebp, 3
je 0x5a34e9
test bl, bl
jne 0x5a51cf
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0xc4]
jmp 0x5a5104
mov dword [esp], 0
mov dword [esp + 8], 0
movzx eax, bl
mov dword [esp + 4], eax
call fcn.0044e280
mov dword [esp], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
call fcn.0044da90
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x7c]
mov ebx, ecx
mov ebp, eax
movzx eax, word [esp + 0x32]
mov ecx, dword [esp + 0x54]
jmp 0x5a5104
mov dword [esp + 0x160], ebx
mov dword [esp + 0x164], ebp
add esp, 0x150
ret
mov ecx, esi
call fcn.004625f0
mov ecx, esi
call fcn.004625d0
mov eax, ebx
mov ecx, edi
call fcn.004625f0
mov ecx, edi
mov edx, esi
call fcn.004625d0
mov eax, 3
mov ecx, esi
call fcn.00462580
mov eax, ebx
mov ecx, edi
call fcn.004625f0
mov eax, 3
mov ecx, edi
call fcn.00462580
mov eax, ebp
mov ecx, edi
call fcn.004625f0
nop
call fcn.004610f0
jmp fcn.005a3130