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

Disassembly:
push 0xffffffffffffffff
push 0xa8f1d4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x268
push ebx
push ebp
push esi
push edi
mov edi, ecx
xor ebp, ebp
mov dword [esp + 0x44], edi
cmp dword [edi + 0x44], ebp
jne 0xa5ddbb
mov dword [edi + 0x44], ebp
xor esi, esi
lea ebx, [edi + 0x18]
mov eax, dword [ebx + 4]
cmp eax, ebp
je 0xa5d82f
mov ecx, dword [ebx + 8]
sub ecx, eax
sar ecx, 2
cmp esi, ecx
jae 0xa5d82f
mov edx, dword [edi + 0x1c]
mov ecx, dword [edx + esi*4]
cmp ecx, ebp
je 0xa5d82c
push 1
call fcn.00a5b3a0
inc esi
jmp 0xa5d808
mov ecx, ebx
call fcn.00a60190
mov eax, dword [edi]
xor bl, bl
cmp eax, ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x30], ebp
mov byte [esp + 0x12], 1
jne 0xa5d84d
mov bl, 1
mov edx, dword [edi + 0xc]
mov ebp, dword [esp + 0x288]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x34]
xor esi, esi
push eax
mov eax, dword [edi + 8]
push ecx
push esi
push edx
push eax
push esi
push ebp
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
call fcn.00a54500
add esp, 0x1c
cmp eax, 1
mov dword [esp + 0x4c], eax
jne 0xa5d88b
xor al, al
jmp 0xa5ddbd
mov ecx, dword [esp + 0x34]
cmp ecx, esi
je 0xa5d8c0
mov eax, dword [ebp]
add eax, ecx
mov ecx, dword [esp + 0x4c]
cmp ecx, esi
jne 0xa5d8af
mov ecx, dword [eax]
and ecx, 7
cmp cl, 4
jne 0xa5d8af
mov byte [esp + 0x12], 0
mov eax, dword [eax]
and eax, 7
cmp eax, 3
je 0xa5d8be
cmp eax, 4
jne 0xa5d8c0
xor bl, bl
mov al, byte [esp + 0x12]
mov dword [esp + 0x48], 3
test al, al
je 0xa5d914
mov ecx, dword [edi + 0xc]
lea edx, [esp + 0x5c]
lea eax, [esp + 0x30]
push edx
mov edx, dword [edi + 8]
push eax
push esi
push ecx
push edx
push 1
push ebp
call fcn.00a54500
add esp, 0x1c
mov dword [esp + 0x48], eax
test bl, bl
je 0xa5d914
mov ecx, dword [esp + 0x30]
cmp ecx, esi
je 0xa5d914
mov eax, dword [ebp + 4]
add eax, ecx
mov eax, dword [eax]
and eax, 7
cmp eax, 3
je 0xa5d912
cmp eax, 4
jne 0xa5d914
xor bl, bl
cmp dword [esp + 0x34], esi
jne 0xa5d93e
cmp dword [esp + 0x30], esi
jne 0xa5d93e
push ebp
call fcn.00a56620
add esp, 4
cmp eax, 3
je 0xa5d93c
push ebp
call fcn.00a56620
add esp, 4
cmp eax, 4
jne 0xa5d93e
xor bl, bl
lea eax, [edi + 0x10]
mov dword [edi + 0x44], 1
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
test byte [edi + 0x40], 4
je 0xa5dd43
test bl, bl
je 0xa5dd43
push esi
lea ecx, [esp + 0x30]
push esi
lea edx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x298]
lea eax, [esp + 0x6c]
push edx
push eax
push esi
push esi
push esi
push esi
push esi
push esi
push ecx
call fcn.00a22010
cmp eax, 5
mov byte [esp + 0x13], 0
jne 0xa5d9d8
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 8]
lea edx, [esp + 0x28c]
push edx
push 9
push esi
push eax
push ecx
call fcn.00a20e00
cmp eax, esi
jne 0xa5dd43
push esi
lea edx, [esp + 0x30]
push esi
lea eax, [esp + 0x30]
push edx
mov edx, dword [esp + 0x298]
lea ecx, [esp + 0x6c]
push eax
push ecx
push esi
push esi
push esi
push esi
push esi
push esi
push edx
mov byte [esp + 0x43], 1
call fcn.00a22010
cmp eax, esi
jne 0xa5dd2d
mov edi, dword [esp + 0x28]
lea ecx, [esp + 0x68]
inc edi
mov dword [esp + 0x28], edi
call fcn.00a155c0
mov al, byte [esp + 0x10]
mov dword [esp + 0x280], esi
mov byte [esp + 0x18], al
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x280], 1
inc ecx
push ecx
lea ecx, [esp + 0x6c]
call fcn.00a15dc0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
cmp eax, esi
mov byte [esp + 0x11], 0
jne 0xa5da39
xor edx, edx
jmp 0xa5da3d
mov edx, ecx
sub edx, eax
mov edi, dword [esp + 0x2c]
cmp edx, edi
jae 0xa5da69
cmp eax, esi
jne 0xa5da4d
xor edx, edx
jmp 0xa5da51
mov edx, ecx
sub edx, eax
lea eax, [esp + 0x11]
sub edi, edx
push eax
push edi
push ecx
lea ecx, [esp + 0x24]
call fcn.009fd6a0
mov eax, dword [esp + 0x1c]
jmp 0xa5da9d
cmp eax, esi
je 0xa5da9d
mov edx, ecx
sub edx, eax
cmp edi, edx
jae 0xa5da9d
add eax, edi
push eax
push ecx
push ecx
call fcn.00a620f0
add esp, 0xc
mov esi, eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x18]
push eax
push esi
call fcn.009ee060
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], esi
xor esi, esi
mov dword [esp + 0x3c], esi
xor ebx, ebx
mov ebp, esi
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x14], edx
push ecx
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0x58]
push eax
push edx
mov edx, dword [esp + 0x298]
lea eax, [esp + 0x4c]
push ebx
push eax
push ecx
push ebp
push edx
call fcn.00a21d80
cmp eax, 0xea
mov dword [esp + 0x50], eax
jne 0xa5db83
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jbe 0xa5dce3
mov eax, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
cmp eax, ebx
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x11], 0
jne 0xa5db11
xor edx, edx
jmp 0xa5db15
mov edx, edi
sub edx, eax
cmp edx, ecx
jae 0xa5db39
cmp eax, ebx
jne 0xa5db21
xor edx, edx
jmp 0xa5db25
mov edx, edi
sub edx, eax
lea eax, [esp + 0x11]
sub ecx, edx
push eax
push ecx
push edi
lea ecx, [esp + 0x24]
call fcn.009fd6a0
jmp 0xa5db57
cmp eax, ebx
je 0xa5db5b
mov edx, edi
sub edx, eax
cmp ecx, edx
jae 0xa5db5b
lea esi, [eax + ecx]
push edi
push esi
lea ecx, [esp + 0x20]
call fcn.009ee060
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x1c]
lea ecx, [esp + 0x14]
lea edx, [esp + 0x54]
push ecx
mov ecx, dword [esp + 0x74]
push eax
push edx
mov edx, dword [esp + 0x298]
lea eax, [esp + 0x4c]
push ebx
push eax
push ecx
push ebp
push edx
call fcn.00a21d80
mov dword [esp + 0x50], eax
cmp eax, ebx
jne 0xa5dce3
push 0x24
call fcn.009ef380
mov esi, eax
add esp, 4
mov dword [esp + 0x64], esi
cmp esi, ebx
mov byte [esp + 0x280], 2
je 0xa5dbc7
mov al, byte [esp + 0x10]
push ebx
mov ecx, esi
mov byte [esi], al
call fcn.009f6b50
mov cl, byte [esp + 0x10]
mov dword [esi + 0x18], ebx
mov byte [esi + 0x14], cl
mov dword [esi + 0x1c], ebx
mov dword [esi + 0x20], ebx
jmp 0xa5dbc9
xor esi, esi
mov dword [esp + 0x38], esi
add esi, 0x14
mov byte [esp + 0x10], 0
mov byte [esp + 0x280], 1
mov edx, dword [esi + 4]
cmp edx, ebx
jne 0xa5dbe8
xor eax, eax
jmp 0xa5dbed
mov eax, dword [esi + 8]
sub eax, edx
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jae 0xa5dc17
cmp edx, ebx
jne 0xa5dbfd
xor eax, eax
jmp 0xa5dc02
mov eax, dword [esi + 8]
sub eax, edx
mov edx, dword [esi + 8]
lea edi, [esp + 0x10]
sub ecx, eax
push edi
push ecx
push edx
mov ecx, esi
call fcn.009fd6a0
jmp 0xa5dc48
cmp edx, ebx
je 0xa5dc4c
mov eax, dword [esi + 8]
mov edi, eax
sub edi, edx
cmp ecx, edi
jae 0xa5dc4c
lea edi, [edx + ecx]
cmp eax, eax
mov ecx, eax
je 0xa5dc39
mov dl, byte [ecx]
mov byte [edi], dl
inc edi
inc ecx
cmp ecx, eax
jne 0xa5dc2f
mov eax, dword [esi + 8]
mov ecx, esi
push eax
push edi
call fcn.009ee060
mov dword [esi + 8], edi
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x1c]
mov edx, ecx
mov edi, dword [eax + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x40]
mov word [eax + ecx*2], bx
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x38]
push ebp
call fcn.00a7e07a
add esp, 4
mov esi, eax
mov ecx, edi
push 1
push esi
call fcn.009f8090
test al, al
je 0xa5dcb9
mov ecx, dword [edi + 4]
cmp esi, ebx
mov eax, ebp
jbe 0xa5dcac
sub ecx, ebp
mov edx, esi
mov bp, word [eax]
mov word [eax + ecx], bp
add eax, 2
dec edx
jne 0xa5dc9f
mov edx, dword [edi + 4]
mov dword [edi + 8], esi
mov word [edx + esi*2], bx
lea eax, [edx + esi*2]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
mov dword [ecx + 0x10], eax
mov eax, dword [edx + 0x20]
lea ecx, [edx + 0x18]
lea edx, [esp + 0x38]
push edx
push 1
push eax
call fcn.00a61440
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x3c]
inc ebp
cmp eax, 0x103
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], ebp
jne 0xa5daa5
push eax
call fcn.00a7d8f0
add esp, 4
lea ecx, [esp + 0x68]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x280], 0xffffffff
call fcn.00a155e0
mov edi, dword [esp + 0x44]
mov ebp, dword [esp + 0x288]
xor esi, esi
mov al, byte [esp + 0x13]
test al, al
je 0xa5dd43
mov ecx, dword [esp + 0x28c]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, byte [esp + 0x12]
test al, al
je 0xa5dd84
cmp dword [esp + 0x48], esi
jne 0xa5dd84
mov eax, dword [esp + 0x30]
cmp eax, esi
jne 0xa5dd5d
xor esi, esi
jmp 0xa5dd62
mov esi, dword [ebp + 4]
add esi, eax
mov edx, dword [esi + 0x34]
mov ecx, edi
push edx
push 1
push ebp
call fcn.00a5c480
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
push eax
push ecx
push 1
push ebp
mov ecx, edi
call fcn.00a5cb90
xor esi, esi
cmp dword [esp + 0x4c], esi
jne 0xa5ddbb
mov eax, dword [esp + 0x34]
cmp eax, esi
jne 0xa5dd96
xor esi, esi
jmp 0xa5dd9b
mov esi, dword [ebp]
add esi, eax
mov edx, dword [esi + 0x34]
mov ecx, edi
push edx
push 0
push ebp
call fcn.00a5c480
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 0x28]
push eax
push ecx
push 0
push ebp
mov ecx, edi
call fcn.00a5cb90
mov al, 1
mov ecx, dword [esp + 0x278]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x274
ret 8