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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0xa0
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 0x1c]
mov dword [esp + 0x60], ebx
mov ebx, dword [ebp + 0x10]
mov dword [esp + 0x70], ecx
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x84], eax
mov eax, edx
lea edx, [esi + esi]
mov edi, dword [ebp + 0x18]
mov dword [esp + 0x34], ebx
mov ebx, dword [ebp + 0x14]
mov dword [esp + 0x54], esi
mov dword [esp + 0x80], ecx
cmp edx, eax
je 0x10008973
pxor xmm2, xmm2
pxor xmm0, xmm0
pxor xmm1, xmm1
movq xmm3, qword [0x10025260]
cvtsi2ss xmm0, dword [esp + 0x34]
pxor xmm5, xmm5
movsd xmm4, qword [0x10025258]
cvtsi2ss xmm2, dword [esp + 0x38]
movupd xmm6, xmm3
cvtsi2ss xmm1, eax
divss xmm2, xmm0
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [esp + 0x54]
divss xmm1, xmm0
cvtss2sd xmm5, xmm2
movupd xmm0, xmm5
andpd xmm0, xmm3
ucomisd xmm4, xmm0
ja 0x100089e2
cvttsd2si eax, xmm5
pxor xmm0, xmm0
movups xmm7, xmm2
pxor xmm5, xmm5
cvtss2sd xmm5, xmm1
cvtsi2ss xmm0, eax
mov dword [esp + 0x24], eax
subss xmm7, xmm0
movupd xmm0, xmm5
andpd xmm0, xmm3
ucomisd xmm4, xmm0
movss dword [esp + 0x20], xmm7
ja 0x100089b0
cvttsd2si eax, xmm5
pxor xmm0, xmm0
movups xmm7, xmm1
mov edx, dword [esp + 0x34]
movups xmm5, xmm2
mulss xmm5, xmm1
cvtsi2ss xmm0, eax
mov dword [esp + 0x48], eax
subss xmm7, xmm0
movss dword [esp + 0x44], xmm7
test edx, edx
jle 0x1000896b
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x1c], ebx
pxor xmm6, xmm6
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x3c], 0
imul esi, eax
movss xmm1, dword [esp + 0x20]
mov dword [esp + 0x2c], 0
movss xmm7, dword [0x100251e4]
sub ebx, 1
mov dword [esp + 8], ebx
mov ebx, edi
mov dword [esp + 0x18], esi
lea esi, [esp + eax*4 + 0x90]
imul eax, edi
mov edi, esi
mov esi, ebx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x38], eax
cmovle eax, dword [esp + 8]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x54]
test eax, eax
jle 0x100088e2
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x68], 0
pxor xmm3, xmm3
mov dword [esp + 0x64], 0
movss xmm0, dword [esp + 0x44]
mov eax, ebx
lea edx, [ebx + 1]
imul eax, ecx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x30], eax
add eax, ecx
add eax, dword [esp + 0x80]
mov dword [esp + 0x28], eax
mov eax, ecx
imul eax, edx
cmp edx, ebx
not ebx
setg byte [esp + 0xf]
mov dword [esp + 0x14], eax
mov eax, ebx
add eax, edx
imul eax, ecx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x68]
pxor xmm4, xmm4
mov ecx, dword [esp + 0x30]
movups xmmword [esp + 0x90], xmm4
imul eax, ebx
add ecx, eax
add ecx, dword [esp + 0x60]
mov dword [esp + 0x58], eax
mov dword [esp + 0x8c], ecx
cmp ebx, dword [esp + 0x88]
jge 0x10008200
cmp byte [esp + 0xf], 0
jne 0x100084f4
mov ebx, dword [esp + 0x3c]
cmp dword [esp + 0x74], ebx
jg 0x100087e0
movups xmm2, xmm1
mov ebx, dword [esp + 0x88]
subss xmm2, xmm6
cmp dword [esp + 0x68], ebx
jge 0x100084a2
movups xmm4, xmm7
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
lea edx, [esp + 0x90]
subss xmm4, xmm3
mulss xmm4, xmm2
test eax, eax
jle 0x1000826c
movsx eax, byte [ecx]
pxor xmm3, xmm3
add edx, 4
add ecx, esi
cvtsi2ss xmm3, eax
mulss xmm3, xmm4
addss xmm3, dword [edx - 4]
movss dword [edx - 4], xmm3
cmp edx, edi
jne 0x1000824a
mov eax, dword [esp + 0x68]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x7c], eax
cmp ebx, dword [esp + 0x88]
jge 0x100082fb
mov ecx, dword [esp + 0x80]
add dword [esp + 0x7c], ecx
lea edx, [esp + 0x90]
mov eax, dword [esp + 0x7c]
mov ecx, eax
mov eax, dword [esp + 0x84]
test eax, eax
jle 0x100082d2
lea esi, [esi]
movsx eax, byte [ecx]
pxor xmm3, xmm3
add edx, 4
add ecx, esi
cvtsi2ss xmm3, eax
mulss xmm3, xmm2
addss xmm3, dword [edx - 4]
movss dword [edx - 4], xmm3
cmp edx, edi
jne 0x100082b0
add ebx, 1
cmp ebx, dword [esp + 0x88]
jne 0x10008287
mov eax, dword [esp + 0x88]
sub eax, 1
sub eax, dword [esp + 0x68]
imul eax, dword [esp + 0x80]
add dword [esp + 0x8c], eax
mov ebx, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
mulss xmm2, xmm0
add ecx, dword [esp + 0x80]
test ebx, ebx
jle 0x1000892a
lea edx, [esp + 0x90]
movsx eax, byte [ecx]
pxor xmm3, xmm3
add edx, 4
add ecx, esi
cvtsi2ss xmm3, eax
mulss xmm3, xmm2
addss xmm3, dword [edx - 4]
movss dword [edx - 4], xmm3
cmp edx, edi
jne 0x10008323
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x28]
add eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x78], eax
cmp dword [esp + 0x5c], ebx
jge 0x1000841e
mov eax, dword [esp + 0x68]
add eax, 1
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x7c], eax
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x78]
mov ebx, eax
mov dword [esp + 0x8c], ecx
cmp dword [esp + 0x88], eax
jle 0x100083f8
lea esi, [esi]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
lea edx, [esp + 0x90]
test eax, eax
jle 0x100083de
lea esi, [esi]
movsx eax, byte [ecx]
pxor xmm2, xmm2
add edx, 4
add ecx, esi
cvtsi2ss xmm2, eax
addss xmm2, dword [edx - 4]
movss dword [edx - 4], xmm2
cmp edx, edi
jne 0x100083c0
mov ecx, dword [esp + 0x80]
add ebx, 1
add dword [esp + 0x8c], ecx
cmp ebx, dword [esp + 0x88]
jne 0x100083a0
add dword [esp + 0x7c], 1
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x7c]
add dword [esp + 0x78], ebx
cmp dword [esp + 0x74], eax
jg 0x10008380
mov ecx, dword [esp + 0x84]
test ecx, ecx
jle 0x10008446
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x84]
xor edx, edx
movss xmm2, dword [esp + edx*4 + 0x90]
divss xmm2, xmm5
cvttss2si eax, xmm2
mov byte [ecx + edx], al
add edx, 1
cmp ebx, edx
jne 0x1000842b
movss xmm2, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x88]
addss xmm2, xmm0
comiss xmm2, xmm7
jbe 0x10008467
subss xmm2, xmm7
add eax, 1
mov ecx, dword [esp + 0x88]
add dword [esp + 0x64], 1
movups xmm3, xmm0
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x64]
add dword [esp + 0x4c], edx
mov dword [esp + 0x68], ecx
cmp dword [esp + 0x54], ebx
je 0x100088e2
mov dword [esp + 0x88], eax
movups xmm0, xmm2
jmp 0x100081bd
movups xmm4, xmm0
mov edx, dword [esp + 0x84]
subss xmm4, xmm3
movups xmm3, xmm4
mulss xmm3, xmm2
test edx, edx
jle 0x1000892a
mov ecx, dword [esp + 0x8c]
lea edx, [esp + 0x90]
movsx eax, byte [ecx]
pxor xmm2, xmm2
add edx, 4
add ecx, esi
cvtsi2ss xmm2, eax
mulss xmm2, xmm3
addss xmm2, dword [edx - 4]
movss dword [edx - 4], xmm2
cmp edi, edx
jne 0x100084cd
jmp 0x10008345
movups xmm2, xmm7
movups xmm4, xmm7
mov eax, dword [esp + 0x84]
lea edx, [esp + 0x90]
subss xmm4, xmm3
subss xmm2, xmm6
movups xmm3, xmm4
mulss xmm4, xmm2
movss dword [esp + 0x7c], xmm4
test eax, eax
jle 0x10008545
movsx eax, byte [ecx]
pxor xmm4, xmm4
add edx, 4
add ecx, esi
cvtsi2ss xmm4, eax
mulss xmm4, dword [esp + 0x7c]
addss xmm4, dword [edx - 4]
movss dword [edx - 4], xmm4
cmp edx, edi
jne 0x10008521
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x8c]
add eax, 1
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x6c], eax
mov ebx, eax
cmp eax, dword [esp + 0x88]
jge 0x10008964
mov ecx, dword [esp + 0x80]
add dword [esp + 0x7c], ecx
lea edx, [esp + 0x90]
mov eax, dword [esp + 0x7c]
mov ecx, eax
mov eax, dword [esp + 0x84]
test eax, eax
jle 0x100085b2
lea esi, [esi]
movsx eax, byte [ecx]
pxor xmm4, xmm4
add edx, 4
add ecx, esi
cvtsi2ss xmm4, eax
mulss xmm4, xmm2
addss xmm4, dword [edx - 4]
movss dword [edx - 4], xmm4
cmp edx, edi
jne 0x10008590
add ebx, 1
cmp ebx, dword [esp + 0x88]
jne 0x1000856a
mov eax, dword [esp + 0x88]
sub eax, 1
sub eax, dword [esp + 0x68]
imul eax, dword [esp + 0x80]
add eax, dword [esp + 0x8c]
add eax, dword [esp + 0x80]
lea edx, [esp + 0x90]
mov dword [esp + 0x7c], eax
mulss xmm2, xmm0
mov ecx, eax
mov eax, dword [esp + 0x14]
add eax, dword [esp + 0x58]
add eax, dword [esp + 0x60]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x84]
test eax, eax
jle 0x10008664
movsx eax, byte [ecx]
pxor xmm4, xmm4
add edx, 4
add ecx, esi
cvtsi2ss xmm4, eax
mulss xmm4, xmm2
addss xmm4, dword [edx - 4]
movss dword [edx - 4], xmm4
cmp edx, edi
jne 0x1000860e
movups xmm4, xmm3
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x90]
mulss xmm4, xmm1
movsx eax, byte [ecx]
pxor xmm2, xmm2
add edx, 4
add ecx, esi
cvtsi2ss xmm2, eax
mulss xmm2, xmm4
addss xmm2, dword [edx - 4]
movss dword [edx - 4], xmm2
cmp edx, edi
jne 0x10008642
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x88]
mov ebx, eax
cmp eax, ecx
jge 0x100086e8
mov ecx, dword [esp + 0x80]
add dword [esp + 0x78], ecx
lea edx, [esp + 0x90]
mov eax, dword [esp + 0x78]
mov ecx, eax
mov eax, dword [esp + 0x84]
test eax, eax
jle 0x100086c2
movsx eax, byte [ecx]
pxor xmm2, xmm2
add edx, 4
add ecx, esi
cvtsi2ss xmm2, eax
mulss xmm2, xmm1
addss xmm2, dword [edx - 4]
movss dword [edx - 4], xmm2
cmp edx, edi
jne 0x100086a0
add ebx, 1
cmp ebx, dword [esp + 0x88]
jne 0x1000867d
mov eax, dword [esp + 0x88]
sub eax, 1
sub eax, dword [esp + 0x68]
imul eax, dword [esp + 0x80]
add dword [esp + 0x40], eax
mov ebx, dword [esp + 0x84]
movups xmm4, xmm0
mov ecx, dword [esp + 0x40]
mulss xmm4, xmm1
add ecx, dword [esp + 0x80]
test ebx, ebx
jle 0x1000894d
lea edx, [esp + 0x90]
movsx eax, byte [ecx]
pxor xmm2, xmm2
add edx, 4
add ecx, esi
cvtsi2ss xmm2, eax
mulss xmm2, xmm4
addss xmm2, dword [edx - 4]
movss dword [edx - 4], xmm2
cmp edx, edi
jne 0x10008710
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
cmp dword [esp + 0x74], eax
jle 0x1000841e
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x70]
add dword [esp + 0x8c], ebx
mov ecx, dword [esp + 0x8c]
add dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x7c]
test edx, edx
jle 0x100087b8
lea edx, [esp + 0x90]
mov ebx, eax
movsx eax, byte [ecx]
pxor xmm2, xmm2
pxor xmm4, xmm4
add edx, 4
add ecx, esi
cvtsi2ss xmm2, eax
movsx eax, byte [ebx]
add ebx, esi
cvtsi2ss xmm4, eax
mulss xmm2, xmm3
mulss xmm4, xmm0
addss xmm2, xmm4
addss xmm2, dword [edx - 4]
movss dword [edx - 4], xmm2
cmp edx, edi
jne 0x10008772
mov ebx, dword [esp + 0x50]
add dword [esp + 0x8c], ebx
add dword [esp + 0x7c], ebx
add dword [esp + 0x78], 1
mov eax, dword [esp + 0x78]
cmp dword [esp + 0x74], eax
jne 0x10008744
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x28]
add eax, dword [esp + 0x60]
mov dword [esp + 0x78], eax
jmp 0x1000836e
movups xmm2, xmm0
movups xmm4, xmm7
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
subss xmm2, xmm3
subss xmm4, xmm6
lea edx, [esp + 0x90]
mulss xmm4, xmm2
test eax, eax
jle 0x1000882d
movsx eax, byte [ecx]
pxor xmm3, xmm3
add edx, 4
add ecx, esi
cvtsi2ss xmm3, eax
mulss xmm3, xmm4
addss xmm3, dword [edx - 4]
movss dword [edx - 4], xmm3
cmp edx, edi
jne 0x1000880b
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x8c]
mov ebx, eax
mov dword [esp + 0x7c], ecx
cmp dword [esp + 0x74], eax
jle 0x1000889a
mov ecx, dword [esp + 0x70]
add dword [esp + 0x7c], ecx
lea edx, [esp + 0x90]
mov eax, dword [esp + 0x7c]
mov ecx, eax
mov eax, dword [esp + 0x84]
test eax, eax
jle 0x10008886
movsx eax, byte [ecx]
pxor xmm3, xmm3
add edx, 4
add ecx, esi
cvtsi2ss xmm3, eax
mulss xmm3, xmm2
addss xmm3, dword [edx - 4]
movss dword [edx - 4], xmm3
cmp edx, edi
jne 0x10008864
add ebx, 1
cmp dword [esp + 0x74], ebx
jne 0x10008844
mov ebx, dword [esp + 0x10]
add dword [esp + 0x8c], ebx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
mulss xmm2, xmm1
add ecx, dword [esp + 0x70]
test eax, eax
jle 0x1000892a
lea edx, [esp + 0x90]
movsx eax, byte [ecx]
pxor xmm3, xmm3
add edx, 4
add ecx, esi
cvtsi2ss xmm3, eax
mulss xmm3, xmm2
addss xmm3, dword [edx - 4]
movss dword [edx - 4], xmm3
cmp edx, edi
jne 0x100088bb
jmp 0x10008345
movss xmm0, dword [esp + 0x20]
mov eax, dword [esp + 0x74]
add eax, dword [esp + 0x24]
addss xmm0, xmm1
comiss xmm0, xmm7
jbe 0x10008900
subss xmm0, xmm7
add eax, 1
add dword [esp + 0x2c], 1
mov edx, dword [esp + 0x18]
movups xmm6, xmm1
add dword [esp + 0x1c], edx
mov ebx, dword [esp + 0x2c]
cmp dword [esp + 0x34], ebx
je 0x1000896b
mov ebx, dword [esp + 0x74]
movups xmm1, xmm0
mov dword [esp + 0x3c], ebx
jmp 0x10008131
mov eax, dword [esp + 0x58]
add eax, dword [esp + 0x28]
add eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x78], eax
cmp dword [esp + 0x5c], ebx
jl 0x10008363
jmp 0x10008446
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x78], eax
cmp dword [esp + 0x74], eax
jg 0x10008744
jmp 0x10008446
mov eax, ecx
jmp 0x100085db
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [esp + 0x34]
lea ecx, [esi + esi]
cmp ecx, dword [esp + 0x38]
jne 0x10008013
mov eax, dword [esp + 0x80]
mov dword [ebp + 0x10], edi
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x70]
mov dword [ebp + 0x14], eax
mov eax, dword [esp + 0x84]
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
jmp sym._halveImage_byte
addsd xmm0, xmm4
andnpd xmm3, xmm5
movsd xmm7, qword [0x10025270]
subsd xmm0, xmm4
orpd xmm0, xmm3
movupd xmm3, xmm0
cmpnlesd xmm3, xmm5
movupd xmm5, xmm0
andpd xmm3, xmm7
subsd xmm5, xmm3
jmp 0x100080a6
addsd xmm0, xmm4
andnpd xmm6, xmm5
subsd xmm0, xmm4
orpd xmm0, xmm6
movupd xmm7, xmm0
cmpnlesd xmm7, xmm5
movupd xmm5, xmm7
movsd xmm7, qword [0x10025270]
andpd xmm5, xmm7
subsd xmm0, xmm5
movupd xmm5, xmm0
jmp 0x1000806f