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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5a9c63
sub esp, 0x6c
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
call fcn.00522940
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x5a9c2f
mov ebx, dword [eax + 4]
test ebx, ebx
jne 0x5a9c1f
mov ebx, dword [eax + 0x18]
test ebx, ebx
jne 0x5a9c1f
mov ebx, dword [esp + 0x78]
mov ebp, dword [ebx + 8]
mov esi, dword [ebp + 0x20]
mov ebp, dword [ebp + 0x1c]
test esi, esi
jne 0x5a9c16
mov eax, 1
lea ecx, [0x60ef5d]
mov ebp, dword [esp + 0x80]
test ebp, ebp
jne 0x5a9c00
nop
lea esi, [eax - 1]
jmp 0x5a966c
dec esi
test esi, esi
jl 0x5a9680
cmp esi, eax
jae 0x5a9c59
lea edi, [ecx + esi]
cmp byte [edi], 0x2f
jne 0x5a966b
inc esi
cmp esi, eax
ja 0x5a9c50
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call fcn.004484b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], eax
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x60ef65]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call fcn.004c4920
mov ecx, dword [esp + 0x10]
cmp ecx, 0xffffffff
je 0x5a9bec
mov edx, dword [esp + 0x80]
cmp ecx, edx
ja 0x5a9c4b
sub edx, ecx
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, ecx
mov ebp, dword [esp + 0x7c]
add edx, ebp
mov dword [esp + 0x40], ebx
mov dword [esp + 0x50], edx
mov dword [esp + 0x80], ecx
cmp ecx, 1
jl 0x5a9be5
lea eax, [ecx - 1]
cmp eax, ecx
ja 0x5a9c46
lea eax, [ebp + ecx - 1]
mov dword [esp], eax
lea eax, [0x60ef5d]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.004028b0
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x36], al
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 4], ecx
call fcn.004a4a50
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x80], ecx
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
movzx edx, byte [esp + 0x36]
test dl, dl
je 0x5a97c3
cmp ecx, 1
jl 0x5a9bde
lea edx, [ecx - 1]
cmp edx, ecx
ja 0x5a9c3f
lea edx, [eax + ecx - 1]
mov dword [esp], edx
lea edx, [0x60ef5d]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
call fcn.004028b0
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a9ba0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x10], eax
call fcn.004484b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0x70]
mov ebx, dword [edx + 0x10]
mov ebp, dword [esp + 0x74]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x54], eax
lea ecx, [0x605100]
mov dword [esp], ecx
lea ecx, [0x610f14]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xc
call fcn.0040f830
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x37], al
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov edx, dword [esp + 0x80]
mov dword [esp + 4], edx
call fcn.005a0830
nop
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x3c], ecx
lea edx, [0x60fdc2]
mov dword [esp], edx
mov dword [esp + 4], 8
call fcn.00570840
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], ecx
lea edx, [0x5d6780]
mov dword [esp], edx
call fcn.0040b8d0
mov edi, dword [esp + 4]
mov dword [esp + 0x5c], edi
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [0x7a0970]
test eax, eax
jne 0x5a9b92
mov eax, dword [esp + 0x4c]
mov dword [edi], eax
lea eax, [0x5fc640]
mov dword [esp], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc], edx
call fcn.0040fbb0
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, dword [0x7a0970]
test eax, eax
jne 0x5a9b84
mov eax, dword [esp + 0x5c]
mov dword [edi], eax
movzx eax, byte [esp + 0x37]
test al, al
je 0x5a9a9b
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov ebx, dword [esp + 0x84]
mov dword [esp + 4], ebx
call ecx
movzx eax, byte [esp + 0x37]
test al, al
je 0x5a9946
add esp, 0x6c
ret
mov eax, dword [esp + 0x78]
mov ecx, dword [eax]
cmp dword [eax + 4], 3
jne 0x5a9942
cmp word [ecx], 0x4547
jne 0x5a9942
cmp byte [ecx + 2], 0x54
jne 0x5a9942
mov eax, dword [0x782ad4]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
call fcn.004c0560
mov eax, dword [0x782b24]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x48], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
lea ebx, [0x5dc7a0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
call fcn.0040e510
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], 0
lea edx, [0x610149]
mov dword [esp + 4], edx
mov dword [esp + 8], 9
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x10], edx
lea edx, [0x60f002]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 2
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
lea eax, [0x60f6cc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 6
call fcn.004485d0
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x64], 0
mov dword [esp + 0x68], 0
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409130
mov eax, dword [esp + 8]
lea ecx, [0x5db180]
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], eax
lea eax, [0x5e1e60]
mov dword [esp], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
call fcn.00409310
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [esp + 0x64]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b01f0
jmp 0x5a9942
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
cmp ebx, 3
jne 0x5a9b6a
cmp word [edx], 0x4547
jne 0x5a9b6a
cmp byte [edx + 2], 0x54
jne 0x5a9b6a
nop
nop
lea eax, [0x610f14]
mov dword [esp], eax
mov dword [esp + 4], 0xc
call fcn.00570840
mov eax, dword [esp + 8]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], ecx
lea edx, [0x5d6780]
mov dword [esp], edx
call fcn.0040b8d0
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov dword [eax + 4], 0x18
lea ecx, [0x615c16]
mov dword [eax], ecx
lea ecx, [0x5fc640]
mov dword [esp], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xc], ecx
call fcn.0040fbb0
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, dword [0x7a0970]
test eax, eax
jne 0x5a9b5c
mov eax, dword [esp + 0x58]
mov dword [edi], eax
jmp 0x5a991e
mov eax, dword [esp + 0x58]
call fcn.0045de10
jmp 0x5a991e
cmp ebx, 4
jne 0x5a991e
cmp dword [edx], 0x44414548
je 0x5a9ac2
jmp 0x5a991e
mov eax, dword [esp + 0x5c]
call fcn.0045de10
jmp 0x5a9911
mov eax, dword [esp + 0x4c]
call fcn.0045de10
jmp 0x5a98c5
mov dword [esp], 0
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
lea eax, [0x60ef5d]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 1
call fcn.004484b0
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
jmp 0x5a97ce
xor eax, eax
jmp 0x5a97bb
xor eax, eax
jmp 0x5a974d
mov ebp, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
xor ebx, ebx
xor edx, edx
jmp 0x5a9707
mov esi, dword [esp + 0x7c]
cmp byte [esi], 0x2f
jne 0x5a9665
mov ecx, ebp
mov eax, esi
jmp 0x5a96b1
mov eax, esi
mov ecx, ebp
jmp 0x5a9656
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
jmp 0x5a97fa
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
jmp 0x5a97fa
mov eax, edx
call fcn.0045def0
call fcn.0045def0
call fcn.0045deb0
mov ecx, esi
mov edx, eax
call fcn.0045deb0
mov ecx, eax
mov eax, esi
call fcn.0045de90
nop
call fcn.0045c8b0
jmp fcn.005a95e0