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

Disassembly:
push ebp
mov ebp, esp
mov al, byte [ebp + 0x10]
sub esp, 0x28
push ebx
mov ebx, ecx
mov cl, byte [ebp + 0x14]
push esi
push edi
shr dword [ebx + 0x138], 2
lea edx, [ebx + 0x140]
and dword [ebx + 0x38], 0
and dword [ebx + 0x40], 0
and dword [edx], 0
and dword [ebx + 0x144], 0
mov byte [ebx + 0x131], al
mov eax, dword [ebx + 0x138]
mov byte [ebx + 0x130], cl
mov byte [ebx + 0x13c], 1
cmp eax, 0x20
ja 0x71adcdce
test cl, cl
jne 0x71adcdce
xor edx, edx
cmp dword [ebx + 0xc], edx
je 0x71b316dc
mov eax, dword [ebp + 0x24]
mov ecx, dword [ebx + 0x1c]
add ecx, dword [ebx + 0x10]
mov dword [ebp - 0xc], edx
mov dword [eax], ecx
mov ecx, dword [ebx]
call fcn.71ac41e0
test al, al
jne 0x71b316e7
cmp dword [ebx + 0x44], 0x10
jbe 0x71af3cae
mov edi, dword [ebx + 0x170]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xc]
push eax
mov esi, dword [edi]
lea eax, [ebp - 0x14]
push eax
push edx
push dword [ebp + 0x1c]
mov esi, dword [esi + 0x26c]
mov ecx, esi
push dword [ebx + 0x168]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
call dword [0x627b188]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp + 0x28]
mov dword [ebx + 0x38], ecx
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp + 0x2c]
mov dword [ebx + 0x3c], ecx
mov byte [ebx + 0xe8], 1
mov dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0x30]
mov dword [ebx + 0x40], ecx
mov dword [eax], ecx
xor ecx, ecx
mov eax, dword [ebx]
mov dword [ebx + 0x15c], ecx
mov dword [ebx + 0xd8], ecx
mov dword [ebx + 0xdc], ecx
mov dword [ebx + 0xe4], ecx
mov dword [ebx + 0xe0], ecx
mov dword [eax + 0x1690], ecx
mov dword [eax + 0x1694], ecx
mov dword [eax + 0x169c], ecx
mov dword [eax + 0x1698], ecx
or dword [ebx + 0x12c], 0xffffffff
mov ecx, dword [ebx]
mov dword [ebx + 0xec], 9
call fcn.71aca1fd
test al, al
jne 0x71af7573
mov al, byte [ebp + 0xc]
mov esi, dword [ebx + 0x108]
mov byte [ebx + 0x114], al
test esi, esi
jne 0x71ae3b5b
mov edi, dword [ebp - 0x14]
mov esi, dword [ebx + 0x68]
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], esi
test esi, esi
je 0x71aca0e5
cmp esi, dword [ebx + 0xa0]
je 0x71b3171f
mov ecx, dword [esi]
test ecx, ecx
je 0x71ac9f9b
mov eax, dword [esi + 4]
inc eax
cmp eax, dword [ecx + 4]
jne 0x71b31774
mov eax, dword [esi + 0x14]
mov ecx, ebx
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], edi
call fcn.71aca0bb
mov ecx, dword [esi + 8]
sub ecx, eax
mov dword [ebx + 0xa4], ecx
mov ecx, ebx
push edi
call fcn.71aca0bb
mov dword [esi + 8], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ebx + 0x15c]
cmp eax, ecx
jne 0x71b3174b
movzx eax, word [esi + 0x10]
test eax, 0x200
jne 0x71aca030
test al, 1
jne 0x71adadf1
cmp byte [ebx + 0xe8], 0
je 0x71af2600
movzx eax, byte [esi + 0x1c]
cmp eax, dword [ebx + 0xe0]
jne 0x71ad003c
movzx ecx, word [esi + 0x10]
test cl, 2
je 0x71aca030
mov eax, dword [esi + 0x14]
test cl, 1
jne 0x71adade9
mov eax, dword [eax - 4]
cmp eax, dword [ebx + 0xe4]
jne 0x71af6dbe
mov dword [ebx + 0x5c], esi
movzx eax, byte [esi + 0x1d]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x71aca0a4
mov ecx, dword [ebp - 4]
lea eax, [ebp - 0x10]
mov esi, edi
push eax
push ecx
push dword [ebp - 8]
mov ecx, ebx
call fcn.71ac9d28
mov ecx, dword [ebp - 4]
mov edi, dword [ebp - 0x10]
mov dword [ebp - 0x24], eax
mov eax, edi
sub eax, esi
movzx edx, word [ecx + 2]
and edx, 0xf
mov dword [ebp - 0x20], eax
cmp eax, edx
jne 0x71afeeb1
mov esi, dword [ebp - 8]
add ecx, dword [ebp - 0x24]
sub dword [ebp - 0x18], 1
mov dword [ebp - 4], ecx
jne 0x71aca047
and dword [ebx + 0x5c], 0
mov eax, edi
sub eax, dword [ebp - 0x28]
mov word [esi + 0x12], ax
mov esi, dword [esi]
jmp 0x71ac9f6e
cmp dword [ebx + 0x168], 0
jne 0x71afb44f
mov edx, dword [ebx + 0x108]
test edx, edx
jne 0x71ae3d06
cmp dword [ebx + 0xe4], 0
jne 0x71afc34c
cmp dword [ebx + 0xe0], 0
jne 0x71ae8fde
cmp byte [ebx + 0x80], 0
jne 0x71ad810f
push edi
mov ecx, ebx
call fcn.71aca0bb
mov esi, eax
push edi
mov ecx, ebx
call fcn.71aca0bb
cmp eax, dword [ebx + 0x9c]
jb 0x71afeed9
push dword [ebx + 8]
push dword [ebx + 0x74]
call fcn.71aca575
mov ecx, dword [ebp + 0x20]
pop edi
mov dword [ecx], eax
mov eax, esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x2c
push edi
push eax
push 1
mov ecx, ebx
call fcn.71ad37fd
jmp 0x71aca009
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x71aca127
mov edx, dword [eax + 0x14]
mov esi, dword [eax + 8]
test edx, edx
je 0x71ad8136
mov ecx, dword [eax + 0x18]
and ecx, 0x3fffffff
cmp ecx, dword [esi + 8]
jne 0x71afeee2
mov eax, dword [eax + 0xc]
jmp 0x71ad8112
sub eax, 8
jmp 0x71aca01e
mov eax, dword [esi + 0x14]
push edi
push dword [eax - 4]
push dword [eax - 8]
mov ecx, ebx
call fcn.71ad2ce1
jmp 0x71ac9ff9
mov byte [ebx + 0x13c], 0
cmp eax, 0x10
ja 0x71b316bd
mov dword [ebx + 0x150], edx
mov eax, dword [ebx + 0x150]
mov dword [ebx + 0x154], eax
xor eax, eax
mov word [ebx + 0x158], ax
jmp 0x71ac9e49
test al, 0x40
je 0x71ae3c11
jmp 0x71ae3bfe
mov ecx, dword [ebx]
shl esi, 2
mov ecx, dword [ecx + 0x1a0c]
lea eax, [esi + 3]
and eax, 0xfffffffc
push eax
call fcn.71ac20af
push esi
push 0
push eax
mov dword [ebx + 0x118], eax
call fcn.71ac1e06
mov ecx, dword [ebx]
add esp, 0xc
movzx eax, word [ecx + 0x28]
mov esi, eax
mov dword [ebx + 0x100], eax
mov ecx, dword [ecx + 0x1a0c]
shl esi, 2
push esi
call fcn.71ac20af
push esi
push 0xffffffffffffffff
push eax
mov dword [ebp - 0x10], eax
mov dword [ebx + 0x104], eax
call fcn.71ac1e06
mov ecx, dword [ebx]
xor edx, edx
add esp, 0xc
mov dword [ebp - 8], edx
mov edi, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 4], ecx
test ecx, ecx
je 0x71ac9f5f
mov eax, ecx
mov cl, byte [edi + 1]
test cl, 8
jne 0x71ae3bf4
inc edx
add edi, 0x60
mov dword [ebp - 8], edx
cmp edx, eax
jb 0x71ae3bd9
jmp 0x71ac9f5f
mov al, byte [edi]
test al, 0x20
jne 0x71add35b
mov esi, dword [edi + 0x28]
cmp esi, dword [ebx + 0x10c]
jl 0x71ae3c11
cmp esi, dword [ebx + 0x110]
jl 0x71ae3c19
mov eax, dword [ebp - 4]
jmp 0x71ae3be1
cmp byte [ebx + 0x114], 0
je 0x71b316ff
mov ecx, dword [ebx]
movzx eax, word [edi + 0x1e]
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 0x198c]
je 0x71aefe90
mov al, byte [edi]
and al, 0x1f
cmp al, 0xf
je 0x71afc35d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + eax*4], esi
jmp 0x71ae3c11
mov ecx, dword [ebx + 0x10c]
xor esi, esi
mov eax, dword [ebx + 0x118]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
test edx, edx
je 0x71aca100
cmp dword [eax], 0
jne 0x71af6282
inc esi
add ecx, 4
add eax, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
cmp esi, dword [ebx + 0x108]
jb 0x71ae3d28
jmp 0x71aca100
push edi
push 0
push 1
mov ecx, ebx
call fcn.71ad37fd
jmp 0x71aca11a
test byte [ecx + 0x1978], 1
jne 0x71ae3c3e
call fcn.71aca1fd
mov edx, dword [ebp - 8]
test al, al
je 0x71ae3c3e
mov dword [ebx + 0x12c], esi
or esi, 2
jmp 0x71ae3c3e
push edi
push dword [ebx + 0xdc]
push dword [ebx + 0xd8]
jmp 0x71adae01
xor edx, edx
inc edx
jmp 0x71ac9e7e
push esi
push edi
push ecx
mov ecx, ebx
call fcn.71ae3905
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
jmp 0x71ae3d31
push edi
push eax
push 2
mov ecx, ebx
call fcn.71ad37fd
jmp 0x71aca030
mov eax, dword [ecx + 0x1c]
test byte [eax + 1], 0x20
je 0x71ac9f48
mov eax, dword [eax + 0x10]
mov dword [ebx + 0xec], eax
cmp eax, 1
jne 0x71ac9f48
test byte [ecx + 0x15ec], 2
je 0x71ac9f48
cmp byte [ebx + 0x130], 0
je 0x71ac9f48
push eax
push dword [ebx + 0x38]
mov ecx, ebx
push 2
push eax
call fcn.71adcf45
jmp 0x71ac9f48
push dword [ebp - 0x1c]
lea eax, [ebx + 0x160]
mov ecx, ebx
push eax
call fcn.71afb468
jmp 0x71aca0f2
push edi
push 0
push 2
mov ecx, ebx
call fcn.71ad37fd
jmp 0x71aca10d
or esi, 1
jmp 0x71ae3c4a
cmp edx, eax
jb 0x71b3175e
mov esi, dword [ebp - 8]
mov edx, 0x80
shl eax, 0x10
or word [esi + 0x10], dx
xor eax, dword [ecx]
and eax, 0xf0000
xor dword [ecx], eax
jmp 0x71aca08f
mov byte [edi], 0xcc
inc edi
jmp 0x71aca131
sub ecx, dword [esi + 8]
test dword [eax + 0x18], 0x40000000
jne 0x71afeef5
sub dword [edx], ecx
jmp 0x71ad8136
sub byte [edx], cl
jmp 0x71ad8136
mov ecx, dword [ebx]
add eax, 3
and eax, 0xfffffffc
push eax
mov ecx, dword [ecx + 0x1a0c]
call fcn.71ac20af
mov dword [ebx + 0x150], eax
jmp 0x71adcde4
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x1c], edx
jmp 0x71ac9e54
mov eax, dword [ecx + 0x704]
shl eax, 8
cmp eax, dword [ecx + 0x6dc]
sbb edx, edx
neg edx
jmp 0x71ac9e7e
test cl, 0x40
je 0x71ae3c11
and al, 0x1f
cmp al, 0xe
je 0x71ae3c26
cmp al, 0xf
je 0x71ae3c26
jmp 0x71ae3c11
push edi
mov ecx, ebx
call fcn.71aca0bb
push edi
mov ecx, ebx
call fcn.71aca0bb
cmp eax, dword [ebx + 0x44]
jb 0x71b31745
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x10], edi
jmp 0x71ac9f88
mov byte [edi], 0xcc
inc edi
jmp 0x71b31727
sub eax, ecx
mov ecx, ebx
shr eax, 2
push eax
push edi
call fcn.71b00b81
jmp 0x71ac9fd9
call fcn.71b21586
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
jmp 0x71afeeb9
call fcn.71b21571
int3