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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2bc
push ebx
push esi
push edi
lea eax, [esp + 0x4c]
mov esi, ecx
push 4
xor ebx, ebx
push eax
mov dword [esp + 0xd4], esi
mov dword [esp + 0x28], ebx
call fcn.00fac5e0
lea ecx, [esp + 0x40]
push 4
push ecx
call fcn.00fac5e0
add esp, 0x10
lea edx, [esp + 0x4c]
push edx
lea eax, [ebp + 8]
push eax
lea ecx, [esi + 0x58]
call fcn.00fe5510
test eax, eax
mov edi, dword [ebp + 8]
je 0xfc88c7
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
cmp eax, 2
je 0xfc8884
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x38]
mov dword [ecx], ebx
mov dword [edx], 0xc000000d
jmp 0xfcb2c7
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
push eax
call fcn.00fd10d0
add esp, 4
test eax, eax
jne 0xfc8a0d
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
mov dword [eax], ebx
mov eax, dword [esp + 0x38]
cmp eax, ebx
mov dword [ecx], 0xc0000022
je 0xfcb2db
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0xfcb2d7
lea ecx, [esp + 0x15c]
call fcn.00fdebd0
lea eax, [esp + 0x15c]
push eax
push ebx
push 0x40
push ebx
push edi
lea ecx, [esp + 0x1b8]
call fcn.00fe1f10
mov ecx, eax
call fcn.00fe1ee0
push eax
mov ecx, esi
call fcn.00fbeff0
test eax, eax
jne 0xfc894d
mov eax, dword [esp + 0x184]
cmp eax, ebx
mov ecx, dword [ebp + 0x34]
mov dword [ecx], 1
je 0xfc8922
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x184], ebx
mov eax, dword [esp + 0x164]
cmp eax, ebx
je 0xfc893c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x164], ebx
lea ecx, [esp + 0x15c]
call fcn.00fe2250
jmp 0xfcb2c7
lea ecx, [esp + 0x15c]
call fcn.00fdebc0
mov ecx, eax
call fcn.00fd0b00
test eax, eax
lea ecx, [esp + 0x15c]
je 0xfc897e
mov eax, dword [ebp + 0x34]
mov dword [eax], 1
call fcn.00fb7170
jmp 0xfcb2c7
lea eax, [esp + 0x40]
push eax
call fcn.00ff70f0
push eax
lea ecx, [esp + 0x3c]
call fcn.00fe3030
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0xfc89a2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
cmp eax, 2
je 0xfc8a01
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov edx, dword [eax + 0x10]
call edx
test eax, eax
je 0xfc89f6
mov eax, dword [ebp + 0x34]
mov ecx, dword [ebp + 0x38]
mov dword [eax], ebx
mov dword [ecx], 0xc000000d
lea ecx, [esp + 0x15c]
call fcn.00fb7170
lea ecx, [esp + 0x38]
call fcn.00ff9d20
lea ecx, [esp + 0x4c]
call fcn.00ff9d20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x34
mov edx, dword [ebp + 0x34]
mov dword [edx], 1
jmp 0xfc89cf
lea ecx, [esp + 0x15c]
call fcn.00fb7170
lea eax, [esp + 0x34]
push 4
push eax
call fcn.00fac5e0
mov eax, dword [esp + 0x54]
add esp, 8
cmp eax, ebx
je 0xfc8a52
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push 0x10083be8
push eax
mov eax, dword [ecx]
call eax
test eax, eax
je 0xfc8a52
mov ecx, dword [ebp + 0x34]
mov edx, dword [ebp + 0x38]
mov dword [ecx], ebx
lea ecx, [esp + 0x34]
mov dword [edx], 0xc0000229
call fcn.00ff9d20
jmp 0xfc89db
push 0x200
push ebx
mov dword [esp + 0xe8], 0xff
call fcn.00fac720
mov ecx, dword [ebp + 0x2c]
add esp, 8
cmp ecx, ebx
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ebx
mov word [eax], bx
je 0xfc8abb
cmp dword [ecx + 4], ebx
je 0xfc8abb
push ecx
lea eax, [esp + 0xf4]
push eax
call fcn.00f96340
mov eax, dword [eax]
add esp, 8
push eax
lea ecx, [esp + 0xdc]
call fcn.00f95370
lea ecx, [esp + 0xf0]
call fcn.00f955e0
mov eax, dword [esp + 0xd8]
cmp dword [0x100b7158], ebx
je 0xfc8b0d
push 0x100789c8
sub esp, 0xc
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
call fcn.00f95370
push 0x10084144
lea ecx, [esp + 0x104]
call fcn.00fa7c40
mov ecx, eax
call fcn.00fa6b70
mov ecx, eax
call fcn.00f96310
mov ecx, eax
call fcn.00fa6b70
lea ecx, [esp + 0xf0]
call fcn.00fa6a80
lea ecx, [esp + 0x148]
call fcn.00fe2130
lea ecx, [esp + 0x148]
push ecx
push edi
mov ecx, esi
call fcn.00fbbb40
lea ecx, [esp + 0x148]
call fcn.00fe1ee0
push eax
lea edx, [esp + 0xe8]
push edx
call fcn.00f96340
add esp, 8
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esi + 0x154]
mov dword [esp + 0xdc], ebx
mov dword [esp + 0x48], edi
call fcn.00fb9100
mov eax, dword [esp + 0xd4]
cmp eax, ebx
mov edi, dword [0x100781cc]
je 0xfc8b7d
push eax
call edi
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0xfc8b87
push eax
call edi
lea edx, [ebp + 8]
add esi, 0xe8
push edx
mov ecx, esi
call fcn.00fe5640
mov edi, eax
neg edi
sbb edi, edi
lea eax, [esp + 0x18]
push 4
add edi, 1
push eax
mov dword [esp + 0x158], edi
call fcn.00fac5e0
add esp, 8
cmp edi, ebx
je 0xfcafe5
lea ecx, [esp + 0x40]
push ecx
call fcn.00fd02f0
add esp, 4
push eax
lea ecx, [esp + 0x1c]
call fcn.00fe3030
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0xfc8be6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [ebp + 8]
push edx
mov ecx, esi
call fcn.00fe53e0
mov eax, dword [esp + 0xd8]
sub esp, 0xc
mov ecx, esp
push eax
mov dword [ecx], ebx
mov dword [ecx + 4], ebx
mov dword [ecx + 8], ebx
call fcn.00f95370
mov ecx, dword [esp + 0x24]
call fcn.00fd0380
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x58], 0x100782ec
mov word [esp + 0x54], bx
mov word [esp + 0x56], bx
je 0xfc92bd
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
lea eax, [esp + 0xd0]
push eax
call edx
mov ecx, dword [esp + 0xd0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
lea edx, [esp + 0xc8]
push edx
call eax
lea ecx, [esp + 0x14]
push 4
push ecx
call fcn.00fac5e0
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
add esp, 8
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x18]
push eax
call edx
test eax, eax
jne 0xfc8d6e
cmp dword [esp + 0x50], ebx
je 0xfc8cb9
lea ecx, [esp + 0x94]
call fcn.00fb7a00
jmp 0xfc8d2b
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x1c]
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x144]
push eax
call edx
mov ecx, eax
call fcn.00fe1ee0
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.00f96340
add esp, 8
push eax
lea ecx, [esp + 0x9c]
call fcn.00fb77a0
mov eax, dword [esp + 0x84]
cmp eax, ebx
je 0xfc8d1f
push eax
call fcn.00fac7d0
add esp, 4
mov dword [esp + 0x84], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], ebx
lea ecx, [esp + 0x140]
call fcn.00fe2250
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0xfc8d3f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], ebx
lea eax, [esp + 0x14]
push 4
push eax
call fcn.00fac5e0
mov ecx, dword [esp + 0xd0]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
add esp, 8
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x18]
push eax
call edx
test eax, eax
je 0xfc8ca5
lea ecx, [esp + 0x14]
call fcn.00ff9d20
mov eax, dword [0x100b7078]
mov edi, dword [0x10078204]
mov esi, dword [eax + 0x3d0]
push 2
push ebx
push ebx
lea ecx, [esp + 0x108]
push ecx
call edi
mov edx, dword [ebp + 8]
push eax
push edx
call edi
push eax
call esi
test eax, eax
jne 0xfc9289
mov dword [esp + 0x3c], 0x100
mov dword [esp + 0x90], 1
jmp 0xfc8dc0
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0xfc8dd9
push eax
call fcn.00fac7d0
add esp, 4
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov esi, dword [esp + 0x3c]
push esi
call fcn.00fac680
mov edx, dword [esp + 0x94]
mov ecx, dword [0x100b7078]
add esp, 4
neg edx
push ebx
sbb edx, edx
and edx, dword [ebp + 0x2c]
mov dword [esp + 0x10], eax
push edx
mov dword [esp + 0x18], esi
mov edi, dword [ecx + 0x448]
mov ecx, dword [ebp + 0x24]
push 1
push ecx
push esi
push eax
lea ecx, [esp + 0x1d4]
call fcn.00fe1ef0
mov ecx, eax
call fcn.00fe1ee0
mov edx, dword [esp + 0x114]
push eax
push ebx
push ebx
push ebx
push edx
call edi
cmp eax, 0xc0000004
je 0xfc9264
cmp eax, 0x80000005
je 0xfc9264
cmp eax, 0xc0000023
je 0xfc9264
cmp eax, ebx
jne 0xfc9273
cmp dword [esp + 0x90], ebx
je 0xfc8e6c
mov dword [esp + 0x90], ebx
lea eax, [esp + 0x14]
push 4
push eax
call fcn.00fac5e0
mov eax, dword [ebp + 0x24]
add eax, 0xfffffffe
add esp, 8
cmp eax, 0x23
ja 0xfc9239
movzx ecx, byte [eax + 0x10038cd8]
jmp dword [ecx*4 + 0x10038cc4]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xc]
push eax
call fcn.00fd04f0
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0xfc8dc0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], ebx
jmp 0xfc8dc0
add esi, 0x100
mov dword [esp + 0x3c], esi
jmp 0xfc8dc0
mov eax, dword [esp + 0xfc]
mov ecx, dword [0x100b7078]
mov edx, dword [ecx + 0x268]
push eax
call edx
mov eax, dword [esp + 0xc8]
cmp eax, ebx
je 0xfc92a3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0xc8], ebx
mov eax, dword [esp + 0xd0]
cmp eax, ebx
je 0xfc92bd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0xd0], ebx
lea ecx, [esp + 0x114]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
call fcn.00fe2130
push 0x200
mov esi, 0xff
push ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], esi
call fcn.00fac720
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebx
mov word [eax], bx
lea eax, [esp + 0x2c]
push 4
push eax
call fcn.00fac5e0
push 0x200
push ebx
mov dword [esp + 0xa4], esi
call fcn.00fac720
mov ecx, dword [ebp + 0x24]
mov edi, eax
lea eax, [ecx - 2]
add esp, 0x18
cmp eax, 0x23
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], ebx
mov word [edi], bx
ja 0xfcb047
movzx edx, byte [eax + 0x10038d10]
jmp dword [edx*4 + 0x10038cfc]
mov ecx, dword [esp + 0xcc]
lea eax, [ebp + 8]
push eax
add ecx, 0xe8
call fcn.00fb8b70
mov esi, eax
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0xfcb011
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x18], ebx
mov ecx, dword [esi]
cmp ecx, ebx
mov dword [esp + 0x18], ecx
je 0xfcb027
mov eax, dword [ecx]
push ecx
mov ecx, dword [eax + 4]
call ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x34]
mov dword [edx], ebx
call fcn.00fd0650
test eax, eax
je 0xfcb167
mov edi, dword [ebp + 0x38]
mov dword [edi], 0xc000000f
jmp 0xfcb21a
cmp dword [esp + 0x38], ebx
je 0xfcb058
mov eax, dword [ebp + 0x34]
mov dword [eax], 1
jmp 0xfcb097
mov ecx, dword [ebp + 0x38]
mov eax, dword [ebp + 0x10]
cmp eax, ebx
mov edx, dword [ebp + 0x34]
mov esi, dword [ebp + 0x14]
mov dword [ecx], 0xc000000d
mov dword [edx], ebx
je 0xfcb084
mov ecx, dword [ebp + 0x18]
push ebx
push ecx
push esi
push eax
call dword [0x10078090]
push eax
call dword [0x100b7308]
mov edx, dword [ebp + 8]
mov ecx, dword [esp + 0xcc]
push ebx
push ebx
push esi
push edx
call fcn.00fbeed0
push edi
call fcn.00fac7d0
mov eax, dword [esp + 0x28]
add esp, 4
cmp eax, ebx
je 0xfcb0b4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x24], ebx
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0xfcb0d1
push eax
call fcn.00fac7d0
add esp, 4
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
lea ecx, [esp + 0x114]
call fcn.00fe2250
lea ecx, [esp + 0x78]
call fcn.00fb7a60
lea ecx, [esp + 0x78]
call fcn.00fb7a60
mov eax, dword [esp + 0x78]
cmp eax, ebx
je 0xfcb109
mov esi, dword [eax + 4]
push eax
call fcn.00f93630
add esp, 4
cmp esi, ebx
mov eax, esi
jne 0xfcb0f7
mov eax, dword [esp + 0x68]
cmp eax, ebx
je 0xfcb11a
push eax
call fcn.00fac7d0
add esp, 4
mov eax, dword [esp + 0xc]
cmp eax, ebx
je 0xfcb133
push eax
call fcn.00fac7d0
add esp, 4
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
lea ecx, [esp + 0x94]
call fcn.00fb7a00
mov eax, dword [esp + 0x94]
cmp eax, ebx
je 0xfcb26b
mov edi, edi
mov esi, dword [eax + 4]
push eax
call fcn.00f93630
add esp, 4
cmp esi, ebx
mov eax, esi
jne 0xfcb150
jmp 0xfcb26b
cmp byte [ebp + 0x30], bl
je 0xfcb175
mov ecx, dword [esp + 0x18]
call fcn.00fd0570
mov ecx, dword [esp + 0x18]
call fcn.00fd06c0
test eax, eax
je 0xfcb19e
mov eax, dword [esp + 0x150]
mov edi, dword [ebp + 0x38]
neg eax
sbb eax, eax
and eax, 0x40000009
add eax, 0x80000006
mov dword [edi], eax
jmp 0xfcb21a
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebx
call fcn.00fd0730
mov esi, dword [ebp + 0x20]
mov eax, dword [esp + 0x58]
cmp esi, eax
jae 0xfcb1df
mov ecx, dword [esp + 0x18]
call fcn.00fd0480
mov edi, dword [ebp + 0x38]
cmp esi, eax
sbb ecx, ecx
and ecx, 0x3fffffff
add ecx, 0x80000005
mov dword [edi], ecx
jmp 0xfcb209
mov edx, dword [esp + 0x54]
push eax
mov eax, dword [ebp + 0x1c]
push edx
push eax
call fcn.00fac600
mov ecx, dword [ebp + 0x18]
mov edx, dword [esp + 0x64]
mov dword [ecx + 4], edx
mov ecx, dword [esp + 0x24]
add esp, 0xc
call fcn.00fd05e0
mov edi, dword [ebp + 0x38]
mov dword [edi], ebx
mov eax, dword [esp + 0x54]
cmp eax, ebx
je 0xfcb21a
push eax
call fcn.00fac7d0
add esp, 4
mov eax, dword [esp + 0xd4]
cmp eax, ebx
mov esi, dword [0x1007808c]
je 0xfcb22e
push eax
call esi
mov eax, dword [ebp + 0xc]
cmp eax, ebx
je 0xfcb238
push eax
call esi
mov eax, dword [ebp + 0x10]
cmp eax, ebx
mov esi, dword [ebp + 0x14]
je 0xfcb256
mov ecx, dword [ebp + 0x18]
push ebx
push ecx
push esi
push eax
call dword [0x10078090]
push eax
call dword [0x100b7308]
mov edx, dword [edi]
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0xcc]
push ebx
push edx
push esi
push eax
call fcn.00fbeed0
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0xfcb27f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0xe4]
cmp eax, ebx
je 0xfcb293
push eax
call fcn.00fac7d0
add esp, 4
lea ecx, [esp + 0x148]
call fcn.00fe2250
mov eax, dword [esp + 0xd8]
cmp eax, ebx
je 0xfcb2b3
push eax
call fcn.00fac7d0
add esp, 4
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0xfcb2c7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x34], ebx
mov eax, dword [esp + 0x38]
cmp eax, ebx
je 0xfcb2db
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x4c]
cmp eax, ebx
je 0xfcb2eb
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x34