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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xfc]
cmp eax, dword [ecx + 8]
jbe 0x5a6668
sub esp, 0x17c
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0xd0]
mov edx, dword [eax + 0xd4]
test ecx, ecx
jne 0x5a6626
nop
lea ecx, [eax + 0x10]
mov dword [esp], ecx
call fcn.00463a10
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0x198]
mov edx, dword [eax + 0x190]
cmp ecx, edx
setae bl
mov ebp, dword [eax + 0x19c]
mov esi, edx
sar edx, 0x1f
cmp ebp, edx
sete dl
xchg ebp, ebx
setg bl
xchg ebp, ebx
mov edi, dword [esp + 4]
and edx, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5a403b
xor esi, esi
jmp 0x5a403d
sub esi, ecx
test esi, esi
jne 0x5a64e9
mov dword [esp + 0x48], edi
lea ecx, [eax + 0x18c]
mov dword [esp + 0x4c], ecx
nop
mov edx, dword [0xa43e50]
test edx, edx
jne 0x5a406b
mov edi, ecx
mov ebx, eax
xor eax, eax
call fcn.0045f76a
jmp 0x5a4084
lea eax, [0x694d40]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00410610
mov ebx, dword [esp + 0x180]
mov dword [ebx + 0x1a0], 0xffffffff
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x100], ecx
lea edx, [0x686080]
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.00408a70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x180]
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.005a69c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x5a42c1
mov ebp, dword [0xa1d4ec]
cmp dword [0xa1d4e8], ecx
je 0x5a4100
xor ecx, ecx
jmp 0x5a412d
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.00403670
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x8c]
mov ecx, eax
mov eax, dword [esp + 0x38]
test cl, cl
je 0x5a4152
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0x184]
cmp dword [ecx + 0x17c], edx
jne 0x5a4152
mov eax, dword [0xa1d4c0]
mov ebx, dword [0xa1d4c4]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x38], eax
lea ecx, [0x68eb80]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5a4186
mov eax, 1
jmp 0x5a4196
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5a41aa
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
jmp 0x5a42ac
lea eax, [0x68eb80]
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.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a421f
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0xa43e50]
test ebx, ebx
jne 0x5a4208
mov eax, dword [esp + 0x8c]
mov dword [edx + 0xd4], eax
jmp 0x5a42ac
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x8c]
call fcn.0045f670
jmp 0x5a42ac
mov dword [esp + 0x100], edx
mov dword [esp + 0xe4], ecx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a425e
mov ecx, dword [esp + 0xe4]
mov dword [eax + 4], ecx
jmp 0x5a4271
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe4]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4296
mov dword [edx + 0xd4], eax
jmp 0x5a42a1
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
add esp, 0x17c
ret
nop
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0x180]
mov ebx, dword [ecx + 0x184]
sub edx, ebx
neg edx
sar edx, 0x1f
and ebx, edx
add ebx, dword [ecx + 0x178]
movzx edx, byte [ebx]
mov ebp, dword [esp + 0x48]
test ebp, ebp
jne 0x5a42f8
cmp dl, 0x80
je 0x5a6332
movzx esi, byte [ebx + 1]
shl esi, 8
mov eax, ebp
movzx ebp, byte [ebx + 2]
or esi, ebp
movzx ebp, byte [ebx + 3]
shl ebp, 8
movzx ebx, byte [ebx + 4]
or ebp, ebx
movzx ebx, byte [ecx + 0x26]
test bl, bl
je 0x5a45ba
mov edi, ebp
movzx ebp, word [ecx + 0x24]
cmp bp, 0x304
je 0x5a45b0
cmp bp, si
jne 0x5a433d
test bl, bl
jmp 0x5a45b2
mov word [esp + 0x2a], si
mov dword [esp], ecx
mov byte [esp + 4], 0x46
call fcn.005a6cb0
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.00408820
mov eax, dword [esp + 4]
lea ecx, [0x67e860]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x180]
movzx edx, word [eax + 0x24]
mov word [esp], dx
call fcn.00408820
mov eax, dword [esp + 4]
lea ecx, [0x67e860]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
lea eax, [0x6cb0e8]
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.00514480
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.0045f76a
mov dword [esp + 0x14c], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0x17c]
mov edx, dword [eax + 0x180]
mov ebx, dword [eax + 0x184]
sub edx, ebx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, dword [eax + 0x178]
sub ecx, ebx
cmp ecx, 5
jl 0x5a4460
mov ecx, 5
lea ebx, [esp + 0x154]
cmp ebx, edx
je 0x5a447b
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045fe60
lea eax, [0x69c320]
mov dword [esp], eax
lea eax, [esp + 0x14c]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x68eb80]
mov dword [esp], ecx
lea ecx, [0x8958bc]
mov dword [esp + 4], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a450d
lea ecx, [0x8958bc]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a44f6
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5a458f
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.0045f670
jmp 0x5a458f
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a454c
mov ecx, dword [esp + 0xdc]
mov dword [eax + 4], ecx
jmp 0x5a455f
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xdc]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4584
mov dword [edx + 0xd4], eax
jmp 0x5a458f
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
test bl, bl
jne 0x5a478e
jmp 0x5a45bc
mov edi, ebp
cmp dl, 0x15
je 0x5a45c6
cmp dl, 0x16
jne 0x5a45d1
cmp si, 0x1000
jb 0x5a478e
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
lea edi, [esp + 0x134]
xor eax, eax
call fcn.0045f76a
lea ecx, [0x6c8ee4]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], 0x2f
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ebx
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0x17c]
mov ebx, dword [ecx + 0x180]
mov ebp, dword [ecx + 0x184]
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebx, ebp
add ebx, dword [ecx + 0x178]
sub edx, ebp
cmp edx, 5
jl 0x5a463e
mov edx, 5
lea eax, [esp + 0x13c]
cmp eax, ebx
je 0x5a4659
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.0045fe60
lea eax, [0x69c320]
mov dword [esp], eax
lea eax, [esp + 0x134]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x68eb80]
mov dword [esp], ecx
lea ecx, [0x8958bc]
mov dword [esp + 4], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a46eb
lea ecx, [0x8958bc]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a46d4
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5a476d
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.0045f670
jmp 0x5a476d
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a472a
mov ecx, dword [esp + 0xd8]
mov dword [eax + 4], ecx
jmp 0x5a473d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd8]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4762
mov dword [edx + 0xd4], eax
jmp 0x5a476d
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp + 0x44], edi
cmp word [ecx + 0x24], 0x304
jne 0x5a47a7
cmp edi, 0x4100
jg 0x5a47b3
jmp 0x5a49dd
cmp edi, 0x4800
jle 0x5a49dd
mov dword [esp], ecx
mov byte [esp + 4], 0x16
call fcn.005a6cb0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.00408890
mov eax, dword [esp + 4]
lea ecx, [0x67dee0]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
lea eax, [0x6c6dca]
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.00514480
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.0045f76a
mov dword [esp + 0x11c], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0x17c]
mov edx, dword [eax + 0x180]
mov ebx, dword [eax + 0x184]
sub edx, ebx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, dword [eax + 0x178]
sub ecx, ebx
cmp ecx, 5
jl 0x5a488d
mov ecx, 5
lea ebx, [esp + 0x124]
cmp ebx, edx
je 0x5a48a8
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045fe60
lea eax, [0x69c320]
mov dword [esp], eax
lea eax, [esp + 0x11c]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x68eb80]
mov dword [esp], ecx
lea ecx, [0x8958bc]
mov dword [esp + 4], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a493a
lea ecx, [0x8958bc]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4923
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5a49bc
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.0045f670
jmp 0x5a49bc
mov dword [esp + 0xd4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4979
mov ecx, dword [esp + 0xd4]
mov dword [eax + 4], ecx
jmp 0x5a498c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd4]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a49b1
mov dword [edx + 0xd4], eax
jmp 0x5a49bc
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov dword [esp + 0x100], edx
lea ebx, [0x686080]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00408a70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x180]
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.005a69c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x5a61b4
nop
mov eax, dword [esp + 0x180]
mov byte [eax + 0x188], 0
nop
mov ecx, dword [eax + 0x178]
mov edx, dword [eax + 0x17c]
mov ebx, dword [eax + 0x180]
mov ebp, dword [eax + 0x184]
sub edx, ebp
mov esi, dword [esp + 0x44]
cmp edx, esi
jl 0x5a4a74
mov edx, esi
lea esi, [edx + ebp]
mov dword [eax + 0x184], esi
sub ebx, ebp
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebp, ebx
add ecx, ebp
test edx, edx
jle 0x5a4a95
mov byte [eax + 0x188], 0xff
lea ebx, [eax + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
call fcn.005a27e0
movzx eax, byte [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
test ecx, ecx
je 0x5a4c24
mov eax, dword [0x8958d4]
lea ecx, [0x8958d0]
cmp edx, ecx
jne 0x5a6651
movzx eax, byte [ebx]
mov ecx, dword [esp + 0x180]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x84], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a4b81
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4b6a
mov eax, dword [esp + 0x84]
mov dword [edx + 0xd4], eax
jmp 0x5a4c03
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x84]
call fcn.0045f670
jmp 0x5a4c03
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4bc0
mov ecx, dword [esp + 0xcc]
mov dword [eax + 4], ecx
jmp 0x5a4bd3
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xcc]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4bf8
mov dword [edx + 0xd4], eax
jmp 0x5a4c03
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
cmp ebp, 0x4000
jg 0x5a607a
mov ecx, dword [esp + 0x180]
mov edx, dword [ecx + 0xdc]
test edx, edx
jne 0x5a4c4a
cmp al, 0x17
je 0x5a5f50
cmp al, 0x15
je 0x5a4c62
cmp al, 0x14
je 0x5a4c62
test ebp, ebp
je 0x5a4c62
mov dword [ecx + 0x1d8], 0
movzx edx, word [ecx + 0x24]
cmp dx, 0x304
jne 0x5a4dbc
cmp al, 0x16
je 0x5a5aa7
mov ebx, dword [ecx + 0x1a8]
sub ebx, dword [ecx + 0x1b0]
test ebx, ebx
jg 0x5a4c92
cmp al, 0x15
jmp 0x5a4dbf
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x78], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a4d19
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4d05
mov eax, dword [esp + 0x78]
mov dword [edx + 0xd4], eax
jmp 0x5a4d9b
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x78]
call fcn.0045f670
jmp 0x5a4d9b
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4d58
mov ecx, dword [esp + 0xc0]
mov dword [eax + 4], ecx
jmp 0x5a4d6b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc0]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4d90
mov dword [edx + 0xd4], eax
jmp 0x5a4d9b
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
cmp al, 0x15
ja 0x5a5a9e
cmp al, 0x14
jne 0x5a5408
cmp ebp, 1
jne 0x5a4ddc
cmp byte [esi], 1
je 0x5a4f06
mov dword [esp], ecx
mov byte [esp + 4], 0x32
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x64], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a4e63
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4e4f
mov eax, dword [esp + 0x64]
mov dword [edx + 0xd4], eax
jmp 0x5a4ee5
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x64]
call fcn.0045f670
jmp 0x5a4ee5
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4ea2
mov ecx, dword [esp + 0xa4]
mov dword [eax + 4], ecx
jmp 0x5a4eb5
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa4]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a4eda
mov dword [edx + 0xd4], eax
jmp 0x5a4ee5
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov ebx, dword [ecx + 0x1a8]
sub ebx, dword [ecx + 0x1b0]
test ebx, ebx
jg 0x5a52de
cmp dx, 0x304
je 0x5a52ad
movzx edx, byte [esp + 0x184]
test dl, dl
je 0x5a5183
mov edx, dword [ecx + 0x104]
mov eax, dword [ecx + 0x108]
test edx, edx
je 0x5a5027
cmp word [ecx + 0xd8], 0x304
je 0x5a5027
mov dword [ecx + 0xdc], edx
mov edx, dword [0xa43e50]
test edx, edx
jne 0x5a4f70
mov dword [ecx + 0xe0], eax
jmp 0x5a4f7b
lea edi, [ecx + 0xe0]
call fcn.0045f670
mov eax, dword [ecx + 0x110]
mov edx, dword [ecx + 0x10c]
mov dword [ecx + 0xe4], edx
mov edx, dword [0xa43e50]
test edx, edx
jne 0x5a4f9f
mov dword [ecx + 0xe8], eax
jmp 0x5a4faa
lea edi, [ecx + 0xe8]
call fcn.0045f670
mov dword [ecx + 0x104], 0
mov edx, dword [0xa43e50]
test edx, edx
jne 0x5a4fca
mov dword [ecx + 0x108], 0
jmp 0x5a4fd7
lea edi, [ecx + 0x108]
xor eax, eax
call fcn.0045f670
mov dword [ecx + 0x10c], 0
mov edx, dword [0xa43e50]
test edx, edx
jne 0x5a4ff7
mov dword [ecx + 0x110], 0
jmp 0x5a5004
lea edi, [ecx + 0x110]
xor eax, eax
call fcn.0045f670
lea eax, [ecx + 0xec]
mov dword [esp], eax
mov dword [esp + 4], 8
call fcn.0045fc90
mov ecx, dword [esp + 0x180]
xor edx, edx
xor eax, eax
jmp 0x5a503b
mov eax, 0x50
lea edx, [0x9f8b40]
lea eax, [edx + eax*8]
lea edx, [0x8958d0]
test edx, edx
je 0x5a5cb6
mov ebx, dword [0x8958d4]
lea ebp, [0x8958d0]
cmp edx, ebp
jne 0x5a663b
movzx eax, byte [eax]
mov dword [esp], ecx
mov byte [esp + 4], al
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a50e0
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a50cc
mov eax, dword [esp + 0x58]
mov dword [edx + 0xd4], eax
jmp 0x5a5162
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x58]
call fcn.0045f670
jmp 0x5a5162
mov dword [esp + 0x98], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a511f
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
jmp 0x5a5132
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5157
mov dword [edx + 0xd4], eax
jmp 0x5a5162
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x5c], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a520a
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a51f6
mov eax, dword [esp + 0x5c]
mov dword [edx + 0xd4], eax
jmp 0x5a528c
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x5c]
call fcn.0045f670
jmp 0x5a528c
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5249
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
jmp 0x5a525c
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5281
mov dword [edx + 0xd4], eax
jmp 0x5a528c
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
movzx eax, byte [esp + 0x184]
mov byte [esp + 4], al
call fcn.005a6680
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x60], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a5365
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5351
mov eax, dword [esp + 0x60]
mov dword [edx + 0xd4], eax
jmp 0x5a53e7
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x60]
call fcn.0045f670
jmp 0x5a53e7
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a53a4
mov ecx, dword [esp + 0xa0]
mov dword [eax + 4], ecx
jmp 0x5a53b7
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa0]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a53dc
mov dword [edx + 0xd4], eax
jmp 0x5a53e7
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
cmp al, 0x15
jne 0x5a5e26
cmp ebp, 2
jne 0x5a5974
movzx eax, byte [esi + 1]
test al, al
je 0x5a5859
mov byte [esp + 0x29], al
cmp dx, 0x304
je 0x5a56ff
movzx edx, byte [esi]
cmp dl, 1
je 0x5a56ce
cmp dl, 2
jne 0x5a55a4
lea eax, [0x69d800]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6b97f4]
mov dword [eax], ecx
lea ecx, [0x8958d0]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x9f8b40]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x68eb80]
mov dword [esp], ecx
lea ecx, [0x89554c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a5501
lea ecx, [0x89554c]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a54ea
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xd4], eax
jmp 0x5a5583
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xf8]
call fcn.0045f670
jmp 0x5a5583
mov dword [esp + 0xac], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5540
mov ecx, dword [esp + 0xac]
mov dword [eax + 4], ecx
jmp 0x5a5553
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xac]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5578
mov dword [edx + 0xd4], eax
jmp 0x5a5583
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x68], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a562b
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5617
mov eax, dword [esp + 0x68]
mov dword [edx + 0xd4], eax
jmp 0x5a56ad
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x68]
call fcn.0045f670
jmp 0x5a56ad
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a566a
mov ecx, dword [esp + 0xa8]
mov dword [eax + 4], ecx
jmp 0x5a567d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xa8]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a56a2
mov dword [edx + 0xd4], eax
jmp 0x5a56ad
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
movzx eax, byte [esp + 0x184]
mov byte [esp + 4], al
call fcn.005a6680
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
lea eax, [0x69d800]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [esp + 0xf8], eax
mov dword [eax + 4], 0xc
lea ecx, [0x6b97f4]
mov dword [eax], ecx
lea ecx, [0x8958d0]
mov dword [eax + 0x20], ecx
movzx ecx, byte [esp + 0x29]
movzx ecx, cl
lea edx, [0x9f8b40]
lea ecx, [edx + ecx*8]
mov dword [eax + 0x24], ecx
lea ecx, [0x68eb80]
mov dword [esp], ecx
lea ecx, [0x89554c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a57b6
lea ecx, [0x89554c]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a579f
mov eax, dword [esp + 0xf8]
mov dword [edx + 0xd4], eax
jmp 0x5a5838
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xf8]
call fcn.0045f670
jmp 0x5a5838
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a57f5
mov ecx, dword [esp + 0xb0]
mov dword [eax + 4], ecx
jmp 0x5a5808
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb0]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a582d
mov dword [edx + 0xd4], eax
jmp 0x5a5838
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov eax, dword [0xa1d4c4]
mov dword [esp + 0x6c], eax
mov ecx, dword [0xa1d4c0]
mov dword [esp + 0x34], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a58d1
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a58bd
mov eax, dword [esp + 0x6c]
mov dword [edx + 0xd4], eax
jmp 0x5a5953
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x6c]
call fcn.0045f670
jmp 0x5a5953
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5910
mov ecx, dword [esp + 0xb4]
mov dword [eax + 4], ecx
jmp 0x5a5923
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb4]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5948
mov dword [edx + 0xd4], eax
jmp 0x5a5953
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x70], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a59fb
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a59e7
mov eax, dword [esp + 0x70]
mov dword [edx + 0xd4], eax
jmp 0x5a5a7d
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x70]
call fcn.0045f670
jmp 0x5a5a7d
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5a3a
mov ecx, dword [esp + 0xb8]
mov dword [eax + 4], ecx
jmp 0x5a5a4d
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xb8]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5a72
mov dword [edx + 0xd4], eax
jmp 0x5a5a7d
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
cmp al, 0x16
jne 0x5a5c04
test ebp, ebp
je 0x5a5abb
movzx eax, byte [esp + 0x184]
test al, al
je 0x5a5be5
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a5b42
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5b2e
mov eax, dword [esp + 0x50]
mov dword [edx + 0xd4], eax
jmp 0x5a5bc4
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x50]
call fcn.0045f670
jmp 0x5a5bc4
mov dword [esp + 0x90], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5b81
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
jmp 0x5a5b94
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x90]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5bb9
mov dword [edx + 0xd4], eax
jmp 0x5a5bc4
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
lea eax, [ecx + 0x1a4]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
call fcn.00499c40
jmp 0x5a5cb6
cmp al, 0x17
jne 0x5a5e26
mov edx, dword [esp + 0x48]
test edx, edx
je 0x5a5cfc
movzx edx, byte [esp + 0x184]
test dl, dl
jne 0x5a5cfc
test ebp, ebp
je 0x5a5cd3
nop
mov edx, dword [0xa43e50]
test edx, edx
jne 0x5a5c58
xor eax, eax
mov edx, edi
mov edi, dword [esp + 0x4c]
call fcn.0045f76a
mov ecx, dword [esp + 0x180]
mov dword [ecx + 0x18c], esi
jmp 0x5a5ca0
mov dword [esp + 0x40], edi
mov dword [esp + 0xec], esi
mov dword [esp + 0x3c], ebp
lea eax, [0x694d40]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call fcn.00410610
mov eax, dword [esp + 0x180]
lea edi, [eax + 0x18c]
mov ecx, eax
mov eax, dword [esp + 0xec]
call fcn.0045f670
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov dword [ecx + 0x190], ebp
mov dword [ecx + 0x194], edx
mov dword [ecx + 0x1a0], 0xffffffff
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], dl
call fcn.005a6680
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a5d83
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5d6f
mov eax, dword [esp + 0x54]
mov dword [edx + 0xd4], eax
jmp 0x5a5e05
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x54]
call fcn.0045f670
jmp 0x5a5e05
mov dword [esp + 0x94], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5dc2
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
jmp 0x5a5dd5
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x94]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5dfa
mov dword [edx + 0xd4], eax
jmp 0x5a5e05
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x74], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a5ead
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5e99
mov eax, dword [esp + 0x74]
mov dword [edx + 0xd4], eax
jmp 0x5a5f2f
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x74]
call fcn.0045f670
jmp 0x5a5f2f
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5eec
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
jmp 0x5a5eff
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xbc]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5f24
mov dword [edx + 0xd4], eax
jmp 0x5a5f2f
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0xa
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x7c], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a5fd7
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a5fc3
mov eax, dword [esp + 0x7c]
mov dword [edx + 0xd4], eax
jmp 0x5a6059
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x7c]
call fcn.0045f670
jmp 0x5a6059
mov dword [esp + 0x100], edx
mov dword [esp + 0xc4], ecx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a6016
mov ecx, dword [esp + 0xc4]
mov dword [eax + 4], ecx
jmp 0x5a6029
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc4]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a604e
mov dword [edx + 0xd4], eax
jmp 0x5a6059
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov eax, dword [esp + 0x180]
mov dword [esp], eax
mov byte [esp + 4], 0x16
call fcn.005a6cb0
mov eax, dword [esp + 8]
mov dword [esp + 0x100], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6111
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a60fa
mov eax, dword [esp + 0x80]
mov dword [edx + 0xd4], eax
jmp 0x5a6193
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x80]
call fcn.0045f670
jmp 0x5a6193
mov dword [esp + 0x100], edx
mov dword [esp + 0xc8], ecx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a6150
mov ecx, dword [esp + 0xc8]
mov dword [eax + 4], ecx
jmp 0x5a6163
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xc8]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a6188
mov dword [edx + 0xd4], eax
jmp 0x5a6193
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp + 0x100], eax
mov dword [esp + 0x88], ecx
lea edx, [0x68eb80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5a61eb
mov eax, 1
jmp 0x5a61fb
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 4]
xor eax, 1
test al, al
jne 0x5a6212
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
jmp 0x5a631d
lea eax, [0x68eb80]
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.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a628d
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ebx, dword [0xa43e50]
test ebx, ebx
jne 0x5a6276
mov eax, dword [esp + 0x88]
mov dword [edx + 0xd4], eax
jmp 0x5a631d
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0x88]
call fcn.0045f670
jmp 0x5a631d
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xf4], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf4]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a62cc
mov ecx, dword [esp + 0xd0]
mov dword [eax + 4], ecx
jmp 0x5a62df
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xd0]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a6304
mov dword [edx + 0xd4], eax
jmp 0x5a630f
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], eax
add esp, 0x17c
ret
mov dword [esp], ecx
mov byte [esp + 4], 0x46
call fcn.005a6cb0
lea edi, [esp + 0x164]
xor eax, eax
call fcn.0045f76a
lea eax, [0x6c571e]
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], 0x24
mov eax, dword [esp + 0x180]
mov ecx, dword [eax + 0x17c]
mov edx, dword [eax + 0x180]
mov ebx, dword [eax + 0x184]
sub edx, ebx
neg edx
sar edx, 0x1f
and edx, ebx
add edx, dword [eax + 0x178]
sub ecx, ebx
cmp ecx, 5
jl 0x5a6399
mov ecx, 5
lea ebx, [esp + 0x16c]
cmp ebx, edx
je 0x5a63b4
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0045fe60
lea eax, [0x69c320]
mov dword [esp], eax
lea eax, [esp + 0x164]
mov dword [esp + 4], eax
call fcn.00408750
mov eax, dword [esp + 8]
mov dword [esp + 0xfc], eax
lea ecx, [0x68eb80]
mov dword [esp], ecx
lea ecx, [0x8958bc]
mov dword [esp + 4], ecx
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6446
lea ecx, [0x8958bc]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a642f
mov eax, dword [esp + 0xfc]
mov dword [edx + 0xd4], eax
jmp 0x5a64c8
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xfc]
call fcn.0045f670
jmp 0x5a64c8
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a6485
mov ecx, dword [esp + 0xe0]
mov dword [eax + 4], ecx
jmp 0x5a6498
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe0]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a64bd
mov dword [edx + 0xd4], eax
jmp 0x5a64c8
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
lea eax, [0x687ca0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov dword [esp + 0xf0], eax
mov dword [eax + 4], 0x4b
lea ecx, [0x6ccae3]
mov dword [eax], ecx
lea ecx, [0x68eb80]
mov dword [esp], ecx
lea ecx, [0x895484]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00408b80
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x5a6583
lea ecx, [0x895484]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a656c
mov eax, dword [esp + 0xf0]
mov dword [edx + 0xd4], eax
jmp 0x5a6605
lea edi, [edx + 0xd4]
mov eax, dword [esp + 0xf0]
call fcn.0045f670
jmp 0x5a6605
mov dword [esp + 0xe8], ecx
mov dword [esp + 0x100], edx
lea eax, [0x687be0]
mov dword [esp], eax
call fcn.0040af90
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x100]
mov dword [eax], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a65c2
mov ecx, dword [esp + 0xe8]
mov dword [eax + 4], ecx
jmp 0x5a65d5
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0xe8]
call fcn.0045f670
mov eax, ecx
lea ecx, [0x895434]
mov edx, dword [esp + 0x180]
mov dword [edx + 0xd0], ecx
mov ecx, dword [0xa43e50]
test ecx, ecx
jne 0x5a65fa
mov dword [edx + 0xd4], eax
jmp 0x5a6605
lea edi, [edx + 0xd4]
call fcn.0045f670
mov eax, dword [edx + 0xd0]
mov ecx, dword [edx + 0xd4]
mov dword [esp + 0x188], eax
mov dword [esp + 0x18c], ecx
add esp, 0x17c
ret
mov dword [esp + 0x188], ecx
mov dword [esp + 0x18c], edx
add esp, 0x17c
ret
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x685e40]
mov dword [esp + 8], eax
call fcn.00408690
mov dword [esp], edx
mov dword [esp + 4], eax
lea eax, [0x685e40]
mov dword [esp + 8], eax
call fcn.00408690
nop
call fcn.0045e260
jmp fcn.005a3fb0