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

Disassembly:
sub esp, 0x5c
call fcn.1000f2e0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
cmp eax, ecx
mov dword [esp + 4], eax
jge 0x1000f2b4
push edi
mov edi, dword [esp + 0x28]
push esi
mov esi, dword [esp + 0x24]
push ebp
mov ebp, dword [esp + 0x34]
push ebx
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
cmp eax, ecx
mov dword [esp + 0x10], eax
jge 0x1000f296
mov eax, dword [esp + 0x74]
test eax, eax
jle 0x1000f09e
lea ecx, [esp + 0x2c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x14]
mov esi, dword [ecx]
mov ebp, dword [ecx + 4]
mov edx, dword [esp + 0x10]
add edi, esi
add ebp, edx
cmp edi, 0xff
mov eax, 0xff
jg 0x1000efba
mov eax, edi
test eax, eax
jge 0x1000efc2
xor edi, edi
jmp 0x1000efcf
cmp edi, 0xff
jle 0x1000efcf
mov edi, 0xff
cmp ebp, 0xff
mov eax, 0xff
jg 0x1000efde
mov eax, ebp
test eax, eax
jge 0x1000efe6
xor ebp, ebp
jmp 0x1000eff3
cmp ebp, 0xff
jle 0x1000eff3
mov ebp, 0xff
mov eax, dword [esp + 0x7c]
xor esi, esi
cmp eax, esi
mov ebx, 0xfe02
mov dword [esp + 0x18], esi
jle 0x1000f05a
mov dword [esp + 0x1c], 0x100a32b8
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov eax, dword [edx]
lea edx, [ecx + eax*8]
mov eax, edi
mov ecx, dword [edx]
sub eax, ecx
mov ecx, ebp
sub ecx, dword [edx + 4]
imul eax, eax
mov edx, ecx
imul edx, ecx
add eax, edx
cmp eax, ebx
jge 0x1000f03a
mov esi, dword [esp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jl 0x1000f00e
mov ecx, dword [esp + 0x20]
imul esi, dword [esp + 0x94]
mov edi, dword [esp + 0x90]
mov eax, dword [esp + 0x24]
add esi, edi
add ecx, 8
mov dword [eax], esi
add eax, 4
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x28]
dec eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
jne 0x1000ef9a
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x8c]
mov edx, dword [esp + 0x84]
sub eax, edx
cdq
and edx, 3
add eax, edx
mov edx, dword [esp + 0x80]
mov ecx, eax
mov eax, dword [esp + 0x14]
sub eax, edx
cdq
and edx, 3
add eax, edx
mov edx, dword [esp + 0x84]
sar ecx, 2
sar eax, 2
imul ecx, eax
mov eax, dword [esp + 0x10]
sub eax, edx
cdq
and edx, 3
add eax, edx
sar eax, 2
add ecx, eax
mov eax, dword [esp + 0x98]
shl ecx, 4
add ecx, eax
mov eax, dword [esp + 0x74]
dec eax
cmp eax, 0xf
ja case.0x1000f10c.5
xor edx, edx
mov dl, byte [eax + 0x1000f2cc]
jmp dword [edx*4 + 0x1000f2b8]
mov eax, esi
add ecx, 4
shl eax, 8
or eax, esi
mov edx, eax
shl edx, 0x10
or eax, edx
mov dword [ecx - 4], eax
mov dword [ecx], eax
add ecx, 4
mov dword [ecx], eax
mov dword [ecx + 4], eax
jmp case.0x1000f10c.5
mov eax, esi
mov edx, edi
shl eax, 8
or eax, ebx
add ecx, 4
shl eax, 8
shl edx, 8
or eax, edi
or edx, ebp
shl eax, 8
shl edx, 8
or eax, ebp
or edx, esi
mov dword [ecx - 4], eax
mov eax, ebx
shl edx, 8
or edx, ebx
mov dword [ecx], edx
mov edx, ebp
shl eax, 8
or eax, esi
add ecx, 4
shl edx, 8
shl eax, 8
or edx, edi
or eax, ebp
shl edx, 8
shl eax, 8
or edx, ebx
or eax, edi
shl edx, 8
mov dword [ecx], eax
or edx, esi
jmp 0x1000f279
mov edx, dword [esp + 0x3c]
mov eax, esi
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x40]
shl eax, 8
or eax, ebx
add ecx, 4
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x44]
shl edx, 8
or edx, edi
mov dword [ecx - 4], eax
mov eax, dword [esp + 0x48]
add ecx, 4
shl edx, 8
or edx, eax
mov eax, ebx
shl edx, 8
or edx, ebp
mov dword [ecx - 4], edx
mov edx, dword [esp + 0x40]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x3c]
shl eax, 8
or eax, esi
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x48]
shl edx, 8
or edx, ebp
mov dword [ecx], eax
mov eax, dword [esp + 0x44]
shl edx, 8
or edx, eax
shl edx, 8
or edx, edi
jmp 0x1000f279
mov edx, dword [esp + 0x54]
mov eax, esi
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x4c]
shl eax, 8
or eax, edi
add ecx, 4
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x64]
mov dword [ecx - 4], eax
mov eax, dword [esp + 0x3c]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x5c]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x44]
shl edx, 8
or edx, eax
mov eax, ebp
mov dword [ecx], edx
mov edx, dword [esp + 0x50]
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x58]
shl eax, 8
or eax, ebx
add ecx, 4
shl eax, 8
or eax, edx
mov edx, dword [esp + 0x60]
mov dword [ecx], eax
mov eax, dword [esp + 0x48]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x68]
shl edx, 8
or edx, eax
mov eax, dword [esp + 0x40]
shl edx, 8
or edx, eax
mov dword [ecx + 4], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x1000ef7a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x88]
add eax, 4
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x1000ef60
pop ebx
pop ebp
pop esi
pop edi
add esp, 0x5c
ret