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

Disassembly:
mov ecx, dword [0x7f7460]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x164]
cmp eax, dword [ecx + 8]
jbe 0x5aa3c9
sub esp, 0x1e4
lea edi, [esp + 0x1b8]
xor eax, eax
call fcn.00467545
lea edi, [esp + 0xd4]
call fcn.00467549
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov ecx, dword [esp + 0x1ec]
mov dword [esp], ecx
call fcn.00409bc0
mov ecx, dword [esp + 4]
lea edx, [0x5eed60]
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], ecx
lea ecx, [0x62d293]
mov dword [esp], ecx
mov dword [esp + 4], 0x37
lea ecx, [esp + 0x124]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bbd20
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x114], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x58], edx
lea edi, [esp + 0xf0]
lea esi, [esp + 0xd4]
call fcn.00467a1a
lea ecx, [0x60c1a0]
mov dword [esp], ecx
lea ecx, [esp + 0xf0]
mov dword [esp + 4], ecx
call fcn.004cc720
mov ecx, dword [esp + 8]
test ecx, ecx
je 0x5aa3c3
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0x1f0]
mov ebx, eax
xor edx, edx
div ecx
mov dword [esp + 0x5c], eax
xor edx, edx
jmp 0x5a8c83
mov ebp, dword [esp + 0x4c]
inc ebp
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x1f0]
mov edx, ebp
cmp edx, eax
jae 0x5a9c40
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x1e8]
mov dword [esp], eax
imul ecx, edx
mov ebp, dword [esp + 0x1ec]
add ecx, ebp
mov dword [esp + 4], ecx
call fcn.005b9930
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x1e8]
mov dword [esp], ecx
lea edx, [0x5e07a0]
mov dword [esp + 4], edx
lea ebx, [esp + 0xd4]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x10], eax
call fcn.005ba620
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x5a9be9
mov ebx, dword [esp + 0xe0]
cmp ebx, 0xc
ja 0x5a92e0
cmp ebx, 2
jne 0x5a91ff
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x1e8]
mov ebx, dword [edx + 0x2ac]
add ebx, 0xfffffffc
cmp eax, ebx
jbe 0x5a8d2c
mov ecx, dword [0x7c3d28]
xor ebx, ebx
jmp 0x5a8d5f
mov ecx, dword [edx + 0x28c]
cmp ecx, eax
jb 0x5aa3be
mov ebx, dword [edx + 0x290]
sub ecx, eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and eax, ebx
cmp ecx, 3
jbe 0x5aa3b4
mov ebx, dword [edx + 0x288]
mov ebx, dword [ebx + eax]
xor ecx, ecx
test ecx, ecx
jne 0x5a8c6d
cmp ebx, 0x53445352
je 0x5a8fdd
cmp ebx, 0x3031424e
jne 0x5a95ba
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0xec]
mov dword [esp + 0x40], eax
mov dword [esp], edx
lea ecx, [0x5e1de0]
mov dword [esp + 4], ecx
lea ebx, [esp + 0x78]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x1f0]
mov dword [esp + 0x10], ebx
call fcn.005ba620
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5a8dd7
mov edx, dword [esp + 0x1e8]
jmp 0x5a8c6d
lea edi, [esp + 0x164]
xor eax, eax
call fcn.0046754a
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], edx
mov ecx, dword [esp + 0x40]
lea edx, [ecx + 8]
mov ebx, dword [esp + 0x1e8]
mov ebp, dword [ebx + 0x2ac]
add ebp, 0xfffffffc
cmp ebp, edx
jae 0x5a8e20
mov edx, dword [0x7c3d28]
xor ebp, ebp
jmp 0x5a8e5d
mov ebp, dword [ebx + 0x28c]
cmp ebp, edx
jb 0x5aa3ab
mov esi, dword [ebx + 0x290]
sub esi, ecx
sub ebp, ecx
add ebp, 0xfffffff8
add esi, 0xfffffff8
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edx, esi
cmp ebp, 3
jbe 0x5aa39f
mov ebp, dword [ebx + 0x288]
mov ebp, dword [edx + ebp]
xor edx, edx
mov dword [esp + 0x16c], ebp
test edx, edx
je 0x5a8e6f
mov edx, ebx
jmp 0x5a8c6d
lea edx, [ecx + 0xc]
mov ebp, dword [ebx + 0x2ac]
add ebp, 0xfffffffc
cmp ebp, edx
jae 0x5a8e89
mov edx, dword [0x7c3d28]
xor ebp, ebp
jmp 0x5a8ec6
mov ebp, dword [ebx + 0x28c]
cmp ebp, edx
jb 0x5aa396
mov esi, dword [ebx + 0x290]
sub esi, ecx
sub ebp, ecx
add ebp, 0xfffffff4
add esi, 0xfffffff4
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edx, esi
cmp ebp, 3
jbe 0x5aa38a
mov ebp, dword [ebx + 0x288]
mov ebp, dword [edx + ebp]
xor edx, edx
mov dword [esp + 0x170], ebp
test edx, edx
je 0x5a8ed8
mov edx, ebx
jmp 0x5a8c6d
mov edx, dword [esp + 0xe4]
add edx, 0xffffffef
test edx, edx
jbe 0x5a8fa0
mov dword [esp + 0x34], edx
lea eax, [0x5eeda0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0044d6b0
mov eax, dword [esp + 0x40]
add eax, 0x10
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x130], ecx
mov dword [esp + 0x134], ecx
mov edx, dword [esp + 0x1e8]
mov dword [esp], edx
lea ebx, [0x5e5d40]
mov dword [esp + 4], ebx
lea ebp, [esp + 0x12c]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.005ba620
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5a8f68
mov edx, dword [esp + 0x1e8]
jmp 0x5a8c6d
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x130]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x174], eax
mov dword [esp + 0x178], ecx
lea eax, [0x605760]
mov dword [esp], eax
lea ecx, [esp + 0x164]
mov dword [esp + 4], ecx
call fcn.00409a90
mov eax, dword [esp + 8]
lea ecx, [0x605760]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], eax
mov edx, dword [esp + 0x1e8]
jmp 0x5a95ba
lea edi, [esp + 0x198]
lea esi, str.RSDS
call fcn.00467a10
mov eax, dword [esp + 0xec]
mov dword [esp + 0x70], eax
lea ecx, [eax + 4]
mov dword [esp + 0x44], ecx
lea edi, [esp + 0x88]
lea esi, [esp + 0x19c]
call fcn.00467a38
lea ecx, [0x608ec0]
mov dword [esp], ecx
lea edx, [esp + 0x88]
mov dword [esp + 4], edx
call fcn.004cc720
mov eax, dword [esp + 8]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x1e8]
mov dword [esp], ecx
lea edx, [0x5f44e0]
mov dword [esp + 4], edx
lea ebx, [esp + 0x19c]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.005ba620
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5a9079
mov edx, dword [esp + 0x1e8]
jmp 0x5a8c6d
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x6c]
lea eax, [ebx + edx + 4]
mov ebp, dword [esp + 0x1e8]
mov esi, dword [ebp + 0x2ac]
add esi, 0xfffffffc
lea edi, [ebx + edx]
cmp eax, esi
jbe 0x5a90a6
mov eax, dword [0x7c3d28]
xor ecx, ecx
jmp 0x5a90e3
mov ecx, dword [ebp + 0x28c]
cmp ecx, eax
jb 0x5aa385
mov esi, dword [ebp + 0x290]
sub esi, edi
sub ecx, edi
add ecx, 0xfffffffc
add esi, 0xfffffffc
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
cmp ecx, 3
jbe 0x5aa37b
mov ecx, dword [ebp + 0x288]
mov ecx, dword [esi + ecx]
xor eax, eax
mov dword [esp + 0x1ac], ecx
test eax, eax
je 0x5a90f5
mov edx, ebp
jmp 0x5a8c6d
mov eax, dword [esp + 0xe4]
add eax, 0xffffffe7
lea ecx, [ebx + edx + 8]
test eax, eax
jbe 0x5a91c2
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], eax
lea ecx, [0x5eeda0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0044d6b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], eax
mov ecx, dword [esp + 0x1e8]
mov dword [esp], ecx
lea edx, [0x5e5d40]
mov dword [esp + 4], edx
lea ebx, [esp + 0x138]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.005ba620
mov eax, dword [esp + 0x14]
test eax, eax
je 0x5a918a
mov edx, dword [esp + 0x1e8]
jmp 0x5a8c6d
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], ecx
lea eax, [0x6057e0]
mov dword [esp], eax
lea ecx, [esp + 0x198]
mov dword [esp + 4], ecx
call fcn.00409a90
mov eax, dword [esp + 8]
lea ecx, [0x6057e0]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], eax
mov edx, dword [esp + 0x1e8]
jmp 0x5a95ba
cmp ebx, 3
jne 0x5a9223
mov ecx, dword [esp + 0xec]
mov ebx, dword [esp + 0x1e8]
xor eax, eax
xor edx, edx
lea ebp, [0x7f7320]
xor esi, esi
jmp 0x5a9f93
cmp ebx, 0xc
jne 0x5a95ba
lea edi, [esp + 0x98]
xor eax, eax
call fcn.0046754b
lea edi, [esp + 0xc0]
call fcn.0046754b
lea ecx, [0x608240]
mov dword [esp], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 4], edx
call fcn.004cc720
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x1e8]
mov dword [esp], ebx
lea ebp, [0x5e24e0]
mov dword [esp + 4], ebp
lea esi, [esp + 0x98]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.005ba620
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x5a92aa
mov edx, dword [esp + 0x1e8]
jmp 0x5a8c6d
lea eax, [0x608240]
mov dword [esp], eax
lea ecx, [esp + 0x98]
mov dword [esp + 4], ecx
call fcn.00409af0
mov eax, dword [esp + 8]
lea ecx, [0x608240]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], eax
jmp 0x5a95ba
cmp ebx, 0xd
jne 0x5a93c4
mov eax, dword [esp + 0xec]
mov ebx, dword [esp + 0x1e8]
mov ebp, dword [ebx + 0x2ac]
add ebp, 0xfffffffc
cmp eax, ebp
jbe 0x5a930e
mov ebp, dword [0x7c3d28]
xor eax, eax
jmp 0x5a9345
mov ecx, dword [ebx + 0x28c]
cmp ecx, eax
jb 0x5a9f51
mov ebp, dword [ebx + 0x290]
sub ecx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
cmp ecx, 3
jbe 0x5a9f47
mov ecx, dword [ebx + 0x288]
mov eax, dword [ecx + eax]
xor ebp, ebp
test ebp, ebp
je 0x5a9350
mov edx, ebx
jmp 0x5a8c6d
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 0
cmp eax, 0x4c544347
ja 0x5a9393
test eax, eax
je 0x5a93ac
cmp eax, 0x4c544347
je 0x5a93ac
jmp 0x5a95ba
cmp eax, 0x50474900
je 0x5a93ac
cmp eax, 0x50474f00
je 0x5a93ac
cmp eax, 0x50475500
jne 0x5a95ba
mov dword [esp + 0x154], eax
mov ebp, dword [esp + 0xec]
add ebp, 4
xor eax, eax
jmp 0x5a9cb1
cmp ebx, 0x10
jne 0x5a9531
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov eax, dword [esp + 0xec]
mov ebx, dword [esp + 0x1e8]
mov ebp, dword [ebx + 0x2ac]
add ebp, 0xfffffffc
cmp eax, ebp
jbe 0x5a941e
mov ebp, dword [0x7c3d28]
xor esi, esi
jmp 0x5a9456
mov ecx, dword [ebx + 0x28c]
cmp ecx, eax
jb 0x5a9c9a
mov ebp, dword [ebx + 0x290]
sub ecx, eax
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
cmp ecx, 3
jbe 0x5a9c90
mov esi, dword [ebx + 0x288]
mov esi, dword [ebp + esi]
xor ebp, ebp
mov dword [esp + 0x144], esi
test ebp, ebp
je 0x5a9468
mov edx, ebx
jmp 0x5a8c6d
lea ebp, [eax + 4]
lea ecx, [esi + eax + 4]
cmp ecx, ebp
xchg edi, ebx
seta bl
xchg edi, ebx
test esi, esi
seta dl
xchg edi, eax
cmp dl, al
xchg edi, eax
je 0x5a9491
mov eax, dword [0x7c3d28]
xor edi, edi
xor esi, esi
xor ecx, ecx
jmp 0x5a94db
mov edi, dword [ebx + 0x2ac]
cmp edi, ebp
jbe 0x5a949f
cmp edi, ecx
jae 0x5a94ad
mov eax, dword [0x7c3d28]
xor edi, edi
xor esi, esi
xor ecx, ecx
jmp 0x5a94db
mov edx, dword [ebx + 0x290]
cmp edx, ecx
jb 0x5a9c8b
cmp ecx, ebp
jb 0x5a9c84
mov ecx, dword [ebx + 0x288]
sub edx, eax
add edx, 0xfffffffc
mov edi, edx
neg edx
sar edx, 0x1f
and edx, ebp
add ecx, edx
xor eax, eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], esi
mov dword [esp + 0x150], edi
test eax, eax
je 0x5a94fb
mov edx, ebx
jmp 0x5a8c6d
lea eax, [0x5fc480]
mov dword [esp], eax
lea ecx, [esp + 0x144]
mov dword [esp + 4], ecx
call fcn.00409a90
mov eax, dword [esp + 8]
lea ecx, [0x5fc480]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], eax
jmp 0x5a95ba
cmp ebx, 0x14
jne 0x5a95ba
mov eax, dword [esp + 0xec]
mov edx, dword [esp + 0x1e8]
mov ebx, dword [edx + 0x2ac]
add ebx, 0xfffffffc
cmp eax, ebx
jbe 0x5a955f
mov eax, dword [0x7c3d28]
xor ecx, ecx
jmp 0x5a9592
mov ecx, dword [edx + 0x28c]
cmp ecx, eax
jb 0x5a9c7f
mov ebx, dword [edx + 0x290]
sub ecx, eax
sub ebx, eax
neg ebx
sar ebx, 0x1f
and eax, ebx
cmp ecx, 3
jbe 0x5a9c75
mov ecx, dword [edx + 0x288]
mov ecx, dword [ecx + eax]
xor eax, eax
test eax, eax
jne 0x5a8c6d
mov dword [esp], ecx
call fcn.00409bc0
mov eax, dword [esp + 4]
lea ecx, [0x5f2fa0]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], eax
lea edi, [esp + 0x1b8]
lea esi, [esp + 0xd4]
call fcn.00467a1a
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x2c], ecx
lea edi, [esp + 0x17c]
xor eax, eax
call fcn.00467549
lea ecx, [0x5f14c0]
mov dword [esp], ecx
mov dword [esp + 4], 0x11
lea edx, [esp + 0x17c]
mov dword [esp + 8], edx
call fcn.0040cf70
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x118], ecx
lea edx, [0x5f14c0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
call fcn.0040f0f0
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], 7
mov edx, dword [0x7f7690]
test edx, edx
je 0x5a964a
mov eax, dword [ecx]
call fcn.004672a0
mov dword [edi], eax
lea eax, [0x61c054]
mov dword [ecx], eax
lea ecx, [0x5f14c0]
mov dword [esp], ecx
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 4
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a9691
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61ba76]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 2
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 8
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a96d8
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61c2d2]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 3
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 3
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a971f
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61b928]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 4
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 4
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a9766
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61ba7a]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 5
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 9
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a97ad
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61c680]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 6
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 5
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a97f4
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61bc0a]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 7
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 0xb
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a983b
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61cfba]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 8
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 0xd
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a9882
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61e0bf]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 9
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 7
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a98c9
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61c05b]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xa
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 8
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a9910
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61c2da]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xc
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 0xa
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a9957
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61cab2]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xd
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 4
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a999e
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61ba7e]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xe
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 5
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a99e5
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61bc0f]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xf
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 3
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a9a2c
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61b92b]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x10
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 5
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a9a73
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x61bc14]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x14
call fcn.0040f0f0
mov eax, dword [esp + 0xc]
mov dword [eax + 4], 0x16
mov ecx, dword [0x7f7690]
test ecx, ecx
je 0x5a9aba
mov ecx, dword [eax]
call fcn.004672a0
mov dword [edi], ecx
lea ecx, [0x6229b8]
mov dword [eax], ecx
lea eax, [0x5f14c0]
mov dword [esp], eax
mov edx, dword [esp + 0x118]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], edx
call fcn.0040efa0
movzx eax, byte [esp + 0x10]
test al, al
je 0x5a9af7
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x5a9b02
mov eax, 1
lea ecx, [0x6680cc]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x1e8]
mov ecx, dword [eax + 0xfc]
mov edx, dword [eax + 0xf8]
inc edx
mov ebx, dword [eax + 0xf4]
cmp ecx, edx
jae 0x5a9b8d
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x600b00]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1e8]
mov dword [ebx + 0xfc], eax
mov eax, dword [0x7f7690]
test eax, eax
je 0x5a9b83
call fcn.004672b0
mov dword [edi], ecx
mov eax, dword [ebx + 0xf4]
mov dword [edi + 4], eax
mov dword [ebx + 0xf4], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 0xf8], edx
mov ecx, dword [0x7f7690]
imul edx, edx, 0x2c
lea edi, [edx + ebx - 0x2c]
test ecx, ecx
je 0x5a9bd6
mov dword [esp + 0x120], edi
lea eax, [0x600b00]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x1b8]
mov dword [esp + 8], eax
call fcn.00411290
mov eax, dword [esp + 0x1e8]
mov edi, dword [esp + 0x120]
lea esi, [esp + 0x1b8]
call fcn.004679f2
mov edx, eax
jmp 0x5a8c6d
lea eax, [0x5f7ae0]
mov dword [esp], eax
call fcn.0040c490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x58]
mov dword [eax + 4], ecx
mov ecx, dword [0x7f7690]
test ecx, ecx
jne 0x5a9c15
mov ecx, dword [esp + 0x114]
jmp 0x5a9c23
call fcn.004672a0
mov ecx, dword [esp + 0x114]
mov dword [edi], ecx
mov dword [eax], ecx
lea ecx, [0x669cac]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1e4
ret
mov eax, dword [esp + 0x1e8]
mov ecx, dword [eax + 0xf8]
test ecx, ecx
je 0x5a9c58
mov byte [eax + 0x2a1], 1
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 0
add esp, 0x1e4
ret
mov eax, 3
call fcn.00467310
call fcn.00467380
mov eax, ebp
call fcn.00467380
call fcn.00467360
mov eax, 3
call fcn.00467310
call fcn.00467380
mov dword [eax + esi + 8], edx
add ebp, 0xc
mov esi, dword [esp + 0x1e8]
mov eax, ebx
mov ebx, esi
mov esi, dword [esp + 0xe4]
add esi, 0xfffffffc
cmp eax, esi
jae 0x5a9eb4
mov esi, dword [ebx + 0x2ac]
add esi, 0xfffffffc
cmp ebp, esi
jbe 0x5a9cda
mov edi, dword [0x7c3d28]
xor ecx, ecx
jmp 0x5a9d11
mov ecx, dword [ebx + 0x28c]
cmp ebp, ecx
ja 0x5a9f40
mov edi, dword [ebx + 0x290]
sub ecx, ebp
sub edi, ebp
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebp
cmp ecx, 3
jbe 0x5a9f36
mov ecx, dword [ebx + 0x288]
mov ecx, dword [edi + ecx]
xor edi, edi
test edi, edi
jne 0x5a9eb4
lea edi, [ebp + 4]
cmp esi, edi
jae 0x5a9d2a
mov esi, dword [0x7c3d28]
xor edi, edi
jmp 0x5a9d63
mov esi, dword [ebx + 0x28c]
cmp esi, edi
jb 0x5a9f2d
mov edx, dword [ebx + 0x290]
sub edx, ebp
sub esi, ebp
add esi, 0xfffffffc
add edx, 0xfffffffc
neg edx
sar edx, 0x1f
and edi, edx
cmp esi, 3
jbe 0x5a9f21
mov edx, dword [ebx + 0x288]
mov edi, dword [edi + edx]
xor esi, esi
test esi, esi
jne 0x5a9eb4
mov edx, dword [ebx + 0x290]
lea esi, [ebp + 0x48]
cmp edx, esi
jb 0x5a9f1a
mov dword [esp + 0x68], eax
lea eax, [ebp + 8]
cmp esi, eax
jb 0x5a9f13
mov esi, dword [ebx + 0x288]
sub edx, ebp
add edx, 0xfffffff8
mov dword [esp + 0x60], edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, esi
xor edx, edx
jmp 0x5a9ef2
mov esi, dword [esp + 0x60]
cmp edx, esi
ja 0x5a9f0a
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x48], ebp
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00451510
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
inc ecx
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x158]
cmp eax, ecx
jae 0x5a9e4a
mov dword [esp + 0x10c], edx
mov dword [esp + 0x30], ebx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x601a80]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x160], eax
mov dword [esp + 0x158], ebp
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x15c], ecx
lea esi, [ecx - 1]
shl esi, 4
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x28]
mov dword [ebp + esi], edi
mov edi, dword [esp + 0x24]
mov dword [ebp + esi + 4], edi
mov dword [ebp + esi + 0xc], ebx
mov edi, dword [0x7f7690]
mov eax, ebp
mov ebp, dword [esp + 0x48]
lea ecx, [ebp + ebx + 8]
add ebp, ebx
and ecx, 3
sub ebx, ecx
mov esi, dword [esp + 0x68]
lea ebx, [ebx + esi + 0xc]
sub ebp, ecx
test edi, edi
jne 0x5a9e9d
mov esi, dword [esp + 0x6c]
jmp 0x5a9c9f
call fcn.004672b0
mov dword [edi], edx
mov esi, dword [esp + 0x6c]
mov ecx, dword [eax + esi + 8]
mov dword [edi + 4], ecx
jmp 0x5a9c9f
lea eax, [0x5fc420]
mov dword [esp], eax
lea ecx, [esp + 0x154]
mov dword [esp + 4], ecx
call fcn.00409a90
mov eax, dword [esp + 8]
lea ecx, [0x5fc420]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], eax
mov ebx, dword [esp + 0x1e8]
jmp 0x5a95ba
inc edx
cmp edx, 0x40
jae 0x5a9daa
movzx esi, byte [edx + eax]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5a9ef1
jmp 0x5a9daa
mov ecx, edx
mov edx, esi
call fcn.00467360
mov ecx, esi
call fcn.00467380
mov ecx, esi
call fcn.00467360
mov eax, 3
mov ecx, esi
call fcn.00467310
mov eax, edi
mov ecx, esi
call fcn.00467380
mov eax, 3
call fcn.00467310
mov eax, ebp
call fcn.00467380
mov eax, 3
call fcn.00467310
call fcn.00467380
mov dword [esp + 0x110], edi
mov dword [esp + 0x50], ecx
lea eax, [ecx + ecx*4]
lea eax, [edi + eax*4 - 0x14]
lea esi, [esp + 0xac]
mov edi, eax
call fcn.00467a2e
mov ecx, dword [esp + 0x64]
lea eax, [ecx + 0x10]
lea ecx, [ebx + 0x10]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x110]
mov ebx, ebp
mov ebp, esi
mov esi, dword [esp + 0x50]
cmp dword [esp + 0xe4], eax
jbe 0x5aa2eb
mov dword [esp + 0x64], eax
mov dword [esp + 0x3c], ecx
lea edi, [esp + 0xac]
xor eax, eax
call fcn.0046754b
mov ecx, dword [ebx + 0x2ac]
add ecx, 0xfffffffc
mov edi, ebp
mov ebp, dword [esp + 0x3c]
cmp ebp, ecx
jbe 0x5a9fd3
mov ecx, dword [0x7c3d28]
xor eax, eax
jmp 0x5aa006
mov ecx, dword [ebx + 0x28c]
cmp ebp, ecx
ja 0x5aa374
mov eax, dword [ebx + 0x290]
sub ecx, ebp
sub eax, ebp
neg eax
sar eax, 0x1f
and eax, ebp
cmp ecx, 3
jbe 0x5aa36a
mov ecx, dword [ebx + 0x288]
mov eax, dword [eax + ecx]
xor ecx, ecx
mov dword [esp + 0xac], eax
test ecx, ecx
jne 0x5aa2ed
mov dword [esp + 0x54], edx
lea eax, [ebp + 4]
mov ecx, dword [ebx + 0x2ac]
add ecx, 0xfffffffc
cmp ecx, eax
jae 0x5aa033
mov eax, dword [0x7c3d28]
xor ecx, ecx
jmp 0x5aa072
mov ecx, dword [ebx + 0x28c]
cmp ecx, eax
jb 0x5aa365
mov edx, dword [ebx + 0x290]
sub edx, ebp
sub ecx, ebp
add ecx, 0xfffffffc
add edx, 0xfffffffc
neg edx
sar edx, 0x1f
and eax, edx
cmp ecx, 3
jbe 0x5aa35b
mov ecx, dword [ebx + 0x288]
mov eax, dword [eax + ecx]
mov edx, dword [esp + 0x54]
mov ecx, eax
xor eax, eax
mov dword [esp + 0xb0], ecx
test eax, eax
jne 0x5aa2ed
mov dword [esp + 0x11c], edi
lea eax, [ebp + 8]
mov ecx, dword [ebx + 0x2ac]
add ecx, 0xfffffffc
cmp ecx, eax
jae 0x5aa0a2
mov eax, dword [0x7c3d28]
xor ecx, ecx
jmp 0x5aa0e8
mov ecx, dword [ebx + 0x28c]
cmp ecx, eax
jb 0x5aa356
mov edi, dword [ebx + 0x290]
sub edi, ebp
sub ecx, ebp
add ecx, 0xfffffff8
add edi, 0xfffffff8
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
cmp ecx, 3
jbe 0x5aa34c
mov ecx, dword [ebx + 0x288]
mov eax, dword [eax + ecx]
mov edi, dword [esp + 0x11c]
mov ecx, eax
xor eax, eax
mov dword [esp + 0xb4], ecx
test eax, eax
jne 0x5aa2ed
lea eax, [ebp + 0xc]
mov ecx, dword [ebx + 0x2ac]
add ecx, 0xfffffffe
cmp ecx, eax
jae 0x5aa111
mov eax, dword [0x7c3d28]
xor ecx, ecx
jmp 0x5aa158
mov ecx, dword [ebx + 0x28c]
cmp ecx, eax
jb 0x5aa347
mov edi, dword [ebx + 0x290]
sub edi, ebp
sub ecx, ebp
add ecx, 0xfffffff4
add edi, 0xfffffff4
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
cmp ecx, 1
jbe 0x5aa33d
mov ecx, dword [ebx + 0x288]
movzx eax, word [eax + ecx]
mov edi, dword [esp + 0x11c]
mov ecx, eax
xor eax, eax
mov word [esp + 0xb8], cx
test eax, eax
jne 0x5aa2ed
lea ecx, [ebp + 0xf]
cmp dword [ebx + 0x2ac], ecx
jae 0x5aa18f
mov eax, dword [0x7c3d28]
mov dword [esp + 0x80], eax
xor eax, eax
mov byte [esp + 0x23], al
mov eax, dword [esp + 0x80]
jmp 0x5aa1cf
mov eax, dword [ebx + 0x290]
cmp eax, ecx
jb 0x5aa336
lea edi, [ebp + 0xe]
cmp ecx, edi
jb 0x5aa32f
mov edx, dword [ebx + 0x288]
sub eax, ebp
add eax, 0xfffffff2
neg eax
sar eax, 0x1f
and edi, eax
movzx eax, byte [edi + edx]
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x11c]
mov byte [esp + 0x23], al
xor eax, eax
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [esp + 0xba], al
xchg ebp, eax
test eax, eax
jne 0x5aa2ed
mov ebp, dword [ebx + 0x2ac]
add ebp, 0xfffffffe
cmp ebp, ecx
jae 0x5aa207
mov ecx, dword [0x7c3d28]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x1e8]
xor eax, eax
jmp 0x5aa24c
mov ebp, dword [ebx + 0x28c]
cmp ebp, ecx
jb 0x5aa326
mov eax, dword [ebx + 0x290]
mov ebx, dword [esp + 0x3c]
sub eax, ebx
sub ebp, ebx
add ebp, 0xfffffff1
add eax, 0xfffffff1
neg eax
sar eax, 0x1f
and ecx, eax
cmp ebp, 1
jbe 0x5aa31a
mov ebp, dword [esp + 0x1e8]
mov eax, dword [ebp + 0x288]
movzx eax, word [ecx + eax]
xor ecx, ecx
test ecx, ecx
jne 0x5aa2ed
mov ecx, eax
and eax, 7
mov byte [esp + 0xbb], al
mov eax, ecx
and ecx, 8
shr cx, 3
mov byte [esp + 0xbc], cl
mov ecx, eax
and eax, 0x10
shr ax, 4
mov byte [esp + 0xbd], al
mov eax, ecx
and ecx, 0x20
shr cx, 5
mov byte [esp + 0xbe], cl
and eax, 0xc0
shr ax, 6
mov byte [esp + 0xbf], al
lea ecx, [esi + 1]
cmp edx, ecx
jae 0x5a9f56
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x60df40]
mov dword [esp + 0x10], eax
call fcn.0044d830
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov edi, ebp
mov ebp, dword [esp + 0x1e8]
jmp 0x5a9f56
mov edi, ebp
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.00409d50
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6f00]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], eax
jmp 0x5a95ba
mov eax, 1
mov ecx, ebp
call fcn.00467310
mov eax, ecx
mov ecx, ebp
call fcn.00467380
mov eax, edi
call fcn.00467380
mov edx, eax
call fcn.00467360
mov eax, 1
call fcn.00467310
call fcn.00467380
mov eax, 3
call fcn.00467310
call fcn.00467380
mov eax, 3
call fcn.00467310
call fcn.00467380
mov eax, 3
call fcn.00467310
mov eax, ebp
call fcn.00467380
mov eax, 3
call fcn.00467310
call fcn.00467380
mov eax, 3
mov ecx, ebp
call fcn.00467310
mov eax, edx
mov ecx, ebp
call fcn.00467380
mov eax, 3
mov ecx, ebp
call fcn.00467310
mov eax, edx
mov ecx, ebp
call fcn.00467380
mov eax, 3
call fcn.00467310
call fcn.00467380
call fcn.00436b70
nop
call fcn.00465ea0
jmp fcn.005a8b60