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

Disassembly:
sub esp, 0x44
push ebx
push ebp
push esi
mov esi, dword [esp + 0x54]
xor ebx, ebx
push edi
mov eax, dword [esi + 0xd00fc]
mov dword [esp + 0x38], ebx
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], ebx
jne 0x5a7023
call fcn.005a5798
cmp eax, ebx
mov dword [esi + 0xd00fc], eax
jne 0x5a7023
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x44
ret
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x5a706a
cmp dword [esi + 0x8c], ebx
je 0x5a706a
mov edx, dword [esi + 0x24]
xor ecx, ecx
cmp edx, ebx
push ebx
sete cl
push eax
push esi
mov dword [esi + 0x88], ecx
call fcn.005b68e8
add esp, 0xc
cmp eax, 0x200
jle 0x5a706a
sub eax, 0xa00
pop edi
neg eax
sbb eax, eax
pop esi
and al, 0xfe
pop ebp
add eax, 4
pop ebx
add esp, 0x44
ret
mov edi, dword [0x10019100]
lea eax, [esi + 0xf8]
mov dword [esi + 0xc00f8], eax
mov eax, dword [esi + 0x78]
cmp eax, ebx
mov dword [esi + 0x90], 1
mov dword [esi + 0xd0224], ebx
jbe 0x5a70c0
lea edx, [eax*4]
push edx
call edi
mov ecx, eax
add esp, 4
cmp ecx, ebx
mov dword [esp + 0x28], ecx
je 0x5a70c0
mov edx, dword [esi + 0x78]
xor eax, eax
cmp edx, ebx
jbe 0x5a70c0
mov dword [ecx], ebx
mov edx, dword [esi + 0x78]
inc eax
add ecx, 4
cmp eax, edx
jb 0x5a70b3
mov eax, dword [esi + 0x7c]
cmp eax, ebx
jbe 0x5a70f0
shl eax, 2
push eax
call edi
mov ecx, eax
add esp, 4
cmp ecx, ebx
mov dword [esp + 0x24], ecx
je 0x5a70f0
mov edx, dword [esi + 0x7c]
xor eax, eax
cmp edx, ebx
jbe 0x5a70f0
mov dword [ecx], ebx
mov edx, dword [esi + 0x7c]
inc eax
add ecx, 4
cmp eax, edx
jb 0x5a70e3
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x10]
xor ebp, ebp
lea eax, [esi + 0xf8]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x18], eax
jmp 0x5a711e
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
lea edi, [esi + 0xe8]
push 4
push edi
push esi
mov dword [esi + 0xc00f8], ecx
call fcn.005aac38
add esp, 0xc
test eax, eax
je 0x5a72ea
mov eax, dword [edi]
mov edx, 0x1001e1dc
cmp eax, dword [edx]
jne 0x5a72fb
push esi
call fcn.005b06a8
add esp, 4
test eax, eax
jne 0x5a73cf
xor ecx, ecx
push 2
mov cx, word [esi + 0xd01aa]
push ecx
push esi
call fcn.005aba88
add esp, 0xc
test eax, eax
je 0x5a718e
cmp eax, ebx
jle 0x5a7185
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp eax, 1
jg 0x5a73dc
xor edx, edx
push 3
mov dx, word [esi + 0xd01ac]
push edx
push esi
call fcn.005aba88
add esp, 0xc
test eax, eax
je 0x5a71ba
cmp eax, ebx
jle 0x5a71b1
mov ebx, eax
mov dword [esp + 0x10], ebx
cmp eax, 1
jg 0x5a741d
xor eax, eax
push 0
mov ax, word [esi + 0xd01ae]
push eax
push esi
call fcn.005aba88
add esp, 0xc
test eax, eax
je 0x5a71e4
cmp eax, ebx
jle 0x5a71db
mov dword [esp + 0x10], eax
cmp eax, 1
jg 0x5a745e
mov eax, dword [esi + 0x80]
test eax, eax
je 0x5a7210
push esi
call fcn.005a7a38
add esp, 4
test eax, eax
je 0x5a72bb
mov eax, dword [esp + 0x18]
inc ebp
add eax, 0x30
mov dword [esp + 0x18], eax
jmp 0x5a72bf
mov eax, dword [esi + 0x78]
test eax, eax
je 0x5a725b
xor edi, edi
test eax, eax
jbe 0x5a72bf
lea ebx, [esi + 0xd0258]
mov edx, dword [esi + 0xe0]
mov ecx, dword [esi + 0x1c]
push ecx
mov eax, dword [edx + edi*4]
push eax
push ebx
call fcn.005ae728
add esp, 0xc
test eax, eax
jne 0x5a724c
mov eax, dword [esi + 0x78]
inc edi
cmp edi, eax
jb 0x5a7227
jmp 0x5a72bf
mov eax, dword [esp + 0x28]
test eax, eax
je 0x5a725b
mov dword [eax + edi*4], 1
mov eax, dword [esi + 0x7c]
xor edi, edi
test eax, eax
jbe 0x5a728d
lea ebx, [esi + 0xd0258]
mov edx, dword [esi + 0xe4]
mov ecx, dword [esi + 0x1c]
push ecx
mov eax, dword [edx + edi*4]
push eax
push ebx
call fcn.005ae728
add esp, 0xc
test eax, eax
jne 0x5a72a8
mov eax, dword [esi + 0x7c]
inc edi
cmp edi, eax
jb 0x5a726a
push esi
call fcn.005a7a38
add esp, 4
test eax, eax
je 0x5a72bb
mov eax, dword [esp + 0x18]
inc ebp
add eax, 0x30
mov dword [esp + 0x18], eax
jmp 0x5a72bf
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5a72bf
mov ecx, eax
mov dword [ecx + edi*4], 1
jmp 0x5a72bf
inc dword [esp + 0x14]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
add edx, 1
adc ecx, 0
cmp ebp, 0x4000
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
jb 0x5a711a
mov dword [esp + 0x18], ebp
jmp 0x5a74a6
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], 0x33
jmp 0x5a749e
mov edx, dword [esi + 0xd01d8]
mov dword [esp + 0x18], ebp
test edx, edx
je 0x5a7311
or eax, 0xffffffff
or ecx, 0xffffffff
jmp 0x5a7318
mov eax, 0xffff
xor ecx, ecx
mov ebx, dword [esp + 0x44]
and eax, ebx
mov ebx, dword [esp + 0x48]
and ecx, ebx
mov ebx, dword [esi + 0xd01c8]
cmp eax, ebx
jne 0x5a737b
cmp ecx, dword [esi + 0xd01cc]
jne 0x5a737b
test edx, edx
mov eax, 0x1001e1e8
jne 0x5a7344
mov eax, 0x1001e1e4
mov edx, dword [edi]
mov ecx, dword [eax]
cmp edx, ecx
je 0x5a736e
mov eax, dword [esi + 0xd01dc]
test eax, eax
jne 0x5a736e
mov eax, 0x1001e1e4
mov ecx, edx
cmp ecx, dword [eax]
je 0x5a736e
mov dword [esp + 0x34], 1
jmp 0x5a749e
mov dword [esp + 0x34], 0
jmp 0x5a749e
mov edx, dword [esp + 0x30]
mov ebx, dword [0x10019114]
push 0x401
lea edi, [esi + 0xc00fc]
lea eax, [edx + ebp + 1]
push eax
push 0x1001c7b4
push edi
call ebx
add esp, 0xc
push eax
push edi
push esi
call dword [esi + 0xd043c]
push 0x401
push 0x1001c88c
push edi
call ebx
add esp, 8
push eax
push edi
push esi
call dword [esi + 0xd043c]
mov dword [esp + 0x10], 3
jmp 0x5a749e
mov dword [esp + 0x18], ebp
mov dword [esp + 0x10], eax
jmp 0x5a749e
push 0x401
push 0x1001e088
lea ecx, [esi + 0xc80fc]
push 0x4000
lea edx, [esi + 0xd0258]
push ecx
push edx
mov dword [esp + 0x2c], ebp
lea edi, [esi + 0xc00fc]
call fcn.005aa2b8
add esp, 0xc
push eax
push 0x100195bc
push edi
call dword [0x10019114]
add esp, 0x10
jmp 0x5a7495
push 0x401
push 0x1001e088
lea eax, [esi + 0xc80fc]
push 0x4000
lea ecx, [esi + 0xd0258]
push eax
push ecx
mov dword [esp + 0x2c], ebp
lea edi, [esi + 0xc00fc]
call fcn.005aa2b8
add esp, 0xc
push eax
push 0x10019760
push edi
call dword [0x10019114]
add esp, 0x10
jmp 0x5a7495
push 0x421
lea edx, [esi + 0xc80fc]
push 0x4000
lea eax, [esi + 0xd0258]
push edx
push eax
mov dword [esp + 0x28], ebp
lea edi, [esi + 0xc00fc]
call fcn.005aa2b8
push eax
push 0x1001982c
push edi
call dword [0x10019114]
add esp, 0x18
push eax
push edi
push esi
call dword [esi + 0xd043c]
mov dword [esp + 0x58], 1
mov ecx, dword [esi + 0xd010c]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
lea eax, [esp + 0x1c]
mov edi, dword [esi + 0xd0138]
mov ebx, dword [esi + 0xd013c]
mov ebp, dword [esi + 0xd0108]
push edx
lea ecx, [esp + 0x24]
push eax
lea edx, [esp + 0x54]
push ecx
lea eax, [esp + 0x38]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x48]
push eax
push ecx
push edx
push esi
call fcn.005a7e78
add esp, 0x20
test eax, eax
je 0x5a750e
mov ecx, dword [esp + 0x10]
cmp eax, ecx
jle 0x5a7500
mov ecx, eax
mov dword [esp + 0x10], ecx
cmp dword [esi + 0xd0228], 1
jg 0x5a7573
cmp ecx, 0x50
je 0x5a7573
mov eax, dword [esi + 0xd0128]
push 0
push ebx
push edi
push eax
call dword [0x10019110]
mov ecx, dword [esi + 0xd0104]
mov dword [esi + 0xd0138], eax
mov dword [esi + 0xd013c], edx
mov edx, dword [esi + 0xd0128]
push 0x2000
push ecx
push edx
call dword [0x100191a8]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
mov dword [esi + 0xd010c], eax
mov eax, dword [esp + 0x74]
add esp, 0x1c
add ecx, 0x4000
test eax, eax
mov dword [esi + 0xd0108], ebp
mov dword [esp + 0x30], ecx
je 0x5a7104
jmp 0x5a757b
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x20]
mov ebx, dword [0x100190fc]
test eax, eax
jbe 0x5a7725
lea ecx, [eax*4]
push ecx
call dword [0x10019100]
mov ebp, eax
add esp, 4
test ebp, ebp
mov dword [esp + 0x44], ebp
jne 0x5a75f2
mov ebp, dword [0x10019114]
lea edi, [esi + 0xc00fc]
push 0x401
push 0x10019978
push edi
call ebp
add esp, 8
push eax
push edi
push esi
call dword [esi + 0xd043c]
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x5a772b
mov edx, dword [eax]
push eax
mov dword [esp + 0x20], edx
call ebx
mov eax, dword [esp + 0x20]
add esp, 4
test eax, eax
jne 0x5a75d9
jmp 0x5a772b
mov edi, dword [esp + 0x20]
mov dword [esp + 0x18], 0
cmp edi, 1
jne 0x5a760c
mov eax, dword [esp + 0x1c]
mov dword [ebp], eax
jmp 0x5a7642
xor eax, eax
test edi, edi
jbe 0x5a7630
mov edx, dword [esp + 0x1c]
mov ecx, ebp
mov dword [ecx], edx
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
inc eax
mov edx, dword [edx]
add ecx, 4
cmp eax, edi
mov dword [esp + 0x1c], edx
jb 0x5a7618
push 0x10006160
push 4
push edi
push ebp
call dword [0x1001910c]
add esp, 0x10
mov eax, dword [esp + 0x20]
mov dword [esp + 0x3c], 0
test eax, eax
jbe 0x5a76dc
mov dword [esp + 0x30], ebp
mov ebp, dword [0x10019114]
mov eax, dword [esp + 0x30]
mov ebx, dword [eax]
push ebx
push esi
call fcn.005b55f8
add esp, 8
mov dword [esp + 0x40], eax
test eax, eax
je 0x5a76b4
mov ecx, dword [esp + 0x18]
push 0x201
inc ecx
lea edi, [esi + 0xc00fc]
mov dword [esp + 0x1c], ecx
mov ecx, dword [ebx + 4]
push ecx
push 0x100199b4
push edi
call ebp
add esp, 0xc
push eax
push edi
push esi
call dword [esi + 0xd043c]
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x5a76b4
mov edx, dword [esp + 0x40]
mov dword [esp + 0x10], edx
push ebx
call dword [0x100190fc]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x24]
add esp, 4
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x30], edx
jb 0x5a7660
jmp 0x5a76e2
mov ebp, dword [0x10019114]
mov eax, dword [esp + 0x44]
push eax
call dword [0x100190fc]
mov eax, dword [esi + 0x4c]
add esp, 4
test eax, eax
jne 0x5a772b
mov eax, dword [esi + 0x40]
test eax, eax
jne 0x5a772b
mov eax, dword [esp + 0x18]
test eax, eax
jbe 0x5a772b
push 0
lea edi, [esi + 0xc00fc]
push eax
push 0x100199e0
push edi
call ebp
add esp, 0xc
push eax
push edi
push esi
call dword [esi + 0xd043c]
jmp 0x5a772b
mov ebp, dword [0x10019114]
mov eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x10]
test eax, eax
je 0x5a77c7
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5a77b5
mov eax, dword [esi + 0x78]
xor ebx, ebx
test eax, eax
jbe 0x5a77b5
mov ecx, dword [esp + 0x28]
cmp dword [ecx + ebx*4], 0
jne 0x5a77ad
mov eax, dword [esi + 0xc0]
test eax, eax
jne 0x5a7795
mov eax, dword [esi + 0xc4]
test eax, eax
jne 0x5a7795
mov edx, dword [esi + 0xe0]
push 0x401
lea edi, [esi + 0xc00fc]
mov eax, dword [edx + ebx*4]
push eax
push 0x1001c838
push edi
call ebp
add esp, 0xc
push eax
push edi
push esi
call dword [esi + 0xd043c]
jmp 0x5a779e
push esi
call fcn.005a5348
add esp, 4
cmp dword [esp + 0x10], 1
jg 0x5a77ad
mov dword [esp + 0x10], 0xb
mov eax, dword [esi + 0x78]
inc ebx
cmp ebx, eax
jb 0x5a774c
mov ecx, dword [esp + 0x28]
push ecx
call dword [0x100190fc]
mov ebx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5a782d
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5a781b
mov eax, dword [esi + 0x7c]
xor ebx, ebx
test eax, eax
jbe 0x5a781b
mov edx, dword [esp + 0x24]
cmp dword [edx + ebx*4], 0
jne 0x5a7813
mov eax, dword [esi + 0xe4]
push 0x401
lea edi, [esi + 0xc00fc]
mov ecx, dword [eax + ebx*4]
push ecx
push 0x1001c85c
push edi
call ebp
add esp, 0xc
push eax
push edi
push esi
call dword [esi + 0xd043c]
mov eax, dword [esi + 0x7c]
inc ebx
cmp ebx, eax
jb 0x5a77e0
mov edx, dword [esp + 0x24]
push edx
call dword [0x100190fc]
mov ebx, dword [esp + 0x14]
add esp, 4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x5a7a21
mov eax, dword [esp + 0x34]
test eax, eax
je 0x5a7882
lea edi, [esi + 0xc00fc]
push 0x401
push 0x1001c768
push edi
call ebp
add esp, 8
push eax
push edi
push esi
call dword [esi + 0xd043c]
push 0x401
push 0x1001c88c
push edi
call ebp
add esp, 8
push eax
push edi
push esi
call dword [esi + 0xd043c]
test ebx, ebx
jne 0x5a7882
mov ebx, 1
mov eax, dword [esi + 0x4c]
test eax, eax
je 0x5a79b7
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esi + 0x40]
sub eax, ecx
cmp edx, 2
jge 0x5a79bb
test ebx, ebx
je 0x5a78d3
cmp ebx, 1
mov eax, 0x1001e07c
je 0x5a78b6
mov eax, 0x1001f5f0
mov ecx, dword [esi + 0xd0124]
push 0
push ecx
lea edi, [esi + 0xc00fc]
push eax
push 0x10019a18
push edi
call ebp
add esp, 0x10
jmp 0x5a794c
test eax, eax
jne 0x5a78f2
mov edx, dword [esi + 0xd0124]
push eax
lea edi, [esi + 0xc00fc]
push edx
push 0x10019a44
push edi
call ebp
add esp, 0xc
jmp 0x5a794c
mov edx, dword [esi + 0x80]
test edx, edx
je 0x5a7921
mov edx, dword [esp + 0x14]
add ecx, edx
test ecx, ecx
jne 0x5a7921
mov eax, dword [esi + 0xd0124]
push ecx
lea edi, [esi + 0xc00fc]
push eax
push 0x10019b50
push edi
call ebp
add esp, 0xc
jmp 0x5a794c
cmp eax, 1
mov ecx, 0x1001f5f0
je 0x5a7930
mov ecx, 0x1001e078
push 0
push ecx
mov ecx, dword [esi + 0xd0124]
push eax
lea edi, [esi + 0xc00fc]
push ecx
push 0x10019b80
push edi
call ebp
add esp, 0x14
push eax
push edi
push esi
call dword [esi + 0xd043c]
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x5a7988
cmp eax, 1
mov eax, 0x1001f5f0
je 0x5a796c
mov eax, 0x1001e078
mov edx, dword [esp + 0x14]
push 0
push eax
push edx
push 0x10019bb8
push edi
call ebp
add esp, 0x10
push eax
push edi
push esi
call dword [esi + 0xd043c]
mov ecx, dword [esp + 0x2c]
test ecx, ecx
jbe 0x5a79bb
cmp ecx, 1
mov eax, 0x1001f5f0
je 0x5a799f
mov eax, 0x1001e078
push 0
push eax
push ecx
push 0x10019af0
push edi
call ebp
add esp, 0x10
push eax
push edi
push esi
call dword [esi + 0xd043c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x5a79e0
cmp ebx, 1
jg 0x5a79e0
mov edx, dword [esp + 0x14]
pop edi
cmp eax, edx
pop esi
sbb ebx, ebx
pop ebp
and ebx, 0x46
add ebx, 0xb
mov eax, ebx
pop ebx
add esp, 0x44
ret
cmp eax, ecx
jne 0x5a79f8
cmp ebx, 1
jg 0x5a79f8
mov ebx, 0x52
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x44
ret
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x5a7a14
cmp ebx, 1
jg 0x5a7a14
mov ebx, 0x51
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x44
ret
test ecx, ecx
jbe 0x5a7a21
test ebx, ebx
jne 0x5a7a21
mov ebx, 1
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x44
ret