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

Disassembly:
sub esp, 0x40
push ebp
mov ebp, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x3f4]
mov dword [esp + 0x24], ecx
imul ecx, ecx, 0x4b0
push esi
push 1
push ecx
lea ecx, [eax + 0x564]
call fcn.1000b210
mov ecx, dword [ebp + 8]
push 1
mov esi, eax
push 0x960
add ecx, 0x55c
mov dword [esp + 0x2c], esi
call fcn.1000b210
test eax, eax
mov dword [esp + 0x40], eax
je 0x1000e8b7
test esi, esi
je 0x1000e8b7
mov eax, dword [esp + 0x74]
push eax
push 4
mov ecx, ebp
call fcn.10018c80
test eax, eax
mov dword [esp + 0x38], eax
jne 0x1000e5ba
pop esi
mov eax, 0x80004005
pop ebp
add esp, 0x40
ret 0x30
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x6f4]
add eax, dword [ecx + 0x6f0]
mov ecx, dword [esp + 0x54]
push ebx
push edi
push 1
add eax, ecx
push eax
xor ebx, ebx
push 4
mov dword [esp + 0x20], 0xffffffff
mov dword [esp + 0x1c], ebx
call fcn.10018ee0
mov ecx, dword [ebp + 8]
add eax, eax
add esp, 8
add eax, eax
push eax
add ecx, 0x6bc
call fcn.1000b210
mov edx, dword [esp + 0x74]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x6c]
neg edx
lea ecx, [eax + edx*2]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
add eax, dword [esi]
mov edi, dword [esp + 0x64]
lea ecx, [eax + edi]
sub eax, edi
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x68]
add eax, ecx
mov dword [esp + 0x1c], eax
mov eax, ecx
sub eax, edi
xor edx, edx
div dword [esp + 0x30]
xor ecx, ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x24], ecx
add eax, dword [esp + 0x74]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [eax + 0x6ec], ecx
mov edx, dword [esi + 0xc]
cmp dword [edx + 0x24], 1
mov dword [esp + 0x28], eax
sete al
cmp dword [esp + 0x58], ecx
mov byte [esp + 0x38], al
jbe 0x1000e881
jmp 0x1000e686
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x54]
mov eax, dword [edx]
mov edi, dword [edx + 4]
mov ebx, dword [edx + 8]
mov edx, ecx
and ecx, 0x1f
shr edx, 5
mov esi, 1
shl esi, cl
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x6cc]
add edx, edx
add edx, edx
test dword [edx + ecx], esi
jne 0x1000e85b
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x6d8]
test dword [edx + ecx], esi
jne 0x1000e75b
mov ecx, dword [esp + 0x54]
mov esi, dword [ecx]
mov edx, dword [esp + 0x5c]
mov dword [edx], esi
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov ecx, dword [ecx + 8]
mov dword [edx + 8], ecx
mov edx, dword [esp + 0x14]
cmp edx, eax
mov esi, edx
jb 0x1000e6ef
mov esi, eax
cmp edi, ebx
mov ecx, edi
jb 0x1000e6f7
mov ecx, ebx
cmp esi, ecx
jae 0x1000e705
cmp edx, eax
jb 0x1000e711
mov dword [esp + 0x14], eax
jmp 0x1000e711
cmp edi, ebx
mov dword [esp + 0x14], edi
jb 0x1000e711
mov dword [esp + 0x14], ebx
mov esi, dword [esp + 0x10]
cmp esi, eax
mov edx, esi
ja 0x1000e71d
mov edx, eax
cmp edi, ebx
mov ecx, edi
ja 0x1000e725
mov ecx, ebx
cmp edx, ecx
jbe 0x1000e740
cmp esi, eax
ja 0x1000e74c
add dword [esp + 0x5c], 0xc
add dword [esp + 0x68], 1
mov dword [esp + 0x10], eax
jmp 0x1000e85b
cmp edi, ebx
mov dword [esp + 0x10], edi
ja 0x1000e74c
mov dword [esp + 0x10], ebx
add dword [esp + 0x5c], 0xc
add dword [esp + 0x68], 1
jmp 0x1000e85b
mov ecx, dword [esp + 0x6c]
movzx edx, word [ecx + edi*2]
movzx esi, word [ecx + ebx*2]
movzx ecx, word [ecx + eax*2]
or esi, edx
mov edx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0x78]
or esi, ecx
xor ecx, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x8c]
push ecx
push edx
push ebx
push edi
push eax
mov ecx, ebp
mov dword [esp + 0x6c], 4
call fcn.1000d690
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x2c]
mov eax, dword [edi]
mov edx, dword [eax + 4]
push 0
push ecx
mov ecx, edi
call edx
mov ebx, dword [esp + 0x48]
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x3c]
push edx
push eax
push ebx
push esi
mov ecx, edi
call fcn.1002b3d0
cmp eax, 3
jb 0x1000e85b
mov ecx, dword [esp + 0x18]
xor edx, edx
test ecx, ecx
jbe 0x1000e830
jmp 0x1000e800
movzx ecx, word [ebx + edx*2]
mov esi, dword [esp + 0x20]
add ecx, esi
cmp dword [esp + 0x14], ecx
mov esi, dword [esp + 0x5c]
mov dword [esi + edx*4], ecx
jb 0x1000e81b
mov dword [esp + 0x14], ecx
cmp dword [esp + 0x10], ecx
ja 0x1000e825
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x18]
add edx, 1
cmp edx, ecx
jb 0x1000e800
mov edx, dword [esp + 0x5c]
add dword [esp + 0x20], eax
lea ecx, [edx + ecx*4]
mov edx, eax
imul edx, dword [esp + 0x30]
add dword [esp + 0x1c], edx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x34]
add dword [esp + 0x68], ecx
mov ecx, dword [ebp + 8]
add dword [ecx + 0x6ec], eax
mov eax, dword [esp + 0x24]
add dword [esp + 0x54], 0xc
add eax, 1
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x24], eax
jb 0x1000e682
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x64]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x68]
mov esi, dword [esi]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
push 0
push edx
push 4
push eax
mov eax, dword [esp + 0x24]
push 0
sub ebx, eax
add ebx, 1
push ebx
push eax
add esi, edi
push esi
push 4
call fcn.10005ad0
pop edi
pop ebx
pop esi
pop ebp
add esp, 0x40
ret 0x30
pop esi
mov eax, 0x8007000e
pop ebp
add esp, 0x40
ret 0x30