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

Disassembly:
push ebp
xor edx, edx
push edi
push esi
push ebx
sub esp, 0x4c
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x70]
mov ebp, dword [esp + 0x78]
mov ebx, dword [esp + 0x64]
mov eax, dword [edi]
mov ecx, dword [edi + 0x10]
mov dword [esp + 0x30], eax
imul eax, dword [esp + 0x74]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x80]
lea eax, [esi + eax - 1]
div esi
mov esi, dword [edi + 4]
xor edx, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x7c]
imul eax, esi
lea eax, [ebp + eax - 1]
div ebp
movzx edx, byte [esp + 0x6c]
mov dword [esp + 0x3c], edx
mov ebp, eax
mov eax, dword [edi + 0x34]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], ebp
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], edx
mov ecx, dword [ebx + 0x10]
mov edx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov ecx, dword [ebx + 0x34]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x30]
call fcn.700bdd70
mov ecx, dword [ebx]
cmp dword [esp + 0x38], ecx
jge 0x700be5b0
test ebp, ebp
jle 0x700be5b0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x60], edi
lea esi, [eax - 1]
mov edi, eax
mov dword [esp + 0x30], esi
xor esi, esi
jmp 0x700be579
mov ecx, dword [ebx]
mov edx, dword [ebx + 0x10]
sub ecx, edi
mov eax, dword [ebx + 0x34]
add ecx, 1
mov dword [esp + 8], ecx
imul edx, esi
add esi, 1
lea ecx, [eax + edi]
movzx ecx, byte [edx + ecx - 2]
add edx, dword [esp + 0x30]
add edx, eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.6fef7ef0
cmp ebp, esi
jne 0x700be577
mov edi, dword [esp + 0x60]
mov eax, dword [ebx + 4]
cmp ebp, eax
jge 0x700be607
lea esi, [ebp - 1]
cmp eax, esi
jle 0x700be607
lea eax, [ebp - 2]
mov dword [esp + 0x60], edi
mov edi, eax
mov dword [esp + 0x30], ebp
nop
lea esi, [esi]
mov edx, dword [ebx + 0x10]
mov ecx, esi
add esi, 1
mov eax, dword [ebx + 0x34]
mov ebp, dword [ebx]
imul ecx, edx
imul edx, edi
add ebp, 1
mov dword [esp + 8], ebp
add ecx, eax
add edx, eax
mov dword [esp + 4], edx
mov dword [esp], ecx
call sub.msvcrt.dll_memcpy
cmp dword [ebx + 4], esi
jg 0x700be5d0
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov eax, ebp
shr eax, 0x1f
mov ecx, dword [edi + 0x14]
add eax, ebp
mov edx, dword [edi + 0x24]
mov dword [esp + 0x30], eax
mov eax, esi
shr eax, 0x1f
lea ebp, [eax + esi]
mov esi, dword [esp + 0x80]
mov eax, dword [edi + 0x38]
sar ebp, 1
sar dword [esp + 0x30], 1
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov esi, dword [ebx + 0x24]
mov dword [esp + 8], esi
mov esi, dword [ebx + 0x38]
mov dword [esp + 4], esi
mov esi, dword [edi + 0x18]
mov dword [esp], esi
call fcn.700bdd70
mov ecx, dword [ebx + 0x14]
cmp ebp, ecx
jge 0x700be890
mov eax, dword [ebx + 0x18]
test eax, eax
jle 0x700be6f0
mov eax, ebp
lea esi, [ebp - 1]
neg eax
mov dword [esp + 0x34], esi
xor esi, esi
mov dword [esp + 0x60], edi
mov edi, eax
jmp 0x700be6b7
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x24]
lea ecx, [ecx + edi + 1]
mov eax, dword [ebx + 0x38]
mov dword [esp + 8], ecx
imul edx, esi
add esi, 1
lea ecx, [eax + ebp]
movzx ecx, byte [edx + ecx - 2]
add edx, dword [esp + 0x34]
add edx, eax
mov dword [esp + 4], ecx
mov dword [esp], edx
call fcn.6fef7ef0
mov eax, dword [ebx + 0x18]
cmp eax, esi
jg 0x700be6b4
mov edi, dword [esp + 0x60]
cmp dword [esp + 0x30], eax
jge 0x700be754
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x30]
mov edx, eax
shr edx, 0x1f
add eax, edx
lea esi, [ecx - 1]
sar eax, 1
cmp esi, eax
jge 0x700be754
mov eax, ecx
sub eax, 2
mov dword [esp + 0x60], edi
mov edi, eax
mov edx, dword [ebx + 0x24]
mov ecx, esi
add esi, 1
mov eax, dword [ebx + 0x38]
imul ecx, edx
imul edx, edi
add ecx, eax
add edx, eax
mov eax, dword [ebx + 0x14]
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
cmp eax, esi
jg 0x700be718
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x80]
mov ecx, dword [edi + 0x14]
mov edx, dword [edi + 0x24]
mov eax, dword [edi + 0x3c]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x78]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x74]
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x70]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov esi, dword [ebx + 0x24]
mov dword [esp + 8], esi
mov esi, dword [ebx + 0x3c]
mov dword [esp + 4], esi
mov esi, dword [edi + 0x18]
mov dword [esp], esi
call fcn.700bdd70
mov ecx, dword [ebx + 0x14]
cmp ebp, ecx
jge 0x700be886
mov eax, dword [ebx + 0x18]
test eax, eax
jle 0x700be828
mov eax, dword [esp + 0x38]
xor esi, esi
mov edi, eax
shr edi, 0x1f
add edi, eax
sar edi, 1
lea eax, [ebp - 1]
neg edi
mov dword [esp + 0x34], eax
jmp 0x700be7f3
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x24]
lea ecx, [ecx + edi + 1]
mov eax, dword [ebx + 0x3c]
mov dword [esp + 8], ecx
imul edx, esi
add esi, 1
lea ecx, [eax + ebp]
movzx ecx, byte [edx + ecx - 2]
add edx, dword [esp + 0x34]
add eax, edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.6fef7ef0
mov eax, dword [ebx + 0x18]
cmp eax, esi
jg 0x700be7f0
mov edi, dword [esp + 0x30]
cmp edi, eax
jge 0x700be87e
mov eax, dword [ebx + 4]
lea esi, [edi - 1]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
cmp esi, eax
jge 0x700be87e
sub edi, 2
mov edx, dword [ebx + 0x24]
mov ecx, esi
add esi, 1
mov eax, dword [ebx + 0x3c]
imul ecx, edx
imul edx, edi
add ecx, eax
add eax, edx
mov edx, dword [ebx + 0x14]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx + 4]
mov edx, eax
shr edx, 0x1f
add eax, edx
sar eax, 1
cmp eax, esi
jg 0x700be846
add esp, 0x4c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x18]
jmp 0x700be828
mov eax, dword [ebx + 0x18]
jmp 0x700be6f0