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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
push ebx
mov ebx, dword [ebp + 8]
push esi
xor edx, edx
mov esi, ecx
push edi
mov dword [esp + 0x14], esi
cmp ebx, edx
jne 0x10104897
cmp byte [ebp + 0x10], dl
je 0x10104dcf
mov ebx, dword [esi + 0x120]
cmp ebx, edx
je 0x10104dcf
mov byte [ebp + 0x10], dl
mov eax, dword [ebx + 4]
cmp eax, 3
jne 0x10104ca3
mov edi, 1
mov eax, 0x10
mov dword [esp + 0x38], 0x10002624
mov dword [esp + 0x3c], 0x10089a0c
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], 6
mov byte [esp + 0x10], dl
mov byte [esp + 0x11], 1
cmp byte [ebp + 0x14], dl
jne case.0x101048ef.7
mov ecx, dword [ebx + 0x14]
cmp ecx, 0xd
ja case.0x101048ef.7
jmp dword [ecx*4 + 0x10104dfc]
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x30]
push edx
push edx
push edx
push edx
push edx
push esi
call fcn.10105eb0
test eax, eax
jl 0x10104df1
mov ecx, dword [ebx + 0x18]
push esi
call fcn.101037d0
test eax, eax
jl 0x10104df1
cmp dword [ebx + 0x14], edi
jne case.0x101048ef.7
add ebx, 0x34
push ebx
mov eax, esi
call fcn.101216b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 2
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, dword [ebx + 0x30]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov byte [esp + 0x1c], dl
mov byte [esp + 0x1d], dl
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x28]
push eax
mov eax, dword [ebx + 0x54]
push esi
mov dword [esp + 0x30], 0x10089a14
mov dword [esp + 0x34], 0x10089a1c
call fcn.10105eb0
test eax, eax
jl 0x10104df1
mov edx, dword [ebx + 0x1c]
push 0
push 0
push 0
lea ecx, [esp + 0x20]
push ecx
push edi
push edx
mov ecx, esi
mov dword [esp + 0x2c], 0xffffffff
call fcn.1011f110
test eax, eax
jl 0x10104df1
mov eax, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x20]
mov edx, dword [esp + 0x14]
push 0
push 0
push 0
push eax
push ecx
mov ecx, dword [ebx + 0x1c]
push edx
call fcn.10110900
push eax
mov eax, dword [ebx + 0x30]
push eax
mov ecx, esi
call fcn.101295c0
jmp 0x10104c68
push 4
lea ecx, [esp + 0x18]
push ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov byte [esp + 0x1c], dl
mov byte [esp + 0x1d], dl
mov byte [esp + 0x1e], dl
mov byte [esp + 0x1f], dl
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
lea edx, [esp + 0x40]
push edx
lea eax, [esp + 0x34]
push eax
mov eax, dword [ebx + 0x54]
lea ecx, [esp + 0x28]
push ecx
mov ecx, dword [ebx + 0x30]
push esi
mov dword [esp + 0x30], 0x10089a14
mov dword [esp + 0x34], 0x10089a1c
mov dword [esp + 0x38], 0x10089a24
mov dword [esp + 0x3c], 0x10002634
call fcn.10105eb0
test eax, eax
jl 0x10104df1
mov eax, dword [ebx + 0x1c]
push 0
push 0
push 0
lea edx, [esp + 0x1c]
push edx
push edi
push eax
mov ecx, esi
mov dword [esp + 0x28], 0xffffffff
call fcn.1011f110
test eax, eax
jl 0x10104df1
mov ecx, dword [esp + 0x10]
mov edx, dword [ebx + 0x1c]
mov eax, dword [ebx + 0x20]
push ecx
mov ecx, dword [ebx + 0x30]
push edx
push eax
push ecx
mov edi, esi
call fcn.10130570
jmp 0x10104c68
push 2
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push eax
mov eax, dword [ebx + 0x54]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [ebx + 0x30]
lea edx, [esp + 0x48]
push edx
push esi
call fcn.10105eb0
test eax, eax
jl 0x10104df1
mov eax, dword [ebx + 0x2c]
mov ecx, dword [ebx + 0x20]
push eax
mov eax, dword [ebx + 0x18]
push ecx
mov edx, dword [ebx + 0x1c]
push edx
push eax
push ebx
mov ebx, esi
call fcn.10130980
test eax, eax
jge case.0x101048ef.7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 2
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x34]
push eax
mov eax, dword [ebx + 0x54]
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x30]
push esi
call fcn.10105eb0
test eax, eax
jl 0x10104df1
mov edx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x1c]
push edx
push eax
push ecx
push 0
jmp 0x10104ada
push 2
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x20]
push eax
mov eax, dword [ebx + 0x54]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [ebx + 0x30]
lea edx, [esp + 0x48]
push edx
push esi
call fcn.10105eb0
test eax, eax
jl 0x10104df1
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ebx + 0x20]
push ecx
push eax
jmp 0x10104ad5
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x30]
push edx
push edx
push edx
push edx
push edx
push esi
call fcn.10105eb0
test eax, eax
jl 0x10104df1
mov eax, dword [esi + 8]
test byte [eax + 0x7fd3], 8
mov eax, esi
je 0x10104ba0
lea edi, [ebx + 0x34]
call fcn.10121c90
test eax, eax
jge 0x10104bb6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push edi
lea ecx, [esi + 0x78]
push ecx
add ebx, 0x34
push ebx
call fcn.10144d90
test eax, eax
jl 0x10104df1
mov eax, esi
call fcn.10108b90
mov esi, dword [esi + 0x98]
mov edx, eax
mov eax, dword [esp + 0x14]
call fcn.1010b680
test eax, eax
jl 0x10104df1
mov esi, dword [esp + 0x14]
jmp case.0x101048ef.7
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x30]
push edx
push edx
push edx
push edx
push edx
push esi
call fcn.10105eb0
test eax, eax
jl 0x10104df1
add ebx, 0x34
push ebx
xor ecx, ecx
mov eax, esi
call fcn.10135020
jmp 0x10104ae2
mov eax, dword [ebx + 0x54]
mov ecx, dword [ebx + 0x30]
push edx
push edx
push edx
push edx
push edx
push esi
call fcn.10105eb0
test eax, eax
jl 0x10104df1
mov edx, dword [ebp + 0xc]
push edx
add ebx, 0x34
push ebx
mov eax, esi
call fcn.10135840
jmp 0x10104ae2
mov eax, dword [ebx + 0x18]
mov edi, dword [eax + 0x20]
push 2
mov eax, edi
call fcn.100a9f30
test al, al
je 0x10104c55
mov eax, edi
call fcn.100a9ed0
test al, al
jne case.0x101048ef.7
mov ecx, dword [ebp + 0xc]
push 0
push ecx
push 0xffffff
push edi
mov ecx, esi
call fcn.101038c0
test eax, eax
jl 0x10104df1
cmp byte [ebp + 0x10], 0
je 0x10104dcf
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x120]
push edx
push 0
push eax
push ecx
mov ecx, esi
call fcn.10104860
test eax, eax
jge 0x10104dcf
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp eax, 1
jne 0x10104dda
mov edx, dword [ebp + 0x14]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebx + 8]
push edx
push 0
push eax
push ecx
mov ecx, esi
call fcn.10104860
test eax, eax
jl 0x10104df1
mov edx, dword [esi + 0xa0]
mov eax, dword [esi + 0x1c]
cmp dword [eax + edx*4], 0xffffffff
lea eax, [eax + edx*4]
je 0x10104cfd
mov eax, dword [eax]
lea edi, [esp + 0x10]
call fcn.101096c0
test eax, eax
jl 0x10104db6
cmp byte [esp + 0x10], 0
jne 0x10104db6
mov esi, dword [esp + 0x14]
mov ecx, dword [esi + 0x9c]
mov edx, dword [esi + 0x1c]
cmp dword [edx + ecx*4], 0xffffffff
lea eax, [edx + ecx*4]
je 0x10104d31
mov eax, dword [eax]
lea edi, [esp + 0x10]
call fcn.101096c0
test eax, eax
jl 0x10104db6
cmp byte [esp + 0x10], 0
jne 0x10104db6
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x98]
mov ecx, dword [esi + 0x1c]
cmp dword [ecx + eax*4], 0xffffffff
lea eax, [ecx + eax*4]
je 0x10104d5d
mov eax, dword [eax]
lea edi, [esp + 0x10]
call fcn.101096c0
test eax, eax
jl 0x10104db6
cmp byte [esp + 0x10], 0
jne 0x10104db6
mov esi, dword [esp + 0x14]
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0x1c]
cmp dword [eax + edx*4], 0xffffffff
lea eax, [eax + edx*4]
je 0x10104d89
mov eax, dword [eax]
lea edi, [esp + 0x10]
call fcn.101096c0
test eax, eax
jl 0x10104db6
cmp byte [esp + 0x10], 0
jne 0x10104db6
mov esi, dword [esp + 0x14]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x10104cac
cmp byte [ebp + 0x10], bl
je 0x10104da3
mov ebx, dword [esi + 0x120]
mov byte [ebp + 0x10], 0
test ebx, ebx
jne 0x10104cac
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov eax, dword [ebx + 0xc]
push ecx
mov ecx, dword [esp + 0x18]
push edx
push eax
call fcn.1012b6f0
test eax, eax
jl 0x10104df1
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x10089a30
push edx
xor edx, edx
mov eax, esi
call fcn.1010ad00
add esp, 8
mov eax, 0x80004005
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10