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

Disassembly:
push 0xffffffffffffffff
push 0x95035d
mov eax, dword fs:[0]
push eax
sub esp, 0x3b4
mov eax, dword [0x99986c]
xor eax, esp
mov dword [esp + 0x3b0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x99986c]
xor eax, esp
push eax
lea eax, [esp + 0x3c8]
mov dword fs:[0], eax
mov eax, dword [esp + 0x3e4]
mov esi, dword [esp + 0x3d8]
mov ebx, dword [esp + 0x3e0]
mov edi, dword [esp + 0x400]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x404]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x1c], eax
call dword [0x982264]
push 0
mov ebp, eax
call fcn.0084ee70
add esp, 4
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x1c0]
push edx
push 0x104
push 0
push esi
push 0
call fcn.00852ae0
test eax, eax
jne 0x8cff0b
push 0xffffffffffffffff
push esi
lea eax, [esp + 0x1c4]
push 0x104
push eax
call fcn.0091c363
add esp, 0x10
push 1
call fcn.0084ee70
add esp, 4
push 7
push 0
lea ecx, [esp + 0x34]
push ecx
push 0
push 0
push 3
push 0
push 1
push 1
lea edx, [esp + 0x1e0]
push edx
call fcn.00870c80
test al, al
je 0x8cff69
cmp dword [esp + 0x2c], 0xffffffff
je 0x8cff69
lea eax, [esp + 0x1bc]
push eax
call fcn.008c65e0
add esp, 4
test al, al
je 0x8cff9a
call fcn.008c6420
test al, al
je 0x8cff9a
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.0086b0d0
push ebp
call dword [0x9822c8]
xor al, al
mov ecx, dword [esp + 0x3c8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x3b0]
xor ecx, esp
call fcn.0091b0aa
add esp, 0x3c0
ret
lea edx, [esp + 0xa8]
push edx
mov dword [esp + 0xac], 0x114
call dword [0x9826b4]
test eax, eax
je 0x8cffc8
cmp dword [esp + 0xac], 6
jae 0x8cffc8
mov esi, 1
jmp 0x8cffca
xor esi, esi
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov dword [esp + 0x3d0], 0
cmp dword [esp + 0x3dc], 0xffffffff
mov ecx, dword [esp + 0x1c]
mov dword [ecx], 0
je 0x8d003d
test ebx, ebx
jne 0x8cfffb
cmp dword [esp + 0x18], ebx
je 0x8d003d
cmp dword [esp + 0x3f8], 0
jne 0x8d003d
push 0xffffffffffffffff
push str._No_output_requested_
mov ecx, edi
call fcn.0090a030
test esi, esi
jne 0x8d0022
push 0x3b02
call dword [0x9822c8]
mov dword [esp + 0x3d0], 0xffffffff
lea ecx, [esp + 0x14]
call fcn.0084ea70
mov al, 1
jmp 0x8cff72
mov edx, dword [esp + 0x2c]
push edx
lea ecx, [esp + 0x3c]
call fcn.008cf950
mov byte [esp + 0x3d0], 1
lea ecx, [esp + 0x38]
call fcn.008cf840
test eax, eax
jne 0x8d0157
push 0xffffffffffffffff
push str._Not_a_PE_file_
mov ecx, edi
call fcn.0090a030
mov eax, dword [esp + 0x14]
cmp eax, 0xffffffff
je 0x8d0089
push eax
call fcn.0086b0d0
mov dword [esp + 0x14], 0xffffffff
mov edi, dword [esp + 0x3fc]
test ebx, ebx
je 0x8d00cd
mov ecx, dword [esp + 0x3ec]
mov edx, dword [esp + 0x3e8]
mov eax, edi
or eax, 0x10
push eax
push ecx
push edx
push 1
lea eax, [esp + 0x1cc]
push eax
push 0
call fcn.008f4b50
mov ebp, dword [esp + 0x34]
add esp, 0x18
mov dword [ebx], eax
test eax, eax
je 0x8d00d1
inc dword [ebp]
jmp 0x8d00d1
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
test esi, esi
je 0x8d011b
mov ecx, dword [esp + 0x3f4]
mov edx, dword [esp + 0x3f0]
or edi, 0x10
push edi
push ecx
push edx
push 1
lea eax, [esp + 0x1cc]
push eax
push 0
call fcn.008f4b50
xor ecx, ecx
add esp, 0x18
cmp ebx, esi
sete cl
mov dword [esi + ecx*4], eax
test ebx, ebx
je 0x8d0114
cmp dword [ebx], 0
jne 0x8d011b
test eax, eax
je 0x8d011b
inc dword [ebp]
push 0
call dword [0x9822c8]
mov byte [esp + 0x3d0], 0
lea ecx, [esp + 0x38]
call fcn.008cfc70
or esi, 0xffffffff
mov dword [esp + 0x3d0], esi
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x8d0150
push eax
call fcn.0086b0d0
mov dword [esp + 0x14], esi
mov al, 1
jmp 0x8cff72
mov edx, esi
neg edx
sbb edx, edx
not edx
and edx, ebp
mov ebp, dword [0x9822c8]
push edx
call ebp
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x68]
call fcn.008cfa50
mov byte [esp + 0x3d0], 2
push 0
lea ecx, [esp + 0x68]
call fcn.008cfaa0
test eax, eax
jne 0x8d01c4
push 0xffffffffffffffff
push str._Unable_to_load_resource_dir_
mov ecx, edi
call fcn.0090a030
mov byte [esp + 0x3d0], 1
lea ecx, [esp + 0x64]
call fcn.008cfa70
mov byte [esp + 0x3d0], 0
lea ecx, [esp + 0x38]
call fcn.008cfc70
jmp 0x8d0022
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x54]
call fcn.008cfa50
mov byte [esp + 0x3d0], 3
push 0xe
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x58]
call fcn.008cfd00
test eax, eax
jne 0x8d020f
push 0xffffffffffffffff
push str._No_icongroups_resources_
mov ecx, edi
call fcn.0090a030
mov byte [esp + 0x3d0], 2
lea ecx, [esp + 0x50]
call fcn.008cfa70
jmp 0x8d019d
mov ecx, dword [esp + 0x3dc]
cmp ecx, 0xffffffff
je 0x8d0564
test ebx, ebx
jne 0x8d022d
cmp dword [esp + 0x18], ebx
je 0x8d0564
test ecx, ecx
jge 0x8d0273
neg ecx
push ecx
lea ecx, [esp + 0x54]
call fcn.008cfba0
mov dword [esp + 0x3dc], eax
cmp eax, 0xffffffff
jne 0x8d026c
push eax
push str._Loading_by_resource_id_but_id_not_found_
mov ecx, edi
call fcn.0090a030
mov byte [esp + 0x3d0], 2
lea ecx, [esp + 0x50]
call fcn.008cfa70
jmp 0x8d019d
mov ecx, dword [esp + 0x3dc]
mov eax, dword [esp + 0x58]
movzx edx, word [eax + 0xe]
movzx eax, word [eax + 0xc]
add eax, edx
cmp eax, ecx
ja 0x8d02a9
push 0xffffffffffffffff
push str._Start_index_out_of_range_
mov ecx, edi
call fcn.0090a030
mov byte [esp + 0x3d0], 2
lea ecx, [esp + 0x50]
call fcn.008cfa70
jmp 0x8d019d
mov edx, dword [esp + 0x3f8]
mov dword [esp + 0x28], edx
add edx, ecx
cmp eax, edx
jae 0x8d02c2
sub eax, ecx
mov dword [esp + 0x28], eax
jmp 0x8d02cd
test esi, esi
jne 0x8d02cd
push 0x3b02
call ebp
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x78]
call fcn.008cfa50
mov byte [esp + 0x3d0], 4
push 3
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esp + 0x7c]
call fcn.008cfd00
test eax, eax
jne 0x8d032c
push 0xffffffffffffffff
push str._No_icon_resources_
mov ecx, edi
call fcn.0090a030
mov byte [esp + 0x3d0], 3
lea ecx, [esp + 0x74]
call fcn.008cfa70
mov byte [esp + 0x3d0], 2
lea ecx, [esp + 0x50]
call fcn.008cfa70
jmp 0x8d019d
xor ebp, ebp
mov dword [esp + 0x34], ebp
cmp dword [esp + 0x28], ebp
jbe 0x8d051c
xor edi, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0x18]
test ebx, ebx
je 0x8d035d
mov eax, ebp
cmp esi, ebx
je 0x8d0356
mov eax, edi
mov dword [eax + ebx], 0
test esi, esi
je 0x8d0371
lea eax, [ebp + 4]
cmp esi, ebx
je 0x8d036a
mov eax, edi
mov dword [eax + esi], 0
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x9c]
call fcn.008cfa50
mov byte [esp + 0x3d0], 5
mov eax, dword [esp + 0x3dc]
mov ecx, dword [esp + 0x34]
add ecx, eax
push ecx
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0xa0]
call fcn.008cfb10
test eax, eax
je 0x8d04e7
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x88]
call fcn.008cfa50
mov byte [esp + 0x3d0], 6
push 0
lea ecx, [esp + 0x9c]
push ecx
lea ecx, [esp + 0x8c]
call fcn.008cfc10
test eax, eax
je 0x8d04cb
test ebx, ebx
je 0x8d044e
cmp esi, ebx
mov esi, ebp
je 0x8d03f4
mov esi, edi
mov edx, dword [esp + 0x3fc]
mov eax, dword [esp + 0x3e8]
mov edi, dword [esp + 0x3ec]
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x44]
call fcn.008cfd30
mov ebp, dword [esp + 0x60]
add esp, 0x14
mov dword [esi + ebx], eax
test ebp, ebp
je 0x8d0452
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x60], ebp
je 0x8d0445
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x30]
mov dword [eax + ebp], ecx
jmp 0x8d0452
mov ebp, dword [esp + 0x4c]
cmp dword [esp + 0x18], 0
je 0x8d04cb
cmp dword [esp + 0x18], ebx
jne 0x8d0468
mov esi, dword [esp + 0x20]
add esi, 4
jmp 0x8d046c
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x3fc]
mov eax, dword [esp + 0x3f0]
mov edi, dword [esp + 0x3f4]
push edx
push eax
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x94]
push eax
lea ecx, [esp + 0x44]
call fcn.008cfd30
mov ecx, dword [esp + 0x2c]
mov dword [esi + ecx], eax
mov ecx, dword [esp + 0x74]
add esp, 0x14
test ecx, ecx
je 0x8d04cb
cmp ecx, ebp
jne 0x8d04c0
mov eax, dword [esp + 0x20]
add eax, 4
jmp 0x8d04c4
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx], edx
mov byte [esp + 0x3d0], 5
lea ecx, [esp + 0x84]
call fcn.008cfa70
mov edi, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov byte [esp + 0x3d0], 4
lea ecx, [esp + 0x98]
call fcn.008cfa70
mov eax, dword [esp + 0x34]
inc eax
add edi, 4
add ebp, 8
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], ebp
cmp eax, dword [esp + 0x28]
jb 0x8d0346
cmp dword [esp + 0x3f8], 1
jne 0x8d054c
mov edx, dword [esp + 0x1c]
xor eax, eax
cmp dword [esp + 0x18], eax
setne al
xor ecx, ecx
test ebx, ebx
setne cl
add eax, ecx
lea ecx, [esp + 0x14]
mov dword [edx], eax
call fcn.0084ea70
jmp 0x8d0305
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov dword [eax], ecx
lea ecx, [esp + 0x14]
call fcn.0084ea70
jmp 0x8d0305
push 0xffffffffffffffff
push str._Requested_number_of_entries_only_
mov ecx, edi
call fcn.0090a030
mov eax, dword [esp + 0x58]
movzx edx, word [eax + 0xe]
movzx eax, word [eax + 0xc]
mov ecx, dword [esp + 0x1c]
add edx, eax
mov dword [ecx], edx
mov byte [esp + 0x3d0], 2
lea ecx, [esp + 0x50]
call fcn.008cfa70
jmp 0x8d019d