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

Disassembly:
sub esp, 0x50
push ebx
mov ebx, dword [esp + 0x60]
push ebp
mov ebp, dword [esp + 0x60]
push esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov edx, esi
sub edx, ebx
mov dword [esp + 0x34], ecx
sar edx, 2
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebp
push edi
mov edi, dword [esp + 0x74]
mov dword [esp + 0x1c], edi
test edx, edx
jle 0x100e1c2f
mov eax, edi
mov ecx, 0x7fffffff
sub eax, ebp
cmp edx, ecx
cmovl ecx, edx
cmp eax, ecx
cmovl ecx, eax
jmp 0x100e1c38
mov ecx, edi
sub ecx, ebp
cmp ecx, edx
cmovl ecx, edx
mov eax, ecx
lea ecx, [esi - 4]
cdq
sub eax, edx
mov dword [esp + 0x50], ecx
sar eax, 1
lea edx, [ebx + eax*4]
add eax, ebp
mov dword [esp + 0x58], eax
lea eax, [edi - 1]
mov dword [esp + 0x5c], edx
mov edx, dword [edx]
push edx
push dword [ebx]
mov dword [esp + 0x54], eax
mov eax, dword [ecx]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], eax
call fcn.100d8600
mov ecx, dword [esp + 0x10]
push dword [esp + 0x14]
test al, al
je 0x100e1ca6
push dword [esp + 0x2c]
call fcn.100d8600
test al, al
je 0x100e1c91
lea ecx, [esp + 0x54]
jmp 0x100e1cd5
push dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
push dword [ebx]
call fcn.100d8600
lea edx, [esp + 0x64]
jmp 0x100e1ccc
push dword [ebx]
call fcn.100d8600
test al, al
je 0x100e1cb7
lea ecx, [esp + 0x64]
jmp 0x100e1cd5
push dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
push dword [esp + 0x2c]
call fcn.100d8600
lea edx, [esp + 0x54]
test al, al
lea ecx, [esp + 0x48]
cmove ecx, edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], eax
mov eax, dword [ecx + 8]
mov ecx, ebx
mov dword [esp + 0x30], eax
mov edx, eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x28], ecx
mov eax, dword [edx]
push eax
push dword [ecx]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], eax
call fcn.100d8600
test al, al
je 0x100e1d4f
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
mov ebx, dword [esp + 0x28]
mov ecx, edi
mov ebp, dword [esp + 0x24]
add ebx, 4
inc ebp
mov dword [esp + 0x6c], ebx
push esi
mov dword [esp + 0x6c], ebp
push dword [ebx]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], ebx
call fcn.100d8600
test al, al
jne 0x100e1d15
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
sub esi, 4
dec edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x74], edi
push dword [esi]
push dword [esp + 0x18]
call fcn.100d8600
test al, al
je 0x100e1d98
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
sub esi, 4
dec edi
mov dword [esp + 0x78], esi
mov ecx, ebp
mov dword [esp + 0x74], edi
push dword [esi]
push ebx
call fcn.100d8600
test al, al
jne 0x100e1d76
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov edx, esi
sub edx, ebx
sar edx, 2
test edx, edx
jle 0x100e1db8
mov eax, edi
mov ecx, 0x7fffffff
sub eax, ebp
cmp edx, ecx
cmovl ecx, edx
cmp eax, ecx
cmovl ecx, eax
jmp 0x100e1dc1
mov ecx, edi
sub ecx, ebp
cmp ecx, edx
cmovl ecx, edx
test ecx, ecx
jle 0x100e1e70
mov ecx, dword [esi]
mov eax, dword [ebx]
mov edx, dword [esp + 0x34]
mov dword [ebx], ecx
mov dword [esi], eax
mov cl, byte [edi]
mov al, byte [ebp]
mov byte [ebp], cl
mov ecx, dword [esp + 0x30]
mov byte [edi], al
mov ebp, dword [esp + 0x68]
cmp edx, ebp
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x78]
sete al
mov edi, dword [esp + 0x74]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x1c], edi
cmp ecx, ebx
je 0x100e1e37
test al, al
jne 0x100e1e37
cmp edx, edi
sete al
cmp ecx, esi
je 0x100e1e26
test al, al
jne 0x100e1e26
xor cl, cl
lea eax, [esp + 0x64]
test cl, cl
lea edx, [esp + 0x3c]
cmove eax, edx
jmp 0x100e1e3b
mov cl, 1
lea eax, [esp + 0x64]
test cl, cl
lea edx, [esp + 0x3c]
cmove eax, edx
jmp 0x100e1e3b
lea eax, [esp + 0x70]
mov edx, dword [eax + 8]
add ebx, 4
inc ebp
mov dword [esp + 0x44], edx
mov eax, dword [eax + 4]
mov ecx, ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x28], ebx
jmp 0x100e1cf3
mov eax, dword [esp + 0x38]
pop edi
pop esi
mov dword [eax + 4], ebp
pop ebp
mov dword [eax + 8], ebx
pop ebx
add esp, 0x50
ret 0x1c