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

Disassembly:
sub esp, 0x1a4
mov eax, dword [0x10077064]
xor eax, esp
mov dword [esp + 0x1a0], eax
mov ecx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1b0]
mov edx, dword [esp + 0x1b4]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1c4]
mov ebp, ecx
push edi
mov edi, dword [esp + 0x1bc]
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x1d8]
mov dword [esp + 0xc4], eax
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1cc]
mov ebx, dword [ecx + 8]
push eax
push esi
mov dword [esp + 0x58], ecx
mov ecx, dword [ecx + 0xc]
push ecx
push ebx
push edx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x78], ecx
call fcn.1003b980
mov ecx, dword [esp + 0x64]
add esp, 0x14
mov dword [esp + 0x9c], eax
neg eax
sbb eax, eax
and eax, 4
mov dword [ecx], 0
mov dword [ecx + 4], eax
cmp ebx, 4
jl 0x1003bc63
cmp dword [esp + 0x64], 4
jge 0x1003bc6e
mov dword [esp + 0x1d4], 0
push ecx
call fcn.1003b5c0
add esp, 4
test eax, eax
je 0x1003d8d9
cmp dword [esp + 0x1d4], 0
je 0x1003bd2d
push dword [sym.libwebp.dll_VP8GetCPUInfo]
call fcn.1002d470
mov eax, dword [esp + 0x54]
push 0
mov esi, dword [eax + 0x20]
call fcn.1002d890
push eax
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x30]
push dword [eax + 0xc]
push dword [eax + 8]
push 8
push esi
push dword [eax + 0x18]
push esi
push dword [eax + 0x14]
mov esi, dword [esp + 0x54]
push dword [eax + 0x1c]
push dword [eax + 0x10]
push 8
push esi
push dword [esp + 0x200]
push ecx
push edi
push ebp
call fcn.1002d130
mov edi, dword [esp + 0x98]
add esp, 0x48
test eax, eax
jne 0x1003bcfc
push 1
push edi
call fcn.1004a620
add esp, 8
test eax, eax
je 0x1003d8d9
cmp dword [esp + 0x9c], 0
je 0x1003d8d2
push dword [edi + 0x28]
push dword [edi + 0x24]
push dword [esp + 0x6c]
push ebx
push esi
push dword [esp + 0x4c]
call dword [0x1007a4f0]
add esp, 0x18
mov eax, 1
jmp 0x1003d8db
xor ecx, ecx
lea eax, [ebx + 1]
sar eax, 1
cmp esi, 3
mov dword [esp + 0x90], eax
sete cl
shl eax, 2
cdq
push 2
push edx
push eax
mov dword [esp + 0x3c], ecx
call sym.libwebp.dll_WebPSafeMalloc
mov ecx, dword [esp + 0x5c]
mov esi, eax
movss xmm0, dword [esp + 0x1dc]
xor ebx, ebx
add esp, 0xc
mov dword [esp + 0x3c], esi
comiss xmm0, dword [0x10066a48]
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x54], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x74], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 0x24]
mov dword [esp + 0x68], eax
mov dword [esp + 0x98], ebx
jbe 0x1003bdc2
push ecx
lea eax, [esp + 0xcc]
movss dword [esp], xmm0
push eax
call fcn.1002b890
lea ebx, [esp + 0xd0]
mov dword [esp + 0x38], 0
add esp, 8
mov dword [esp + 0x98], ebx
call fcn.100239a0
mov eax, dword [0x10077048]
cmp eax, dword [sym.libwebp.dll_VP8GetCPUInfo]
je 0x1003be96
cmp dword [0x10079184], 0
jne 0x1003be8c
xor esi, esi
nop word [eax + eax]
movsd xmm1, qword [0x10068728]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10068718]
call fcn.10058dc0
mulsd xmm0, qword [0x10068740]
addsd xmm0, qword [0x100669d8]
cvttsd2si eax, xmm0
mov word [esi*2 + 0x10079188], ax
inc esi
cmp esi, 0xff
jle 0x1003bdf0
xor esi, esi
nop dword [eax]
nop dword [eax + eax]
movsd xmm1, qword [0x10068730]
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x10068720]
call fcn.10058dc0
mulsd xmm0, qword [0x10068738]
addsd xmm0, qword [0x100669d8]
cvttsd2si eax, xmm0
mov dword [esi*4 + 0x10079100], eax
inc esi
cmp esi, 0x20
jle 0x1003be40
mov esi, dword [esp + 0x3c]
mov dword [0x10079184], 1
mov eax, dword [sym.libwebp.dll_VP8GetCPUInfo]
mov dword [0x10077048], eax
test esi, esi
je 0x1003d8d9
mov eax, dword [esp + 0x64]
mov esi, 0x200
sar eax, 1
mov dword [esp + 0x48], eax
test eax, eax
jle 0x1003ce7b
mov ecx, dword [esp + 0x20]
mov eax, ecx
sar eax, 1
mov dword [esp + 0xa0], eax
mov eax, ecx
and eax, 1
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x2c]
lea edx, [eax + eax]
mov dword [esp + 0x84], edx
mov edx, eax
neg edx
add edx, edx
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x3c]
sub edx, ebp
mov dword [esp + 0x80], edx
mov edx, 4
sub edx, eax
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x24]
jmp 0x1003bf15
mov esi, 0x200
cmp dword [esp + 0x30], 0
je 0x1003bf8b
mov eax, dword [esp + 0xc0]
push ecx
push dword [esp + 0x58]
cmp eax, dword [esp + 0xcc]
jae 0x1003bf5d
push ebp
call dword [0x1007a1f8]
mov eax, dword [esp + 0x5c]
push dword [esp + 0x2c]
mov eax, dword [eax + 0x1c]
add eax, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x40]
add eax, ebp
push eax
call dword [0x1007a1f8]
add esp, 0x18
jmp 0x1003c1a4
push edx
call dword [0x1007a1f4]
mov eax, dword [esp + 0x5c]
push dword [esp + 0x2c]
mov eax, dword [eax + 0x1c]
add eax, dword [esp + 0x64]
push eax
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x38]
push eax
call dword [0x1007a1f4]
add esp, 0x18
jmp 0x1003c1a4
mov dword [esp + 0x14], 0
test ecx, ecx
jle 0x1003c1a8
mov ecx, dword [esp + 0x58]
mov eax, edx
mov esi, dword [esp + 0x54]
sub eax, edi
sub ecx, edi
mov dword [esp + 0x40], eax
mov ebp, edi
mov dword [esp + 0x78], ecx
movzx eax, byte [eax + ebp]
movzx edx, byte [ebp]
movzx ecx, byte [ecx + ebp]
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], ecx
test ebx, ebx
jne 0x1003bfef
imul eax, eax, 0x1914
imul ecx, ecx, 0x41c7
add ecx, eax
imul eax, edx, 0x8123
add eax, 0x108000
add eax, ecx
shr eax, 0x10
jmp 0x1003c062
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xe4]
mov ecx, dword [ebx + edx*4 + 8]
sub ecx, dword [ebx + eax*4 + 8]
lea esi, [ecx - 0x80000000]
cmovns esi, ecx
xor ecx, ecx
mov dword [ebx + edx*4 + 8], esi
inc dword [ebx]
mov eax, dword [ebx]
cmp eax, 0x37
cmove eax, ecx
inc dword [ebx + 4]
mov dword [ebx], eax
mov eax, dword [ebx + 4]
cmp eax, 0x37
cmove eax, ecx
lea ecx, [esi + esi]
sar ecx, 0x10
mov esi, dword [esp + 0x54]
mov dword [ebx + 4], eax
imul eax, dword [esp + 0x10], 0x41c7
imul ecx, edi
sar ecx, 8
add ecx, eax
imul eax, dword [esp + 0x28], 0x1914
add ecx, eax
imul eax, dword [esp + 0x44], 0x8123
add eax, 0x108000
add eax, ecx
sar eax, 0x10
mov ecx, dword [esp + 0x14]
add ebp, dword [esp + 0x1c8]
mov byte [ecx + esi], al
inc ecx
cmp ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x78]
jl 0x1003bfb3
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
add ebp, eax
mov ecx, dword [esp + 0x24]
sub edx, eax
sub ecx, eax
mov dword [esp + 0x78], edx
mov eax, dword [esp + 0x50]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x14], 0
mov eax, dword [eax + 0x1c]
add eax, esi
mov dword [esp + 0x40], eax
nop dword [eax]
movzx eax, byte [ecx + ebp]
movzx edx, byte [edx + ebp]
movzx ecx, byte [ebp]
mov dword [esp + 0x28], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x10], ecx
test ebx, ebx
jne 0x1003c0fc
imul eax, eax, 0x1914
imul ecx, ecx, 0x41c7
add ecx, eax
imul eax, edx, 0x8123
add eax, 0x108000
add eax, ecx
shr eax, 0x10
jmp 0x1003c16b
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xe4]
mov ecx, dword [ebx + edx*4 + 8]
sub ecx, dword [ebx + eax*4 + 8]
lea esi, [ecx - 0x80000000]
cmovns esi, ecx
xor ecx, ecx
mov dword [ebx + edx*4 + 8], esi
inc dword [ebx]
mov eax, dword [ebx]
cmp eax, 0x37
cmove eax, ecx
inc dword [ebx + 4]
mov dword [ebx], eax
mov eax, dword [ebx + 4]
cmp eax, 0x37
cmove eax, ecx
lea ecx, [esi + esi]
sar ecx, 0x10
mov dword [ebx + 4], eax
imul eax, dword [esp + 0x10], 0x41c7
imul ecx, edi
sar ecx, 8
add ecx, eax
imul eax, dword [esp + 0x28], 0x1914
add ecx, eax
imul eax, dword [esp + 0x44], 0x8123
add eax, 0x108000
add eax, ecx
sar eax, 0x10
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
add ebp, dword [esp + 0x1c8]
mov byte [ecx + edx], al
inc ecx
cmp ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x94]
jl 0x1003c0c0
mov ebp, dword [esp + 0x58]
mov esi, 0x200
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0x9c], 0
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov eax, dword [eax + 0x1c]
lea edx, [edx + eax*2]
mov dword [esp + 0x54], edx
je 0x1003c93a
mov eax, dword [esp + 0x50]
push dword [eax + 0x28]
push dword [esp + 0x6c]
push 2
push ecx
push dword [esp + 0x3c]
push dword [esp + 0x4c]
call dword [0x1007a4f0]
mov ecx, dword [esp + 0x80]
add esp, 0x18
neg eax
sbb eax, eax
inc eax
and eax, dword [esp + 0x9c]
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x28]
lea ecx, [ecx + eax*2]
mov dword [esp + 0x68], ecx
je 0x1003c93a
mov edi, dword [esp + 0x3c]
xor ebp, ebp
mov dword [esp + 0x14], edi
cmp dword [esp + 0xa0], ebp
jle 0x1003c6d9
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x6c], eax
lea esi, [edi + ecx]
mov dword [esp + 0xa4], 0xfffffffc
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x38]
lea ebx, [eax + 4]
add esi, 4
sub dword [esp + 0xa4], edi
add esi, edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x8c], esi
mov esi, edx
sub esi, dword [esp + 0x38]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x70], esi
sub edi, eax
mov esi, dword [esp + 0x38]
sub dword [esp + 0x6c], esi
mov esi, ecx
sub esi, dword [esp + 0x38]
mov dword [esp + 0x94], esi
mov esi, edx
sub esi, ecx
mov dword [esp + 0x4c], edi
mov dword [esp + 0xa8], esi
mov esi, eax
sub esi, ecx
mov dword [esp + 0xbc], esi
mov esi, edx
sub esi, eax
mov eax, ecx
sub eax, edx
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x10], eax
nop word [eax + eax]
mov ecx, dword [esp + 0xa4]
movzx edi, byte [ebx + edi]
movzx edx, byte [esi - 4]
movzx eax, byte [esi]
movzx ecx, byte [ecx + esi]
mov dword [esp + 0xb4], edi
add edi, ecx
add edi, edx
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x1c]
add edi, eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
cmp edi, 0x3fc
je 0x1003c50e
test edi, edi
je 0x1003c50e
mov eax, dword [esp + 0xbc]
mov esi, dword [esp + 0x94]
movzx eax, byte [ecx + eax]
mov ecx, dword [esp + 0x6c]
movzx edx, word [eax*2 + 0x10079188]
imul edx, dword [esp + 0xb0]
mov eax, dword [esp + 0x8c]
movzx eax, byte [ecx + eax]
mov ecx, 0x200
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0xac]
add edx, eax
movzx eax, byte [ebx - 4]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0x7c]
add edx, eax
movzx eax, byte [ebx]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0xb4]
add edx, eax
imul edx, dword [edi*4 + 0x10067720]
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x78]
sar eax, 7
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x18]
movzx eax, byte [ecx + eax]
mov ecx, dword [esp + 0x1c]
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0xb8]
imul edx, dword [esp + 0x7c]
movzx eax, byte [ecx + eax]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0xb4]
add edx, eax
mov eax, dword [esp + 0x8c]
movzx eax, byte [esi + eax]
mov esi, dword [edi*4 + 0x10067720]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0xac]
add edx, eax
movzx eax, byte [ecx]
mov ecx, 0x200
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0xb0]
add edx, eax
imul edx, esi
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0xa8]
sar eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
movzx eax, byte [ebx + eax]
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x1c]
imul edx, dword [esp + 0xb4]
movzx eax, byte [eax + ecx]
mov ecx, dword [esp + 0x70]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0xb0]
add edx, eax
mov eax, dword [esp + 0x8c]
movzx eax, byte [ecx + eax]
movzx eax, word [eax*2 + 0x10079188]
mov ecx, 0x200
imul eax, dword [esp + 0xac]
add edx, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0x7c]
add edx, eax
imul edx, esi
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul edx, eax
add edx, 0x40
jmp 0x1003c66a
mov eax, dword [esp + 0xbc]
movzx eax, byte [ecx + eax]
mov ecx, 0x200
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x6c]
movzx eax, byte [eax + esi]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
movzx eax, byte [ebx - 4]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
movzx eax, byte [ebx]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
mov edx, dword [esp + 0x1c]
add ecx, 0x40
add eax, ecx
sar eax, 7
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x94]
movzx eax, byte [eax + esi]
mov esi, dword [esp + 0x78]
movzx ecx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0xb8]
movzx eax, byte [edx + eax]
movzx eax, word [eax*2 + 0x10079188]
add ecx, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [esi + eax]
movzx eax, word [eax*2 + 0x10079188]
add ecx, eax
movzx eax, byte [edx]
movzx edx, word [eax*2 + 0x10079188]
add edx, ecx
mov ecx, 0x200
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
mov edx, dword [esp + 0x24]
add edx, dword [esp + 0x2c]
add ecx, 0x40
add eax, ecx
sar eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x40]
movzx eax, byte [ebx + eax]
movzx ecx, word [eax*2 + 0x10079188]
movzx eax, byte [edx + ebp + 4]
movzx eax, word [eax*2 + 0x10079188]
add ecx, eax
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
movzx eax, word [eax*2 + 0x10079188]
add ecx, eax
movzx eax, byte [edx + ebp]
movzx edx, word [eax*2 + 0x10079188]
add edx, ecx
mov ecx, 0x200
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul edx, eax
add ecx, 0x40
mov eax, dword [esp + 0x14]
add edx, ecx
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
add dword [esp + 0x1c], 8
add dword [esp + 0x18], 8
mov word [eax], cx
add eax, 8
mov ecx, dword [esp + 0x28]
mov word [esi + ebp + 2], cx
mov ecx, dword [esp + 0x80]
sar edx, 7
mov dword [esp + 0x14], eax
mov word [ebx + ecx], dx
mov ecx, esi
mov esi, dword [esp + 0x8c]
add ebx, 8
add esi, 8
mov dword [esp + 0x8c], esi
mov word [ecx + ebp + 6], di
add ebp, 8
sub dword [esp + 0x10], 1
mov edi, dword [esp + 0x4c]
jne 0x1003c2d0
mov ebx, dword [esp + 0x98]
mov edi, eax
cmp dword [esp + 0x5c], 0
je 0x1003cc78
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x2c]
lea eax, [ecx + edx]
movzx ecx, byte [ecx + ebp]
movzx eax, byte [eax + ebp]
mov dword [esp + 0x14], eax
add eax, ecx
add eax, eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x4c], eax
cmp eax, 0x3fc
je 0x1003c826
test eax, eax
je 0x1003c826
mov esi, dword [eax*4 + 0x10067720]
mov ecx, dword [esp + 0x58]
add ecx, ebp
movzx eax, byte [ecx + edx]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [ecx]
mov ecx, 0x200
imul edx, dword [esp + 0x14]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0x7c]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x34]
sar eax, 7
add ecx, ebp
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [ecx + eax]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [ecx]
mov ecx, 0x200
imul edx, dword [esp + 0x14]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0x7c]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x24]
sar eax, 7
add ecx, ebp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
movzx eax, byte [ecx + eax]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [ecx]
mov ecx, 0x200
imul edx, dword [esp + 0x14]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0x7c]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
jmp 0x1003c8f3
mov ecx, dword [esp + 0x58]
lea esi, [edx + ebp]
movzx eax, byte [ecx + ebp]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [esi + ecx]
mov ecx, 0x200
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x34]
sar eax, 7
mov dword [esp + 0x10], eax
movzx eax, byte [ecx + ebp]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [ecx + esi]
mov esi, 0x200
mov ecx, esi
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x24]
sar eax, 7
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
add eax, ecx
movzx eax, byte [eax + ebp]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [ecx + ebp]
mov ecx, esi
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add ecx, eax
mov eax, dword [esp + 0x10]
mov word [edi], ax
mov eax, dword [esp + 0x28]
sar ecx, 7
mov word [edi + 2], ax
mov eax, dword [esp + 0x4c]
mov word [edi + 4], cx
mov word [edi + 6], ax
jmp 0x1003cc78
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x6c], ecx
cmp dword [esp + 0xa0], ecx
jle 0x1003cb6e
mov ecx, dword [esp + 0x1c8]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x4c], edi
lea eax, [ecx + ebp]
mov dword [esp + 0x1c], eax
lea ebx, [ecx + ecx]
lea eax, [edx + edi]
add eax, ecx
mov dword [esp + 0x70], eax
mov eax, edx
sub eax, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xa8], eax
mov eax, edi
sub eax, ebp
mov dword [esp + 0x44], eax
mov eax, ecx
sub eax, ebp
mov dword [esp + 0x78], eax
mov eax, ebp
mov ebp, dword [esp + 0x70]
sub eax, edi
mov dword [esp + 0x10], eax
mov eax, ecx
sub ecx, edi
sub eax, edi
add eax, edx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xa0]
imul ebx, ecx
mov dword [esp + 0x94], eax
mov dword [esp + 0x28], ecx
mov dword [esp + 0x6c], ebx
mov ebx, edx
mov edx, dword [esp + 0x1c]
nop dword [eax]
mov eax, dword [esp + 0x10]
movzx eax, byte [edi + eax]
movzx ecx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + ebp]
movzx eax, word [eax*2 + 0x10079188]
add ecx, eax
mov eax, dword [esp + 0xa8]
movzx eax, byte [edx + eax]
movzx eax, word [eax*2 + 0x10079188]
add ecx, eax
movzx eax, byte [edx]
movzx edx, word [eax*2 + 0x10079188]
add edx, ecx
mov ecx, esi
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
mov edx, dword [esp + 0x44]
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x18]
sar eax, 7
mov word [ecx], ax
movzx eax, byte [edi + ebx]
movzx ecx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + edx]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [edi]
add edx, ecx
mov ecx, esi
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
movzx eax, byte [ebp]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
mov edx, dword [esp + 0x40]
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x18]
sar eax, 7
mov word [ecx + 2], ax
movzx eax, byte [edi + edx]
movzx ecx, word [eax*2 + 0x10079188]
movzx eax, byte [edx + ebp]
mov edx, dword [esp + 0x78]
movzx eax, word [eax*2 + 0x10079188]
add ecx, eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [eax + edx]
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x94]
add edx, ecx
mov ecx, esi
movzx eax, byte [edi + eax]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
mov eax, edx
and edx, 0x1ff
shr eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x18]
sar eax, 7
mov word [ecx + 4], ax
mov ebx, dword [esp + 0x1c8]
add ecx, 8
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
lea eax, [ebx + ebx]
lea edx, [edx + ebx*2]
add ebp, eax
mov ebx, dword [esp + 0x2c]
add edi, eax
sub dword [esp + 0x28], 1
mov dword [esp + 0x1c], edx
jne 0x1003c9d0
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x5c], 0
je 0x1003cc78
mov esi, dword [esp + 0x2c]
add esi, ecx
movzx eax, byte [esi + ebp]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [ecx + ebp]
mov ebp, 0x200
mov ecx, ebp
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x18]
sar eax, 7
mov word [ecx], ax
mov ecx, ebp
movzx eax, byte [esi + edi]
mov esi, dword [esp + 0x18]
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x6c]
movzx eax, byte [eax + edi]
mov edi, dword [esp + 0x6c]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x24]
sar eax, 7
mov word [esi + 2], ax
mov eax, dword [esp + 0x2c]
add eax, ecx
movzx eax, byte [eax + edi]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [ecx + edi]
mov ecx, ebp
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add eax, 0x40
add eax, ecx
sar eax, 7
mov word [esi + 4], ax
test ebx, ebx
jne 0x1003cc9e
push dword [esp + 0x90]
mov ecx, dword [esp + 0x64]
push ecx
push dword [esp + 0x7c]
push dword [esp + 0x48]
call dword [0x1007a1fc]
add esp, 0x10
jmp 0x1003ce1a
mov edx, dword [esp + 0x90]
test edx, edx
jle 0x1003ce1a
mov ebp, dword [esp + 0x3c]
mov ecx, dword [esp + 0x60]
add ebp, 4
mov eax, dword [esp + 0x74]
sub eax, ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x40], edx
nop word [eax + eax]
movzx eax, word [ebp - 4]
mov edx, dword [ebx]
mov edi, dword [ebx + 0xe4]
mov dword [esp + 0x28], eax
movzx eax, word [ebp - 2]
mov ecx, dword [ebx + edx*4 + 8]
mov dword [esp + 0x44], eax
movzx eax, word [ebp]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 4]
sub ecx, dword [ebx + eax*4 + 8]
lea esi, [ecx - 0x80000000]
cmovns esi, ecx
xor ecx, ecx
mov dword [ebx + edx*4 + 8], esi
inc dword [ebx]
mov eax, dword [ebx]
cmp eax, 0x37
cmove eax, ecx
inc dword [ebx + 4]
mov dword [ebx], eax
mov eax, dword [ebx + 4]
cmp eax, 0x37
cmove eax, ecx
lea ecx, [esi + esi]
sar ecx, 0xe
imul ecx, edi
mov dword [ebx + 4], eax
imul eax, dword [esp + 0x28], 0x25f7
sar ecx, 8
sub ecx, eax
imul eax, dword [esp + 0x10], 0x7080
add ecx, eax
imul eax, dword [esp + 0x44], 0x4a89
sub ecx, eax
add ecx, 0x2020000
sar ecx, 0x12
test ecx, 0xffffff00
je 0x1003cd6f
sar ecx, 0x1f
and ecx, 0xffffff01
add ecx, 0xff
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x4c]
mov byte [edx + eax], cl
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xe4]
mov ecx, dword [ebx + edx*4 + 8]
sub ecx, dword [ebx + eax*4 + 8]
lea esi, [ecx - 0x80000000]
cmovns esi, ecx
xor ecx, ecx
mov dword [ebx + edx*4 + 8], esi
inc dword [ebx]
mov eax, dword [ebx]
cmp eax, 0x37
cmove eax, ecx
inc dword [ebx + 4]
mov dword [ebx], eax
mov eax, dword [ebx + 4]
cmp eax, 0x37
cmove eax, ecx
lea ecx, [esi + esi]
sar ecx, 0xe
imul ecx, edi
mov dword [ebx + 4], eax
imul eax, dword [esp + 0x10], 0x124c
sar ecx, 8
sub ecx, eax
imul eax, dword [esp + 0x28], 0x7080
add ecx, eax
imul eax, dword [esp + 0x44], 0x5e34
sub ecx, eax
add ecx, 0x2020000
sar ecx, 0x12
test ecx, 0xffffff00
je 0x1003ce01
sar ecx, 0x1f
and ecx, 0xffffff01
add ecx, 0xff
mov eax, dword [esp + 0x14]
add ebp, 8
mov byte [eax], cl
inc eax
sub dword [esp + 0x40], 1
mov dword [esp + 0x14], eax
jne 0x1003ccd0
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x34]
mov eax, dword [eax + 0x20]
add dword [esp + 0x74], eax
add dword [esp + 0x60], eax
mov eax, dword [esp + 0x84]
add ebp, eax
mov ecx, dword [esp + 0x88]
add edx, eax
add dword [esp + 0x80], ecx
add edi, eax
cmp dword [esp + 0x9c], 0
mov dword [esp + 0x58], ebp
mov dword [esp + 0x24], edx
mov dword [esp + 0x34], edi
je 0x1003ce6a
add dword [esp + 0x38], eax
sub dword [esp + 0x48], 1
mov ecx, dword [esp + 0x20]
jne 0x1003bf10
jmp 0x1003ce7f
mov edx, dword [esp + 0x24]
test byte [esp + 0x64], 1
je 0x1003d8c6
cmp dword [esp + 0x30], 0
je 0x1003d084
push dword [esp + 0x20]
push dword [esp + 0x58]
cmp ebp, edx
jae 0x1003d078
push ebp
call dword [0x1007a1f8]
mov eax, dword [esp + 0x2c]
add esp, 0xc
mov edi, dword [esp + 0x1c8]
mov esi, dword [esp + 0x9c]
test esi, esi
je 0x1003cee4
push 0
push dword [esp + 0x6c]
push 1
push eax
push 0
push dword [esp + 0x4c]
call dword [0x1007a4f0]
add esp, 0x18
neg eax
sbb eax, eax
inc eax
and esi, eax
mov eax, dword [esp + 0x20]
mov edx, eax
sar edx, 1
mov dword [esp + 0x80], edx
test esi, esi
jne 0x1003d28a
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x64], ecx
test edx, edx
jle 0x1003d1b6
lea ebx, [edi + edi]
mov ecx, ebp
mov ebp, dword [esp + 0x34]
lea eax, [esi + edi]
mov edi, dword [esp + 0x24]
sub ecx, esi
sub edi, esi
mov dword [esp + 0x4c], ebx
mov esi, dword [esp + 0x30]
imul ebx, edx
mov dword [esp + 0x84], edi
mov edi, 0x200
mov dword [esp + 0x68], eax
mov dword [esp + 0x70], ecx
mov dword [esp + 0x64], ebx
mov ebx, edx
nop
movzx eax, byte [eax + ecx]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [ecx + ebp]
mov ecx, edi
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, edi
sar eax, 7
mov word [esi], ax
movzx eax, byte [ebp]
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x68]
movzx eax, byte [eax]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x84]
sar eax, 7
mov word [esi + 2], ax
mov eax, dword [esp + 0x68]
movzx eax, byte [eax + ecx]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [ecx + ebp]
mov ecx, edi
add ebp, dword [esp + 0x4c]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x70]
sar eax, 7
mov word [esi + 4], ax
add esi, 8
mov eax, dword [esp + 0x68]
add eax, dword [esp + 0x4c]
mov dword [esp + 0x68], eax
sub ebx, 1
jne 0x1003cf50
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x58]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0x34]
jmp 0x1003d1bb
push edx
call dword [0x1007a1f4]
jmp 0x1003ceac
mov eax, dword [esp + 0x20]
xor esi, esi
mov dword [esp + 0x5c], esi
test eax, eax
jle 0x1003ceb3
sub edx, edi
mov eax, ebp
mov ecx, edi
mov dword [esp + 0x70], edx
sub eax, edi
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x1c8]
mov dword [esp + 0x88], eax
nop dword [eax]
nop dword [eax + eax]
mov ebp, dword [esp + 0x88]
movzx edx, byte [edx + ecx]
movzx eax, byte [ecx]
mov dword [esp + 0x4c], edx
movzx ecx, byte [ecx + ebp]
mov dword [esp + 0x84], eax
mov dword [esp + 0x48], ecx
test ebx, ebx
jne 0x1003d10a
imul ecx, eax, 0x8123
imul eax, dword [esp + 0x48], 0x41c7
add ecx, eax
imul eax, edx, 0x1914
add eax, 0x108000
add eax, ecx
shr eax, 0x10
jmp 0x1003d187
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xe4]
mov ecx, dword [ebx + edx*4 + 8]
sub ecx, dword [ebx + eax*4 + 8]
lea esi, [ecx - 0x80000000]
cmovns esi, ecx
xor ecx, ecx
mov dword [ebx + edx*4 + 8], esi
inc dword [ebx]
mov eax, dword [ebx]
cmp eax, 0x37
cmove eax, ecx
inc dword [ebx + 4]
mov dword [ebx], eax
mov eax, dword [ebx + 4]
cmp eax, 0x37
cmove eax, ecx
lea ecx, [esi + esi]
sar ecx, 0x10
mov esi, dword [esp + 0x5c]
mov dword [ebx + 4], eax
imul eax, dword [esp + 0x84], 0x8123
imul ecx, edi
mov edi, dword [esp + 0x1c8]
sar ecx, 8
add ecx, eax
imul eax, dword [esp + 0x48], 0x41c7
add ecx, eax
imul eax, dword [esp + 0x4c], 0x1914
add eax, 0x108000
add eax, ecx
sar eax, 0x10
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x70]
add ecx, edi
mov dword [esp + 0x10], ecx
mov byte [esi + ebp], al
inc esi
mov eax, dword [esp + 0x20]
mov dword [esp + 0x5c], esi
cmp esi, eax
jl 0x1003d0c0
mov ebp, dword [esp + 0x58]
jmp 0x1003ceba
mov edi, 0x200
test al, 1
je 0x1003d73a
movzx eax, byte [ecx + ebp]
mov ecx, edi
mov ebp, dword [esp + 0x30]
movzx edx, word [eax*2 + 0x10079188]
shl edx, 2
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, edi
sar eax, 7
mov word [ebp], ax
mov eax, dword [esp + 0x64]
movzx eax, byte [eax + esi]
movzx edx, word [eax*2 + 0x10079188]
shl edx, 2
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, dword [esp + 0x64]
sar eax, 7
mov word [ebp + 2], ax
mov eax, dword [esp + 0x24]
movzx eax, byte [ecx + eax]
movzx ecx, word [eax*2 + 0x10079188]
shl ecx, 2
mov eax, ecx
and ecx, 0x1ff
sar eax, 9
sub edi, ecx
imul edi, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, ecx
add eax, 0x40
add eax, edi
sar eax, 7
mov word [ebp + 4], ax
jmp 0x1003d73a
mov esi, dword [esp + 0x3c]
xor ecx, ecx
mov edi, dword [esp + 0x34]
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], ecx
test edx, edx
jle 0x1003d575
mov eax, dword [esp + 0x38]
mov ecx, edi
sub eax, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x88], eax
mov eax, edi
sub eax, ebp
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x24]
mov ebx, eax
sub ebx, ebp
mov dword [esp + 0x10], ebx
mov ebx, esi
sub ebx, ebp
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x38]
sub ebx, edi
sub eax, edi
mov dword [esp + 0x28], eax
lea edi, [ebp + 4]
lea eax, [edx*8]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x1c], eax
mov ebx, 0x200
nop dword [eax]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
movzx eax, byte [eax + edi]
movzx ecx, byte [ecx + edx]
mov dword [esp + 0x30], eax
add eax, ecx
add eax, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x70], eax
cmp eax, 0x3fc
je 0x1003d437
test eax, eax
je 0x1003d437
mov esi, dword [eax*4 + 0x10067720]
movzx eax, byte [edi - 4]
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [edi]
imul edx, ecx
mov ecx, ebx
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0x30]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, ebx
sar eax, 7
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + edi]
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x18]
imul edx, dword [esp + 0x30]
movzx eax, byte [eax]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0x48]
add edx, eax
imul edx, esi
add edx, edx
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x28]
sar eax, 7
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + edi]
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x18]
imul edx, dword [esp + 0x30]
movzx eax, byte [eax + ecx]
movzx eax, word [eax*2 + 0x10079188]
imul eax, dword [esp + 0x48]
add edx, eax
imul edx, esi
mov esi, dword [esp + 0x14]
add edx, edx
shr edx, 0x11
jmp 0x1003d4f7
movzx eax, byte [edi - 4]
mov ecx, ebx
movzx edx, word [eax*2 + 0x10079188]
movzx eax, byte [edi]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add eax, 0x40
add eax, ecx
mov ecx, ebx
sar eax, 7
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x5c]
movzx eax, byte [eax + edi]
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x18]
movzx eax, byte [eax]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, dword [esp + 0x28]
sar eax, 7
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + edi]
movzx edx, word [eax*2 + 0x10079188]
mov eax, dword [esp + 0x18]
movzx eax, byte [eax + ecx]
movzx eax, word [eax*2 + 0x10079188]
add edx, eax
add edx, edx
mov eax, edx
mov ecx, ebx
sar eax, 9
and edx, 0x1ff
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add ecx, eax
mov eax, dword [esp + 0x44]
mov word [esi], ax
mov eax, dword [esp + 0x40]
mov word [esi + 2], ax
mov eax, dword [esp + 0x4c]
sar ecx, 7
mov word [eax + edi], cx
add edi, 8
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x70]
add ecx, 8
mov word [esi + 6], ax
add esi, 8
sub dword [esp + 0x80], 1
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], esi
jne 0x1003d300
mov ebx, dword [esp + 0x98]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test al, 1
je 0x1003d73a
mov eax, dword [esp + 0x38]
movzx eax, byte [eax + ecx]
mov dword [esp + 0x30], eax
shl eax, 2
cmp eax, 0x3fc
je 0x1003d661
test eax, eax
je 0x1003d661
mov esi, dword [eax*4 + 0x10067720]
movzx eax, byte [ecx + ebp]
mov ebp, 0x200
mov ecx, ebp
movzx edx, word [eax*2 + 0x10079188]
imul edx, esi
imul edx, dword [esp + 0x30]
shl edx, 2
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sub ecx, edx
sar eax, 9
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, ebp
sar eax, 7
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [edi + eax]
mov edi, dword [esp + 0x30]
movzx edx, word [eax*2 + 0x10079188]
imul edx, esi
imul edx, edi
shl edx, 2
shr edx, 0x11
mov eax, edx
and edx, 0x1ff
sub ecx, edx
sar eax, 9
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul edx, eax
mov eax, dword [esp + 0x24]
add ecx, 0x40
add edx, ecx
mov ecx, dword [esp + 0x1c]
movzx eax, byte [eax + ecx]
movzx ecx, word [eax*2 + 0x10079188]
imul ecx, esi
mov esi, dword [esp + 0x14]
imul ecx, edi
shl ecx, 2
shr ecx, 0x11
jmp 0x1003d6f6
movzx eax, byte [ecx + ebp]
mov ebp, 0x200
mov ecx, ebp
movzx edx, word [eax*2 + 0x10079188]
shl edx, 2
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, edx
add ecx, 0x40
add eax, ecx
mov ecx, ebp
sar eax, 7
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x1c]
movzx eax, byte [edi + eax]
mov edi, dword [esp + 0x30]
movzx edx, word [eax*2 + 0x10079188]
shl edx, 2
mov eax, edx
and edx, 0x1ff
sar eax, 9
sub ecx, edx
imul ecx, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul edx, eax
mov eax, dword [esp + 0x24]
add ecx, 0x40
add edx, ecx
mov ecx, dword [esp + 0x1c]
movzx eax, byte [eax + ecx]
movzx ecx, word [eax*2 + 0x10079188]
shl ecx, 2
mov eax, ecx
sar edx, 7
sar eax, 9
and ecx, 0x1ff
sub ebp, ecx
mov word [esi + 2], dx
imul ebp, dword [eax*4 + 0x10079100]
mov eax, dword [eax*4 + 0x10079104]
imul eax, ecx
lea ecx, [ebp + 0x40]
add ecx, eax
mov eax, dword [esp + 0x48]
mov word [esi], ax
lea eax, [edi*4]
sar ecx, 7
mov word [esi + 4], cx
mov word [esi + 6], ax
test ebx, ebx
jne 0x1003d760
push dword [esp + 0x90]
mov ecx, dword [esp + 0x64]
push ecx
push dword [esp + 0x7c]
push dword [esp + 0x48]
call dword [0x1007a1fc]
add esp, 0x10
jmp 0x1003d8c6
cmp dword [esp + 0x90], 0
jle 0x1003d8c6
mov ebp, dword [esp + 0x3c]
mov eax, dword [esp + 0x74]
add ebp, 4
sub eax, dword [esp + 0x60]
mov dword [esp + 0x74], eax
movzx eax, word [ebp - 4]
mov edx, dword [ebx]
mov edi, dword [ebx + 0xe4]
mov dword [esp + 0x10], eax
movzx eax, word [ebp - 2]
mov ecx, dword [ebx + edx*4 + 8]
mov dword [esp + 0x48], eax
movzx eax, word [ebp]
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 4]
sub ecx, dword [ebx + eax*4 + 8]
lea esi, [ecx - 0x80000000]
cmovns esi, ecx
xor ecx, ecx
mov dword [ebx + edx*4 + 8], esi
inc dword [ebx]
mov eax, dword [ebx]
cmp eax, 0x37
cmove eax, ecx
inc dword [ebx + 4]
mov dword [ebx], eax
mov eax, dword [ebx + 4]
cmp eax, 0x37
cmove eax, ecx
lea ecx, [esi + esi]
sar ecx, 0xe
mov dword [ebx + 4], eax
imul eax, dword [esp + 0x48], 0x4a89
imul ecx, edi
sar ecx, 8
sub ecx, eax
imul eax, dword [esp + 0x10], 0x25f7
sub ecx, eax
imul eax, dword [esp + 0x5c], 0x7080
add eax, 0x2020000
add eax, ecx
sar eax, 0x12
test eax, 0xffffff00
je 0x1003d81c
sar eax, 0x1f
and eax, 0xffffff01
add eax, 0xff
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x74]
mov byte [ecx + edx], al
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xe4]
mov ecx, dword [ebx + edx*4 + 8]
sub ecx, dword [ebx + eax*4 + 8]
lea esi, [ecx - 0x80000000]
cmovns esi, ecx
xor ecx, ecx
mov dword [ebx + edx*4 + 8], esi
inc dword [ebx]
mov eax, dword [ebx]
cmp eax, 0x37
cmove eax, ecx
inc dword [ebx + 4]
mov dword [ebx], eax
mov eax, dword [ebx + 4]
cmp eax, 0x37
cmove eax, ecx
lea ecx, [esi + esi]
sar ecx, 0xe
mov dword [ebx + 4], eax
imul eax, dword [esp + 0x48], 0x5e34
imul ecx, edi
sar ecx, 8
sub ecx, eax
imul eax, dword [esp + 0x5c], 0x124c
sub ecx, eax
imul eax, dword [esp + 0x10], 0x7080
add eax, 0x2020000
add eax, ecx
sar eax, 0x12
test eax, 0xffffff00
je 0x1003d8aa
sar eax, 0x1f
and eax, 0xffffff01
add eax, 0xff
mov ecx, dword [esp + 0x60]
add ebp, 8
mov byte [ecx], al
inc ecx
sub dword [esp + 0x90], 1
mov dword [esp + 0x60], ecx
jne 0x1003d781
push dword [esp + 0x3c]
call sym.libwebp.dll_WebPFree
add esp, 4
mov eax, 1
jmp 0x1003d8db
xor eax, eax
mov ecx, dword [esp + 0x1b0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.10056b14
add esp, 0x1a4
ret