Function at 0x71cf9def
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 0x71d0cdce
test cl, cl
jne 0x71d0cdce
xor edx, edx
cmp dword [ebx + 0xc], edx
je 0x71d616dc
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.71cf41e0
test al, al
jne 0x71d616e7
cmp dword [ebx + 0x44], 0x10
jbe 0x71d23cae
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 [0x653b188]
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.71cfa1fd
test al, al
jne 0x71d27573
mov al, byte [ebp + 0xc]
mov esi, dword [ebx + 0x108]
mov byte [ebx + 0x114], al
test esi, esi
jne 0x71d13b5b
mov edi, dword [ebp - 0x14]
mov esi, dword [ebx + 0x68]
mov dword [ebp - 0x10], edi
mov dword [ebp - 8], esi
test esi, esi
je 0x71cfa0e5
cmp esi, dword [ebx + 0xa0]
je 0x71d6171f
mov ecx, dword [esi]
test ecx, ecx
je 0x71cf9f9b
mov eax, dword [esi + 4]
inc eax
cmp eax, dword [ecx + 4]
jne 0x71d61774
mov eax, dword [esi + 0x14]
mov ecx, ebx
push edi
mov dword [ebp - 4], eax
mov dword [ebp - 0x28], edi
call fcn.71cfa0bb
mov ecx, dword [esi + 8]
sub ecx, eax
mov dword [ebx + 0xa4], ecx
mov ecx, ebx
push edi
call fcn.71cfa0bb
mov dword [esi + 8], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ebx + 0x15c]
cmp eax, ecx
jne 0x71d6174b
movzx eax, word [esi + 0x10]
test eax, 0x200
jne 0x71cfa030
test al, 1
jne 0x71d0adf1
cmp byte [ebx + 0xe8], 0
je 0x71d22600
movzx eax, byte [esi + 0x1c]
cmp eax, dword [ebx + 0xe0]
jne 0x71d0003c
movzx ecx, word [esi + 0x10]
test cl, 2
je 0x71cfa030
mov eax, dword [esi + 0x14]
test cl, 1
jne 0x71d0ade9
mov eax, dword [eax - 4]
cmp eax, dword [ebx + 0xe4]
jne 0x71d26dbe
mov dword [ebx + 0x5c], esi
movzx eax, byte [esi + 0x1d]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x71cfa0a4
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.71cf9d28
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 0x71d2eeb1
mov esi, dword [ebp - 8]
add ecx, dword [ebp - 0x24]
sub dword [ebp - 0x18], 1
mov dword [ebp - 4], ecx
jne 0x71cfa047
and dword [ebx + 0x5c], 0
mov eax, edi
sub eax, dword [ebp - 0x28]
mov word [esi + 0x12], ax
mov esi, dword [esi]
jmp 0x71cf9f6e
cmp dword [ebx + 0x168], 0
jne 0x71d2b44f
mov edx, dword [ebx + 0x108]
test edx, edx
jne 0x71d13d06
cmp dword [ebx + 0xe4], 0
jne 0x71d2c34c
cmp dword [ebx + 0xe0], 0
jne 0x71d18fde
cmp byte [ebx + 0x80], 0
jne 0x71d0810f
push edi
mov ecx, ebx
call fcn.71cfa0bb
mov esi, eax
push edi
mov ecx, ebx
call fcn.71cfa0bb
cmp eax, dword [ebx + 0x9c]
jb 0x71d2eed9
push dword [ebx + 8]
push dword [ebx + 0x74]
call fcn.71cfa575
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.71d037fd
jmp 0x71cfa009
mov eax, dword [ebx + 0x78]
test eax, eax
je 0x71cfa127
mov edx, dword [eax + 0x14]
mov esi, dword [eax + 8]
test edx, edx
je 0x71d08136
mov ecx, dword [eax + 0x18]
and ecx, 0x3fffffff
cmp ecx, dword [esi + 8]
jne 0x71d2eee2
mov eax, dword [eax + 0xc]
jmp 0x71d08112
sub eax, 8
jmp 0x71cfa01e
mov eax, dword [esi + 0x14]
push edi
push dword [eax - 4]
push dword [eax - 8]
mov ecx, ebx
call fcn.71d02ce1
jmp 0x71cf9ff9
mov byte [ebx + 0x13c], 0
cmp eax, 0x10
ja 0x71d616bd
mov dword [ebx + 0x150], edx
mov eax, dword [ebx + 0x150]
mov dword [ebx + 0x154], eax
xor eax, eax
mov word [ebx + 0x158], ax
jmp 0x71cf9e49
test al, 0x40
je 0x71d13c11
jmp 0x71d13bfe
mov ecx, dword [ebx]
shl esi, 2
mov ecx, dword [ecx + 0x1a0c]
lea eax, [esi + 3]
and eax, 0xfffffffc
push eax
call fcn.71cf20af
push esi
push 0
push eax
mov dword [ebx + 0x118], eax
call fcn.71cf1e06
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.71cf20af
push esi
push 0xffffffffffffffff
push eax
mov dword [ebp - 0x10], eax
mov dword [ebx + 0x104], eax
call fcn.71cf1e06
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 0x71cf9f5f
mov eax, ecx
mov cl, byte [edi + 1]
test cl, 8
jne 0x71d13bf4
inc edx
add edi, 0x60
mov dword [ebp - 8], edx
cmp edx, eax
jb 0x71d13bd9
jmp 0x71cf9f5f
mov al, byte [edi]
test al, 0x20
jne 0x71d0d35b
mov esi, dword [edi + 0x28]
cmp esi, dword [ebx + 0x10c]
jl 0x71d13c11
cmp esi, dword [ebx + 0x110]
jl 0x71d13c19
mov eax, dword [ebp - 4]
jmp 0x71d13be1
cmp byte [ebx + 0x114], 0
je 0x71d616ff
mov ecx, dword [ebx]
movzx eax, word [edi + 0x1e]
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 0x198c]
je 0x71d1fe90
mov al, byte [edi]
and al, 0x1f
cmp al, 0xf
je 0x71d2c35d
mov eax, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + eax*4], esi
jmp 0x71d13c11
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 0x71cfa100
cmp dword [eax], 0
jne 0x71d26282
inc esi
add ecx, 4
add eax, 4
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], eax
cmp esi, dword [ebx + 0x108]
jb 0x71d13d28
jmp 0x71cfa100
push edi
push 0
push 1
mov ecx, ebx
call fcn.71d037fd
jmp 0x71cfa11a
test byte [ecx + 0x1978], 1
jne 0x71d13c3e
call fcn.71cfa1fd
mov edx, dword [ebp - 8]
test al, al
je 0x71d13c3e
mov dword [ebx + 0x12c], esi
or esi, 2
jmp 0x71d13c3e
push edi
push dword [ebx + 0xdc]
push dword [ebx + 0xd8]
jmp 0x71d0ae01
xor edx, edx
inc edx
jmp 0x71cf9e7e
push esi
push edi
push ecx
mov ecx, ebx
call fcn.71d13905
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
jmp 0x71d13d31
push edi
push eax
push 2
mov ecx, ebx
call fcn.71d037fd
jmp 0x71cfa030
mov eax, dword [ecx + 0x1c]
test byte [eax + 1], 0x20
je 0x71cf9f48
mov eax, dword [eax + 0x10]
mov dword [ebx + 0xec], eax
cmp eax, 1
jne 0x71cf9f48
test byte [ecx + 0x15ec], 2
je 0x71cf9f48
cmp byte [ebx + 0x130], 0
je 0x71cf9f48
push eax
push dword [ebx + 0x38]
mov ecx, ebx
push 2
push eax
call fcn.71d0cf45
jmp 0x71cf9f48
push dword [ebp - 0x1c]
lea eax, [ebx + 0x160]
mov ecx, ebx
push eax
call fcn.71d2b468
jmp 0x71cfa0f2
push edi
push 0
push 2
mov ecx, ebx
call fcn.71d037fd
jmp 0x71cfa10d
or esi, 1
jmp 0x71d13c4a
cmp edx, eax
jb 0x71d6175e
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 0x71cfa08f
mov byte [edi], 0xcc
inc edi
jmp 0x71cfa131
sub ecx, dword [esi + 8]
test dword [eax + 0x18], 0x40000000
jne 0x71d2eef5
sub dword [edx], ecx
jmp 0x71d08136
sub byte [edx], cl
jmp 0x71d08136
mov ecx, dword [ebx]
add eax, 3
and eax, 0xfffffffc
push eax
mov ecx, dword [ecx + 0x1a0c]
call fcn.71cf20af
mov dword [ebx + 0x150], eax
jmp 0x71d0cde4
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x1c], edx
jmp 0x71cf9e54
mov eax, dword [ecx + 0x704]
shl eax, 8
cmp eax, dword [ecx + 0x6dc]
sbb edx, edx
neg edx
jmp 0x71cf9e7e
test cl, 0x40
je 0x71d13c11
and al, 0x1f
cmp al, 0xe
je 0x71d13c26
cmp al, 0xf
je 0x71d13c26
jmp 0x71d13c11
push edi
mov ecx, ebx
call fcn.71cfa0bb
push edi
mov ecx, ebx
call fcn.71cfa0bb
cmp eax, dword [ebx + 0x44]
jb 0x71d61745
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x10], edi
jmp 0x71cf9f88
mov byte [edi], 0xcc
inc edi
jmp 0x71d61727
sub eax, ecx
mov ecx, ebx
shr eax, 2
push eax
push edi
call fcn.71d30b81
jmp 0x71cf9fd9
call fcn.71d51586
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 4]
jmp 0x71d2eeb9
call fcn.71d51571
int3