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

Disassembly:
push ebp
push edi
mov edi, ecx
push esi
push ebx
sub esp, 0x7c
mov ebp, dword [eax]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 0xc], eax
xor eax, eax
test edx, edx
mov edx, dword [ebp + 0x24]
mov dword [esp + 8], ecx
setne al
mov ecx, dword [ebp + 0x20]
and edx, 8
mov esi, eax
xor eax, eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
or eax, edx
je 0x10cf4a0
mov ebx, dword [edi + esi*4 + 0x1c]
add esp, 0x7c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 8]
movzx eax, byte [eax + esi + 0x19]
mov dword [esp + 0x1c], eax
cmp eax, 7
je 0x10cfbc0
test eax, eax
setne al
lea ebx, [esi + 4]
mov esi, dword [esp + 8]
mov dword [esp + 0x38], ebx
mov ebx, dword [esi + ebx*4 + 0xc]
test ebx, ebx
jne 0x10cf496
test al, al
je 0x10cf496
mov dword [esp + 0x48], 0
sub esp, 8
mov ecx, esi
mov ebx, esi
mov dword [esp + 0x54], 0
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x54]
push eax
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
call fcn.010cf030
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x10cfc90
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0x14]
test eax, eax
jle 0x10cfd18
mov eax, dword [esp + 0x48]
mov dword [esp + 0x3c], esi
xor ebx, ebx
mov dword [esp + 0x20], 0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x10], 0
lea esi, cs:[esi]
nop
mov eax, dword [esp + 0x24]
mov dword [esp + 0x50], 0x142e2c5
mov dword [esp + 0x54], 3
mov dword [esp + 0x58], 0x142e2c9
mov dword [esp + 0x5c], 3
test eax, eax
je 0x10cfa88
mov esi, dword [eax + ebx*4]
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10cfa60
mov eax, dword [eax + 4]
movsx eax, word [eax + ebx*2]
shl eax, 4
mov eax, dword [edx + eax]
mov dword [esp + 0x68], eax
test eax, eax
je 0x10cfa7a
sub esp, 0xc
push eax
call 0x1184e08
add esp, 0x10
and eax, 0x3fffffff
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 8]
shl esi, 4
mov dword [esp + 0x28], esi
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov eax, dword [eax + esi]
mov dword [esp + 0x60], eax
test eax, eax
je 0x10cfa98
sub esp, 0xc
push eax
call 0x1184e08
add esp, 0x10
and eax, 0x3fffffff
mov dword [esp + 0x64], eax
sub esp, 0xc
mov edx, 0x3b
mov eax, ebp
push 0
lea ecx, [esp + 0x70]
call fcn.010b8620
lea ecx, [esp + 0x78]
mov edx, 0x3b
mov dword [esp], 0
mov esi, eax
mov eax, ebp
call fcn.010b8620
lea ecx, [esp + 0x60]
mov edx, 0x3b
mov dword [esp], 0
mov edi, eax
mov eax, ebp
call fcn.010b8620
mov dword [esp], edi
mov edi, dword [esp + 0x1c]
mov edx, 0x8d
mov ecx, eax
mov eax, edi
call fcn.010cd1d0
mov edx, 0x35
mov dword [esp], esi
mov ecx, eax
mov eax, edi
call fcn.010cd1d0
mov edx, dword [esp + 0x20]
mov ecx, eax
mov eax, edi
call fcn.010cd390
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
add esp, 0x10
test eax, eax
je 0x10cfa40
sub esp, 0xc
mov edx, 0x3b
mov eax, ebp
push 0
lea ecx, [esp + 0x78]
call fcn.010b8620
lea ecx, [esp + 0x68]
mov edx, 0x3b
mov dword [esp], 0
mov esi, eax
mov eax, ebp
call fcn.010b8620
mov edx, 0x8d
mov dword [esp], esi
mov ecx, eax
mov eax, edi
mov dword [esp + 0x1c], edi
call fcn.010cd1d0
lea ecx, [esp + 0x78]
mov edx, 0x3b
mov dword [esp], 0
mov esi, eax
mov eax, ebp
call fcn.010b8620
lea ecx, [esp + 0x60]
mov edx, 0x3b
mov dword [esp], 0
mov edi, eax
mov eax, ebp
call fcn.010b8620
mov dword [esp], edi
mov edi, dword [esp + 0x1c]
mov edx, 0x8d
mov ecx, eax
mov eax, edi
call fcn.010cd1d0
mov edx, 0x2d
mov dword [esp], esi
mov ecx, eax
mov eax, edi
call fcn.010cd1d0
mov edx, dword [esp + 0x30]
mov ecx, eax
mov eax, edi
call fcn.010cd390
mov dword [esp + 0x30], eax
add esp, 0x10
cmp dword [esp + 0x1c], 7
je 0x10cf820
cmp dword [esp + 0x1c], 0xa
je 0x10cfbe0
cmp dword [esp + 0x1c], 9
jne 0x10cf7a0
mov eax, dword [esp + 8]
mov edx, dword [eax]
mov eax, dword [esp + 0x28]
add eax, dword [edx + 4]
test byte [eax + 0xe], 0x60
jne 0x10cf7a0
movzx eax, word [eax + 0xc]
test ax, ax
je 0x10cf7a0
cmp byte [edx + 0x2b], 0
jne 0x10cf7a0
mov edx, dword [edx + 0x34]
test edx, edx
je 0x10cf7a0
cmp dword [edx], eax
jl 0x10cf7a0
lea eax, [eax + eax*4 - 5]
mov edx, dword [edx + eax*4 + 8]
test edx, edx
je 0x10cf7a0
sub esp, 0xc
xor ecx, ecx
mov eax, ebp
push 0
call fcn.010bb290
add esp, 0x10
mov edx, eax
jmp 0x10cf7ea
mov edx, 0x34
xor ecx, ecx
mov eax, ebp
call fcn.010b7ad0
mov edx, eax
test eax, eax
je 0x10cf7ea
lea edi, [eax + 5]
lea ecx, [eax + 1]
mov dword [eax + 1], 0
and edi, 0xfffffffc
mov dword [eax + 0x30], 0
xor eax, eax
sub ecx, edi
add ecx, 0x33
shr ecx, 2
rep stosd dword es:[edi], eax
mov eax, 0xffffffff
mov byte [edx], 0x79
mov word [edx + 0x22], ax
mov dword [edx + 0x18], 1
mov edi, dword [esp + 0xc]
mov ecx, edx
mov edx, dword [esp + 0x34]
mov eax, edi
call fcn.010c6480
mov dword [esp + 0x34], eax
mov edx, eax
test eax, eax
je 0x10cf820
sub esp, 0xc
mov eax, edi
push 0
lea ecx, [esp + 0x70]
call fcn.010ba480
add esp, 0x10
lea esi, cs:[esi]
mov eax, dword [esp + 8]
add ebx, 1
cmp dword [eax + 0x14], ebx
jg 0x10cf550
mov esi, dword [esp + 0x3c]
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10cf845
mov edx, eax
mov eax, ebp
call fcn.010a7e90
mov eax, dword [esp + 8]
mov eax, dword [eax]
mov edi, dword [eax]
test edi, edi
je 0x10cfcb0
sub esp, 0xc
push edi
call 0x1184e08
add esp, 0x10
and eax, 0x3fffffff
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], eax
add eax, 0x55
mov dword [esp + 0x3c], eax
mov dword [esp + 0x28], eax
cmp dword [esp + 0x1c], 7
je 0x10cfaa0
xor eax, eax
add dword [ebp + 0x128], 1
mov edx, dword [esp + 0x28]
mov word [ebp + 0x12c], ax
mov ecx, dword [esp + 0x2c]
mov eax, ebp
call fcn.010b7ad0
mov esi, eax
test eax, eax
je 0x10cfc70
sub esp, 4
push dword [esp + 0x40]
push 0
push eax
call 0x1184dc8
lea eax, [esi + 0x24]
mov dword [esi + 0x1c], eax
mov dword [esp + 0x38], eax
add esp, 0xc
lea eax, [esi + 0x54]
mov dword [esi + 0x30], eax
push dword [esp + 0x34]
push edi
push eax
call 0x1184db8
mov edx, dword [esp + 0x20]
add esp, 0x10
test edx, edx
je 0x10cfd5a
sub esp, 0xc
mov ecx, 1
mov eax, ebp
mov ebx, esi
push 0
call fcn.010bb290
mov esi, dword [esp + 0x38]
add esp, 0x10
mov dword [esp + 0x24], 0
mov dword [ebx + 0x38], eax
mov edx, dword [esp + 0x34]
mov ecx, 1
mov eax, ebp
call fcn.010bb790
mov edx, dword [esp + 0x24]
mov ecx, 1
mov dword [ebx + 0x3c], eax
mov eax, ebp
call fcn.010bb050
mov dword [ebx + 0x2c], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10cf97d
sub esp, 0xc
mov ecx, eax
mov edx, 0x13
push 0
mov eax, dword [esp + 0x1c]
call fcn.010cd1d0
mov edi, eax
mov dword [esp + 0x30], eax
add esp, 0x10
xor eax, eax
test edi, edi
je 0x10cf97a
sub esp, 0xc
mov ecx, 1
mov edx, edi
mov eax, ebp
push 0
call fcn.010bb290
add esp, 0x10
mov dword [ebx + 0xc], eax
sub dword [ebp + 0x128], 1
mov edx, 0
jne 0x10cf992
movzx edx, word [ebp + 0x12e]
mov eax, dword [esp + 0x10]
mov word [ebp + 0x12c], dx
test eax, eax
je 0x10cf9aa
mov edx, eax
mov eax, ebp
call fcn.010adc60
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10cf9bb
mov edx, eax
mov eax, ebp
call fcn.010adc60
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10cf9cc
mov edx, eax
mov eax, ebp
call fcn.010add50
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10cf9e2
mov edx, eax
mov ecx, 1
mov eax, ebp
call fcn.010adb00
cmp byte [ebp + 0x57], 1
je 0x10cfc7f
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax + 0x3c]
cmp edi, 7
je 0x10cfc68
cmp edi, 0xa
jne 0x10cfc30
mov ecx, dword [esp + 0x90]
test ecx, ecx
je 0x10cfd38
mov byte [esi], 0x81
mov dword [esi + 4], ebx
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 8]
mov dword [eax + 0x20], ebx
mov eax, 0xffffff81
mov byte [ebx + 8], al
add esp, 0x7c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x1c]
cmp eax, 7
je 0x10cf820
cmp eax, 0xa
je 0x10cf820
jmp 0x10cf749
mov eax, dword [esp + 0x18]
movsx eax, word [eax + 0x20]
shl eax, 4
mov eax, dword [edx + eax]
mov dword [esp + 0x68], eax
test eax, eax
jne 0x10cf5ab
xor eax, eax
jmp 0x10cf5bc
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x24]
jmp 0x10cf57f
xor eax, eax
jmp 0x10cf5f0
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x10cfd50
mov ecx, dword [ebp + 0x10]
cmp edx, dword [ecx + 0xc]
je 0x10cface
lea esi, cs:[esi]
nop
add esi, 1
mov eax, esi
shl eax, 4
cmp edx, dword [ecx + eax + 0xc]
jne 0x10cfac0
mov dword [esp + 0x68], 0x142e2cd
sub esp, 0xc
mov edx, 0x47
mov eax, ebp
mov dword [esp + 0x78], 0x1d
push 0
lea ecx, [esp + 0x78]
call fcn.010b8620
mov dword [esp + 0x34], eax
add esp, 0x10
test eax, eax
je 0x10cfb02
mov byte [eax + 1], 2
sub esp, 0xc
xor ecx, ecx
xor edx, edx
push 0
mov eax, dword [esp + 0x1c]
call fcn.010cec40
add esp, 0x10
mov ebx, eax
test eax, eax
je 0x10cfb3b
mov edx, edi
mov eax, ebp
shl esi, 4
call fcn.010b9c10
add esi, dword [ebp + 0x10]
mov dword [ebx + 0x10], eax
mov edx, dword [esi]
mov eax, ebp
call fcn.010b9c10
mov dword [ebx + 0xc], eax
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
mov eax, dword [esi]
call fcn.010b85c0
sub esp, 8
mov ecx, ebx
push 0
mov edx, eax
mov eax, esi
push 0
push 0
push 0
push 0
push dword [esp + 0x2c]
call fcn.010bbf20
add dword [ebp + 0x128], 1
mov dword [esp + 0x44], eax
xor eax, eax
mov edx, dword [esp + 0x48]
add esp, 0x20
mov word [ebp + 0x12c], ax
mov ecx, dword [esp + 0x2c]
mov eax, ebp
call fcn.010b7ad0
mov ebx, eax
test eax, eax
jne 0x10cfcd8
sub dword [ebp + 0x128], 1
jne 0x10cfca0
movzx eax, word [ebp + 0x12e]
xor esi, esi
mov word [ebp + 0x12c], ax
jmp 0x10cf9aa
and ecx, 0x80000
xor ebx, ebx
mov eax, ecx
or eax, ebx
jne 0x10cfc90
mov eax, 1
jmp 0x10cf4bb
sub esp, 0xc
mov edx, 0x3b
mov eax, ebp
push 0
lea ecx, [esp + 0x78]
call fcn.010b8620
lea ecx, [esp + 0x68]
mov edx, 0x3b
mov dword [esp], 0
mov esi, eax
mov eax, ebp
call fcn.010b8620
mov edx, 0x8d
mov dword [esp], esi
mov ecx, eax
mov eax, dword [esp + 0x1c]
call fcn.010cd1d0
add esp, 0x10
mov edx, eax
jmp 0x10cf7ea
mov edx, 0xffffff81
mov byte [esi], dl
mov edx, dword [esp + 0x90]
mov dword [esi + 4], ebx
mov esi, dword [esp + 0x38]
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 8]
mov dword [eax + esi*4 + 0xc], ebx
test edx, edx
jne 0x10cfa2b
mov eax, 0xffffff80
jmp 0x10cfa30
mov edx, 0xffffff8a
jmp 0x10cfc35
mov dword [esp + 0x24], 0
xor ebx, ebx
jmp 0x10cf97d
mov edx, ebx
mov eax, ebp
call fcn.010ae2e0
lea esi, cs:[esi]
xor ebx, ebx
jmp 0x10cf496
xor eax, eax
xor esi, esi
mov word [ebp + 0x12c], ax
jmp 0x10cf9aa
mov dword [esp + 0x28], 0x55
mov dword [esp + 0x2c], 0
mov dword [esp + 0x3c], 0x55
mov dword [esp + 0x30], 0
jmp 0x10cf87d
sub esp, 4
lea esi, [ebx + 0x24]
push dword [esp + 0x40]
push 0
push eax
call 0x1184dc8
add esp, 0xc
lea eax, [ebx + 0x54]
mov dword [ebx + 0x1c], esi
mov dword [ebx + 0x30], eax
push dword [esp + 0x34]
push edi
push eax
call 0x1184db8
add esp, 0x10
xor eax, eax
mov dword [esp + 0x10], 0
jmp 0x10cf90f
mov dword [esp + 0x20], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x10], 0
jmp 0x10cf834
mov byte [esi], pe_nt_image_headers32
mov dword [esi + 4], ebx
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 8]
mov dword [eax + 0x1c], ebx
jmp 0x10cfc5b
mov esi, 0xffff8000
jmp 0x10cface
mov ebx, esi
xor esi, esi
xor eax, eax
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x28]
jmp 0x10cf90f