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

Disassembly:
push 0xffffffffffffffff
push 0xa8f2ed
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x490
mov edx, dword [esp + 0x4ac]
push ebx
mov ebx, dword [esp + 0x4a4]
lea eax, [esp + 0x4c]
push esi
mov esi, dword [esp + 0x4ac]
lea ecx, [esp + 0x48]
push eax
mov eax, dword [esp + 0x4b4]
push ecx
push 0
push edx
push eax
push esi
push ebx
mov dword [esp + 0x64], 0
call fcn.00a54500
add esp, 0x1c
test eax, eax
jne 0xa5fb93
mov ecx, dword [esp + 0x48]
push esi
push ecx
mov ecx, ebx
call fcn.00a5b240
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x4c], eax
test ecx, ecx
jne 0xa5f61d
xor edx, edx
jmp 0xa5f622
mov edx, dword [ebx + esi*4]
add edx, ecx
mov ecx, dword [eax + 0x24]
cmp ecx, 0x2710
jle 0xa5f632
mov ecx, 0x2710
push ebp
push edi
test ecx, ecx
jle 0xa5faa1
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
jmp 0xa5f654
mov esi, dword [esp + 0x4b4]
mov ebx, dword [esp + 0x4b0]
mov dl, byte [esp + 0x13]
push 0
lea ecx, [esp + 0x18]
mov byte [esp + 0x18], dl
call fcn.009f6b50
lea eax, [esp + 0x13]
lea ecx, [esp + 0x24]
push eax
mov dword [esp + 0x4ac], 0
call fcn.00a600a0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x4a8], 1
mov eax, dword [ecx]
test eax, eax
jne 0xa5f699
xor edi, edi
jmp 0xa5f69e
mov edi, dword [ebx + esi*4]
add edi, eax
mov eax, dword [edi]
test eax, eax
jne 0xa5f6a8
xor esi, esi
jmp 0xa5f6ad
mov esi, dword [ebx + esi*4]
add esi, eax
cmp word [esi], 0
mov bl, byte [esp + 0x4c8]
mov edx, dword [edi + 4]
setne al
xor ebp, ebp
mov bp, word [esi + 2]
mov dword [esp + 0x34], edx
test bl, bl
mov byte [esp + 0x38], al
je 0xa5f72f
test al, al
je 0xa5f72f
lea ecx, [esp + 0x290]
call fcn.00a155c0
lea eax, [esp + 0x290]
push 0
push eax
add esi, 4
push ebp
push esi
mov byte [esp + 0x4b8], 2
call fcn.00a141f0
mov eax, dword [esp + 0x2a8]
push eax
mov esi, eax
call fcn.00a7e07a
add esp, 0x14
lea ecx, [esp + 0x14]
push eax
push esi
call fcn.00a61330
lea ecx, [esp + 0x290]
mov byte [esp + 0x4a8], 1
call fcn.00a155e0
jmp 0xa5f746
add esi, 4
push esi
call fcn.00a7e07a
add esp, 4
lea ecx, [esp + 0x14]
push eax
push esi
call fcn.00a61330
mov eax, dword [edi + 0x10]
test eax, eax
jne 0xa5f751
xor ebp, ebp
jmp 0xa5f764
mov ecx, dword [esp + 0x4b0]
mov edx, dword [esp + 0x4b4]
mov ebp, dword [ecx + edx*4]
add ebp, eax
mov al, byte [edi + 0xc]
and al, 1
test bl, bl
mov byte [esp + 0x39], al
je 0xa5f914
test byte [edi + 0xc], 1
je 0xa5f914
mov eax, dword [esp + 0x34]
cmp eax, 1
je 0xa5f796
cmp eax, 7
je 0xa5f796
cmp eax, 2
jne 0xa5f914
lea ecx, [esp + 0x80]
call fcn.00a155c0
mov edx, dword [edi + 8]
lea ecx, [esp + 0x80]
push 0
push ecx
shr edx, 1
push edx
push ebp
mov byte [esp + 0x4b8], 3
call fcn.00a141f0
mov ebp, dword [esp + 0x98]
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
lea ebx, [ebp + ecx*2]
sub edx, eax
mov esi, ebx
add esp, 0x10
sub esi, ebp
mov edi, eax
cmp edx, esi
mov dword [esp + 0x40], ebx
jae 0xa5f89f
mov edx, dword [esp + 0x28]
test edx, edx
je 0xa5f801
mov ecx, eax
sub ecx, edx
cmp esi, ecx
jb 0xa5f803
mov ecx, esi
test edx, edx
jne 0xa5f80b
xor eax, eax
jmp 0xa5f80d
sub eax, edx
add eax, ecx
test eax, eax
mov dword [esp + 0x3c], eax
jge 0xa5f819
xor eax, eax
push eax
call fcn.009ef380
add esp, 4
mov ebx, eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x24]
push ebx
push edi
push eax
call fcn.00a1cc30
mov ecx, dword [esp + 0x40]
push eax
push ecx
push ebp
lea ecx, [esp + 0x30]
call fcn.00a1cc30
mov edx, dword [esp + 0x2c]
push eax
push edx
push edi
lea ecx, [esp + 0x30]
call fcn.00a1cc30
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push eax
push ecx
lea ecx, [esp + 0x2c]
call fcn.009ee060
mov edx, dword [esp + 0x28]
push edx
call fcn.00a7d8f0
mov eax, dword [esp + 0x40]
add esp, 4
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x28]
test eax, eax
mov dword [esp + 0x30], ecx
jne 0xa5f88b
xor ecx, ecx
jmp 0xa5f891
mov ecx, dword [esp + 0x2c]
sub ecx, eax
add ecx, ebx
mov dword [esp + 0x28], ebx
add ecx, esi
mov dword [esp + 0x2c], ecx
jmp 0xa5f8fb
test esi, esi
jbe 0xa5f8fb
lea edx, [eax + esi]
lea ecx, [esp + 0x24]
push edx
push eax
push eax
call fcn.00a1cc30
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x24]
push eax
sub eax, edi
add eax, ebp
push ebx
push eax
call fcn.00a1cc30
mov eax, dword [esp + 0x2c]
sub eax, edi
add eax, ebp
cmp ebp, eax
je 0xa5f8f7
sub edi, ebp
mov cl, byte [ebp]
mov byte [edi + ebp], cl
inc ebp
cmp ebp, eax
jne 0xa5f8d4
jmp 0xa5f8f7
add dword [esp + 0x2c], esi
lea ecx, [esp + 0x80]
mov byte [esp + 0x4a8], 1
call fcn.00a155e0
jmp 0xa5fa36
mov ebx, dword [edi + 8]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
add ebx, ebp
mov edi, ebx
sub ecx, eax
sub edi, ebp
mov esi, eax
cmp ecx, edi
mov dword [esp + 0x3c], ebx
jae 0xa5f9e3
mov edx, dword [esp + 0x28]
test edx, edx
je 0xa5f945
mov ecx, eax
sub ecx, edx
cmp edi, ecx
jb 0xa5f947
mov ecx, edi
test edx, edx
jne 0xa5f94f
xor eax, eax
jmp 0xa5f951
sub eax, edx
add eax, ecx
test eax, eax
mov dword [esp + 0x40], eax
jge 0xa5f95d
xor eax, eax
push eax
call fcn.009ef380
mov edx, dword [esp + 0x2c]
add esp, 4
mov ebx, eax
lea ecx, [esp + 0x24]
push ebx
push esi
push edx
call fcn.00a1cc30
push eax
mov eax, dword [esp + 0x40]
push eax
push ebp
lea ecx, [esp + 0x30]
call fcn.00a1cc30
mov ecx, dword [esp + 0x2c]
push eax
push ecx
push esi
lea ecx, [esp + 0x30]
call fcn.00a1cc30
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push edx
push eax
lea ecx, [esp + 0x2c]
call fcn.009ee060
mov ecx, dword [esp + 0x28]
push ecx
call fcn.00a7d8f0
mov edx, dword [esp + 0x44]
add esp, 4
lea eax, [ebx + edx]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0xa5f9cf
xor ecx, ecx
jmp 0xa5f9d5
mov ecx, dword [esp + 0x2c]
sub ecx, eax
add ecx, ebx
mov dword [esp + 0x28], ebx
add ecx, edi
mov dword [esp + 0x2c], ecx
jmp 0xa5fa36
test edi, edi
jbe 0xa5fa36
lea ecx, [eax + edi]
push ecx
push eax
push eax
lea ecx, [esp + 0x30]
call fcn.00a1cc30
mov eax, dword [esp + 0x2c]
lea ecx, [esp + 0x24]
push eax
sub eax, esi
add eax, ebp
push ebx
push eax
call fcn.00a1cc30
mov edx, dword [esp + 0x2c]
push esi
sub edx, esi
add edx, ebp
push edx
jmp 0xa5fa23
push ebp
call fcn.00a620f0
mov eax, dword [esp + 0x38]
add esp, 0xc
add eax, edi
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x4c0]
lea edx, [esp + 0x14]
push edx
mov eax, dword [ecx + 8]
push eax
call fcn.00a61150
mov esi, 4
lea ecx, [esp + 0x24]
mov dword [esp + 0x4a8], esi
call fcn.009fd400
push 1
lea ecx, [esp + 0x18]
mov dword [esp + 0x4ac], 0xffffffff
call fcn.009f6b50
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
add ecx, esi
dec eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], eax
jne 0xa5f646
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x4b4]
mov ebx, dword [esp + 0x4b0]
mov eax, dword [eax + 0x34]
test eax, eax
je 0xa5fb78
mov edi, dword [ebx + esi*4]
add edi, eax
je 0xa5fb78
mov ebp, dword [esp + 0x4c4]
mov ebx, 5
jmp 0xa5facc
mov esi, dword [esp + 0x4b4]
mov eax, dword [edi]
test eax, eax
je 0xa5fb78
jne 0xa5fadc
xor esi, esi
jmp 0xa5fae8
mov ecx, dword [esp + 0x4b0]
mov esi, dword [ecx + esi*4]
add esi, eax
lea edx, [esp + 0x13]
lea ecx, [esp + 0x5c]
push edx
call fcn.00a600a0
lea eax, [esp + 0x47]
lea ecx, [esi + 4]
push eax
push ecx
lea ecx, [esp + 0x78]
mov dword [esp + 0x4b0], ebx
call fcn.00a600c0
mov edx, dword [0xa918f8]
lea ecx, [esp + 0x5c]
push edx
push 0
push eax
mov byte [esp + 0x4b4], 6
call fcn.00a1f2c0
push 1
lea ecx, [esp + 0x74]
mov byte [esp + 0x4ac], bl
call fcn.009f6b50
cmp word [esi], 0
lea ecx, [esp + 0x5c]
push ecx
mov ecx, ebp
setne al
mov byte [esp + 0x70], al
mov eax, dword [ebp + 8]
push eax
call fcn.00a60f70
push 1
lea ecx, [esp + 0x60]
add edi, 4
mov dword [esp + 0x4ac], 0xffffffff
call fcn.009f6b50
test edi, edi
jne 0xa5fac5
pop edi
pop ebp
pop esi
mov al, 1
pop ebx
mov ecx, dword [esp + 0x490]
mov dword fs:[0], ecx
add esp, 0x49c
ret
mov ecx, dword [esp + 0x498]
pop esi
xor al, al
pop ebx
mov dword fs:[0], ecx
add esp, 0x49c
ret