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

Disassembly:
sub esp, 0x74
mov eax, dword [0x10077064]
xor eax, esp
mov dword [esp + 0x70], eax
cmp dword [esp + 0x88], 0
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
push ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x24], ecx
je 0x10046132
cmp dword [esp + 0x90], 0x10
jg 0x10046132
mov dword [eax], 4
mov eax, 1
mov dword [ecx], 1
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.10056b14
add esp, 0x74
ret
push ebp
push 0x400
push 0
push 0xd
call sym.libwebp.dll_WebPSafeCalloc
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x1004659f
mov edx, dword [esp + 0x88]
xor ecx, ecx
mov dword [esp + 0x14], ecx
push esi
mov esi, dword [ebx]
push edi
test edx, edx
jle 0x10046320
mov eax, dword [esp + 0x94]
shl eax, 2
mov dword [esp + 0x18], eax
mov eax, edx
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x24], eax
test edx, edx
jle 0x10046307
mov eax, ebx
mov dword [esp + 0x14], edx
sub eax, ecx
mov edi, ecx
mov dword [esp + 0x10], eax
nop dword [eax]
mov ebx, dword [eax + edi]
mov eax, esi
and eax, 0xff00ff00
mov dword [esp + 0x2c], ebx
mov edx, ebx
mov ecx, ebx
and edx, 0xff00
and ecx, 0xffff00ff
sub edx, eax
mov eax, esi
and eax, 0xff00ff
sub edx, 0xff01
sub ecx, eax
and esi, 0xff00ff00
mov eax, ebx
add ecx, 0xff00
and eax, 0xff00ff00
xor edx, ecx
sub eax, esi
and edx, 0xff00ff
add eax, 0xff00ff
mov esi, ebx
xor edx, eax
je 0x100462e2
cmp dword [esp + 0x1c], 0
je 0x1004620a
cmp ebx, dword [edi]
je 0x100462e2
mov eax, ebx
mov ecx, ebx
shr eax, 0x18
sar ecx, 8
inc dword [ebp + eax*4]
mov eax, ebx
shr eax, 0x10
movzx eax, al
inc dword [ebp + eax*4 + 0x1000]
mov eax, ebx
shr eax, 8
movzx eax, al
inc dword [ebp + eax*4 + 0x800]
movzx eax, bl
inc dword [ebp + eax*4 + 0x1800]
mov eax, edx
shr eax, 0x18
inc dword [ebp + eax*4 + 0x400]
mov eax, edx
shr eax, 0x10
movzx eax, al
inc dword [ebp + eax*4 + 0x1400]
mov eax, edx
shr eax, 8
movzx eax, al
inc dword [ebp + eax*4 + 0xc00]
movzx eax, dl
inc dword [ebp + eax*4 + 0x1c00]
mov eax, ebx
sar eax, 0x10
sub eax, ecx
movzx eax, al
inc dword [ebp + eax*4 + 0x2000]
mov eax, ebx
sub eax, ecx
mov ecx, edx
movzx eax, al
sar ecx, 8
inc dword [ebp + eax*4 + 0x2800]
mov eax, edx
sar eax, 0x10
sub edx, ecx
sub eax, ecx
movzx ecx, dl
movzx eax, al
inc dword [ebp + eax*4 + 0x2400]
mov eax, ebx
inc dword [ebp + ecx*4 + 0x2c00]
mov ecx, 0x39c5fba7
shr eax, 0x13
mul ecx
mov ebx, eax
mov ecx, edx
mov eax, dword [esp + 0x2c]
mov edx, 0x39c5fba7
mul edx
add ebx, eax
adc ecx, edx
shrd ebx, ecx, 0x18
movzx eax, bl
inc dword [ebp + eax*4 + 0x3000]
mov eax, dword [esp + 0x10]
add edi, 4
sub dword [esp + 0x14], 1
jne 0x100461a0
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov ecx, ebx
add ebx, edi
sub eax, 1
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
jne 0x10046186
xor ebx, ebx
mov edi, ebp
cmp dword [esp + 0x98], ebx
setne bl
inc dword [ebp + 0x2400]
inc dword [ebp + 0x2c00]
add ebx, 3
inc dword [ebp + 0x1400]
inc dword [ebp + 0xc00]
inc dword [ebp + 0x1c00]
inc dword [ebp + 0x400]
xor esi, esi
nop word [eax + eax]
push 0x100
push edi
call fcn.10038840
fstp dword [esp + esi*4 + 0x54]
inc esi
add esp, 8
add edi, 0x400
cmp esi, 0xd
jl 0x10046360
movss xmm0, dword [esp + 0x6c]
mov eax, 1
addss xmm0, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x90]
dec edx
shl eax, cl
dec esi
addss xmm0, dword [esp + 0x54]
add edx, eax
movss xmm1, dword [esp + 0x50]
addss xmm1, dword [esp + 0x60]
add eax, esi
shr edx, cl
shr eax, cl
xor ecx, ecx
addss xmm0, dword [esp + 0x74]
imul edx, eax
mov edi, ecx
addss xmm1, dword [esp + 0x58]
mov eax, dword [esp + 0x9c]
movss xmm5, dword [esp + 0x4c]
movss dword [esp + 0x3c], xmm0
addss xmm5, dword [esp + 0x5c]
addss xmm1, dword [esp + 0x68]
shl eax, 3
movd xmm0, edx
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
addss xmm5, dword [esp + 0x54]
addsd xmm0, qword [edx*8 + 0x100676d0]
lea edx, [ecx + 1]
addss xmm5, dword [esp + 0x64]
cvtpd2ps xmm4, xmm0
movss dword [esp + 0x34], xmm5
movaps xmm0, xmm4
mulss xmm4, dword [0x1006ab98]
mulss xmm0, dword [0x1006ab70]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x70]
addss xmm0, dword [esp + 0x50]
movss dword [esp + 0x38], xmm1
addss xmm0, dword [esp + 0x58]
addss xmm0, dword [esp + 0x78]
addss xmm0, xmm4
movss dword [esp + 0x40], xmm0
movd xmm0, eax
mov eax, dword [esp + 0x28]
cvtdq2ps xmm0, xmm0
mov dword [eax], 0
addss xmm0, dword [esp + 0x7c]
movss dword [esp + 0x44], xmm0
cmp dword [esp + 0x98], ecx
je 0x100464f2
lea eax, [esp + 0x3c]
mov dword [esp + 0x10], 4
mov esi, 0xc
mov ecx, edx
sub esi, eax
lea edx, [esp + 0x38]
mov eax, 4
add edx, eax
xor eax, eax
comiss xmm5, dword [edx - 4]
cmova eax, dword [esp + 0x10]
cmovbe ecx, edi
movss xmm0, dword [esp + eax + 0x34]
comiss xmm0, dword [edx]
jbe 0x100464ca
lea ecx, [edi + 2]
mov eax, 8
movss xmm0, dword [esp + eax + 0x34]
comiss xmm0, dword [edx + 4]
jbe 0x100464de
mov ecx, 3
lea eax, [esi + edx]
movss xmm0, dword [esp + eax + 0x34]
comiss xmm0, dword [edx + 8]
mov edx, 5
jbe 0x100464f2
lea ecx, [edx - 1]
cmp edx, ebx
ja 0x1004652d
lea edi, [edx*4]
lea esi, [ecx*4]
nop dword [eax]
nop dword [eax + eax]
movss xmm1, dword [esp + esi + 0x34]
mov eax, ecx
comiss xmm1, dword [esp + edi + 0x34]
mov ecx, edx
cmova esi, edi
cmovbe ecx, eax
inc edx
add edi, 4
cmp edx, ebx
jle 0x10046510
mov eax, dword [esp + 0x28]
mov esi, 1
mov ebx, dword [esp + 0x30]
mov dword [eax], ecx
mov dword [ebx], 1
mov eax, dword [eax]
movzx ecx, byte [eax*2 + 0x10069734]
movzx edi, byte [eax*2 + 0x10069735]
shl ecx, 0xa
add ecx, ebp
shl edi, 0xa
add edi, ebp
sub edi, ecx
lea edx, [ecx + 4]
mov eax, dword [edi + edx]
or eax, dword [edx]
jne 0x10046578
inc esi
add edx, 4
cmp esi, 0x100
jl 0x10046563
jmp 0x1004657e
mov dword [ebx], 0
push ebp
call sym.libwebp.dll_WebPFree
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.10056b14
add esp, 0x74
ret
mov ecx, dword [esp + 0x78]
xor eax, eax
pop ebp
pop ebx
xor ecx, esp
call fcn.10056b14
add esp, 0x74
ret