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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, edx
mov ebx, ecx
mov dword [esp + 0x28], ebx
mov esi, dword [edi]
mov dword [esp + 0x2c], esi
test esi, esi
jne 0x100ef50a
call fcn.100d6670
test eax, eax
jne 0x100ef40c
push eax
push 0x40
call fcn.100267c0
mov esi, eax
mov dword [esp + 0x34], eax
add esp, 8
test esi, esi
je 0x100ef40c
push 0x40
push 0
push esi
call fcn.10138870
mov eax, dword [ebx + 0xe8]
add esp, 0xc
cdq
mov dword [edi], esi
mov edi, eax
mov dword [esp + 0x24], edx
call fcn.100d6670
test eax, eax
je 0x100ef418
mov dword [esi + 0x30], 0
mov eax, 7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esp + 0x24]
push edi
call fcn.100267c0
add esp, 8
mov dword [esi + 0x30], eax
test eax, eax
je 0x100ef40c
mov eax, dword [ebx + 0xe8]
mov edx, 0xa
mov dword [esi + 0x28], eax
mov ecx, ebx
lea eax, [esp + 0x24]
push 0
push eax
call fcn.100ebda0
add esp, 8
test eax, eax
jne 0x100ef888
mov edi, dword [esp + 0x24]
push edi
call fcn.10054c20
add esp, 4
cmp eax, 0x64
jne 0x100ef4f9
test edi, edi
je 0x100ef4a5
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ef480
push eax
call dword [0x10177b98]
add esp, 4
mov ecx, dword [edi + 0x78]
test ecx, ecx
je 0x100ef492
xor eax, eax
cmp ax, word [edi + 0x90]
jb 0x100ef4aa
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.1002a360
mov ecx, 0x10161a88
call fcn.1004d340
mov ebx, eax
mov eax, edx
mov dword [esp + 0x24], eax
test edi, edi
je 0x100ef4ed
mov ecx, dword [edi]
mov edx, dword [edi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100ef4ce
test edx, edx
jne 0x100ef4ce
xor eax, eax
jmp 0x100ef4d3
call fcn.100272e0
mov dword [edi + 0x24], eax
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100ef4e9
push eax
call dword [0x10177ba0]
add esp, 4
mov eax, dword [esp + 0x24]
mov dword [esi + 0x10], ebx
mov dword [esi + 0x14], eax
mov dword [esi + 8], ebx
mov dword [esi + 0xc], eax
push edi
call fcn.10053c90
add esp, 4
test eax, eax
jne 0x100ef888
mov edx, dword [esi + 0x1c]
xor edi, edi
mov eax, dword [esi + 0x2c]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], edi
test edx, edx
jle 0x100ef53c
mov ebx, dword [ebp + 0xc]
cmp edi, ecx
jge 0x100ef538
mov eax, dword [esi + 0x18]
mov al, byte [edi + eax]
cmp al, byte [edi + ebx]
jne 0x100ef538
inc edi
cmp edi, edx
jl 0x100ef524
mov dword [esp + 0x24], edi
mov ebx, ecx
sub ebx, edi
mov dword [esp + 0x18], ebx
test ebx, ebx
jle 0x100ef883
mov eax, edi
xor edi, edi
cdq
mov ecx, eax
shrd ecx, edx, 7
inc edi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x100ef553
mov eax, ebx
mov dword [esp + 0x1c], edi
cdq
xor esi, esi
mov ecx, eax
nop dword [eax]
shrd ecx, edx, 7
inc esi
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x100ef570
mov eax, dword [ebp + 0x18]
xor edi, edi
cdq
mov ebx, edx
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x2c]
mov edx, eax
mov dword [esp + 0x34], eax
mov ecx, ebx
mov dword [esp + 0x30], ebx
nop word [eax + eax]
shrd edx, ecx, 7
inc edi
shr ecx, 7
mov eax, edx
or eax, ecx
jne 0x100ef5a0
mov eax, dword [esp + 0x20]
add eax, edi
mov edi, dword [esp + 0x24]
add eax, dword [esp + 0x1c]
add eax, dword [esp + 0x18]
add eax, dword [ebp + 0x18]
cdq
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], edx
test eax, eax
jle 0x100ef6ce
cdq
add eax, dword [esp + 0x1c]
mov ecx, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
adc ecx, dword [esp + 0x20]
mov eax, dword [eax + 0xe8]
cdq
cmp ecx, edx
jl 0x100ef6ce
jg 0x100ef606
cmp dword [esp + 0x24], eax
jbe 0x100ef6ce
mov eax, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov dword [esp + 0x24], eax
cmp eax, 0xffffffff
jne 0x100ef621
cmp edx, 0x7fffffff
je 0x100ef883
mov ecx, eax
mov eax, edx
add ecx, 1
mov dword [esi + 0x10], ecx
mov ecx, dword [esp + 0x28]
adc eax, 0
mov dword [esi + 0x14], eax
mov eax, dword [esp + 0x14]
push eax
push edx
push dword [esp + 0x2c]
mov edx, dword [esi + 0x30]
call fcn.100ee6f0
add esp, 0xc
test eax, eax
jne 0x100ef888
mov ecx, dword [esp + 0x28]
lea eax, [edi + 1]
push eax
push dword [ebp + 0xc]
mov edx, esi
inc dword [ecx + 0x34]
push ecx
call fcn.100eed50
add esp, 0xc
test eax, eax
jne 0x100ef888
mov dword [esp + 0x14], eax
xor edi, edi
mov dword [esi + 0x1c], eax
xor ebx, ebx
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x18], eax
cdq
mov ecx, eax
shrd ecx, edx, 7
inc ebx
shr edx, 7
mov eax, ecx
or eax, edx
jne 0x100ef688
mov esi, dword [esp + 0x34]
xor ecx, ecx
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x30]
shrd esi, ebx, 7
inc ecx
shr ebx, 7
mov eax, esi
or eax, ebx
jne 0x100ef6a4
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
add eax, ecx
mov ecx, dword [ebp + 0x18]
add eax, dword [ebp + 0x10]
inc ecx
add eax, ecx
cdq
mov ebx, eax
mov dword [esp + 0x20], edx
jmp 0x100ef6d2
mov ebx, dword [esp + 0x1c]
add dword [esi + 0x38], ebx
mov eax, dword [esi + 0x28]
mov ecx, dword [esp + 0x20]
adc dword [esi + 0x3c], ecx
cdq
cmp ecx, edx
jl 0x100ef71d
jg 0x100ef6ea
cmp ebx, eax
jbe 0x100ef71d
mov eax, dword [esi + 0x30]
mov dword [esp + 0x34], eax
call fcn.100d6670
test eax, eax
jne 0x100ef40c
push dword [esp + 0x20]
mov ecx, dword [esp + 0x38]
push ebx
call fcn.10026c10
add esp, 8
test eax, eax
je 0x100ef40c
mov dword [esi + 0x30], eax
mov dword [esi + 0x28], ebx
mov ecx, dword [esi + 0x30]
mov eax, edi
add ecx, dword [esp + 0x14]
cdq
mov ebx, ecx
mov dword [esp + 0x30], ecx
mov ecx, eax
nop
mov al, cl
mov dword [esp + 0x34], ebx
or al, 0x80
shrd ecx, edx, 7
mov byte [ebx], al
inc ebx
mov byte [esp + 0x13], al
mov eax, ecx
shr edx, 7
or eax, edx
jne 0x100ef730
mov ecx, dword [esp + 0x34]
mov al, byte [esp + 0x13]
sub ebx, dword [esp + 0x30]
and al, 0x7f
mov byte [ecx], al
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x30]
add eax, ebx
add ecx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov ebx, ecx
cdq
mov dword [esp + 0x30], ecx
mov ecx, eax
mov al, cl
mov dword [esp + 0x34], ebx
or al, 0x80
shrd ecx, edx, 7
mov byte [ebx], al
inc ebx
mov byte [esp + 0x13], al
mov eax, ecx
shr edx, 7
or eax, edx
jne 0x100ef778
mov ecx, dword [esp + 0x34]
mov al, byte [esp + 0x13]
push dword [esp + 0x18]
sub ebx, dword [esp + 0x34]
and al, 0x7f
add dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x18]
mov byte [ecx], al
mov eax, dword [ebp + 0xc]
add eax, edi
push eax
mov eax, dword [esi + 0x30]
add eax, ebx
push eax
call fcn.10139d00
add ebx, dword [esp + 0x24]
add esp, 0xc
mov eax, dword [esi + 0x30]
add eax, ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x30], eax
mov edi, eax
mov eax, dword [ebp + 0x18]
cdq
mov ecx, eax
nop dword [eax]
mov bl, cl
mov dword [esp + 0x34], edi
shrd ecx, edx, 7
or bl, 0x80
mov byte [edi], bl
mov eax, ecx
shr edx, 7
inc edi
or eax, edx
jne 0x100ef7e0
mov eax, dword [esp + 0x34]
and bl, 0x7f
sub edi, dword [esp + 0x30]
mov byte [eax], bl
mov ebx, dword [esp + 0x14]
mov eax, dword [esi + 0x30]
add ebx, edi
mov edi, dword [ebp + 0x18]
add eax, ebx
push edi
push dword [ebp + 0x14]
push eax
call fcn.10139d00
lea eax, [ebx + edi]
add esp, 0xc
mov ebx, dword [ebp + 0x10]
mov dword [esi + 0x2c], eax
cmp ebx, dword [esi + 0x20]
jle 0x100ef868
mov edi, dword [esi + 0x24]
call fcn.100d6670
test eax, eax
jne 0x100ef40c
mov ecx, 2
mov eax, ebx
imul ecx
mov ecx, edi
push edx
push eax
call fcn.10026c10
add esp, 8
test eax, eax
je 0x100ef40c
lea ecx, [ebx + ebx]
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov dword [esi + 0x18], eax
push ebx
push dword [ebp + 0xc]
push dword [esi + 0x18]
call fcn.10139d00
add esp, 0xc
mov dword [esi + 0x1c], ebx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, 0x10b
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret