Function at 0x10003ea0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x50
mov eax, dword [0x10054040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov esi, ecx
mov ebx, edx
push 0x10050080
push esi
call fcn.1002e0fa
add esp, 8
mov dword [ebp - 0x4c], eax
test eax, eax
jne 0x10003edf
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.100229ab
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x3c]
push eax
push esi
call fcn.1002f0a8
mov eax, dword [ebx + 4]
add esp, 8
mov edx, dword [ebx]
mov ecx, eax
mov edi, dword [ebp - 0x28]
sub ecx, edx
shr edi, 1
xor esi, esi
sar ecx, 1
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x40], eax
cmp edi, ecx
jae 0x10003f0d
lea eax, [edx + edi*2]
jmp 0x10003f41
jbe 0x10003f44
mov eax, dword [ebx + 8]
sub eax, edx
sar eax, 1
cmp edi, eax
jbe 0x10003f25
push ecx
push edi
mov ecx, ebx
call fcn.1001e7d0
jmp 0x10003f44
mov eax, edi
sub eax, ecx
lea esi, [eax + eax]
push esi
push 0
push dword [ebp - 0x40]
call fcn.10025880
mov eax, dword [ebp - 0x40]
add esp, 0xc
add eax, esi
xor esi, esi
mov dword [ebx + 4], eax
push dword [ebp - 0x4c]
push edi
push 2
push dword [ebx]
call fcn.1003061d
add esp, 0x10
mov dword [ebp - 0x40], 0
test esi, esi
jb 0x10003fa3
ja 0x10003f65
test edi, edi
je 0x10003fa3
xor esi, esi
mov dword [ebp - 0x44], esi
nop word [eax + eax]
mov edx, dword [ebx]
lea esi, [esi + 2]
mov ax, word [edx + esi - 2]
mov ch, al
mov cl, ah
mov eax, dword [ebp - 0x44]
mov word [edx + eax], cx
add eax, 2
mov ecx, dword [ebp - 0x40]
inc ecx
mov dword [ebp - 0x44], eax
mov eax, ecx
mov dword [ebp - 0x40], ecx
cdq
xor ecx, ecx
cmp edx, ecx
jl 0x10003f70
jg 0x10003fa1
cmp eax, edi
jb 0x10003f70
xor esi, esi
cmp byte [ebp + 8], 0
jne 0x100040d4
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
sub eax, edx
mov dword [ebp - 0x40], edx
and eax, 0xfffffffe
cmp eax, 0x1186040
jne 0x100040d4
xor ecx, ecx
test esi, esi
jb 0x100040d4
ja 0x10003fe0
test edi, edi
je 0x100040d4
nop dword [eax]
cmp word [edx + ecx*2], 0
jl 0x10004001
inc ecx
mov eax, ecx
cdq
cmp edx, esi
mov edx, dword [ebp - 0x40]
jl 0x10003fe0
jg 0x100040d4
cmp eax, edi
jb 0x10003fe0
jmp 0x100040d4
xor esi, esi
cmp edi, 0x20
jb 0x1000408d
lea eax, [edi - 1]
lea eax, [edx + eax*2]
cmp edx, ebx
ja 0x1000401a
cmp eax, ebx
jae 0x1000408d
movaps xmm2, xmmword [0x10050320]
mov ecx, edi
and ecx, 0xffffffe0
mov edi, 0x20
nop dword [eax + eax]
movups xmm0, xmmword [edi + edx - 0x20]
lea edi, [edi + 0x40]
add esi, 0x20
movaps xmm1, xmm2
mov eax, esi
paddw xmm1, xmm0
movups xmmword [edi + edx - 0x60], xmm1
movups xmm0, xmmword [edi + edx - 0x50]
movaps xmm1, xmm2
paddw xmm1, xmm0
movups xmmword [edi + edx - 0x50], xmm1
movups xmm0, xmmword [edi + edx - 0x40]
movaps xmm1, xmm2
paddw xmm1, xmm0
movups xmmword [edi + edx - 0x40], xmm1
movups xmm0, xmmword [edi + edx - 0x30]
movaps xmm1, xmm2
paddw xmm1, xmm0
movups xmmword [edi + edx - 0x30], xmm1
cdq
test edx, edx
mov edx, dword [ebp - 0x40]
jl 0x10004030
jg 0x1000408a
cmp eax, ecx
jb 0x10004030
mov edi, dword [ebp - 0x48]
mov eax, esi
xor ecx, ecx
cdq
cmp edx, ecx
jg 0x100040d4
jl 0x1000409c
cmp eax, edi
jae 0x100040d4
lea edx, [esi + esi]
mov dword [ebp - 0x40], edx
mov ecx, dword [ebx]
mov eax, 0x178
mov edi, dword [ebp - 0x40]
inc esi
add dword [ebp - 0x40], 2
add ax, word [ecx + edx]
add edx, 2
mov word [ecx + edi], ax
mov eax, esi
mov edi, dword [ebp - 0x48]
xor ecx, ecx
mov dword [ebp - 0x44], edx
cdq
cmp edx, ecx
mov edx, dword [ebp - 0x44]
jl 0x100040a2
jg 0x100040d4
cmp eax, edi
jb 0x100040a2
push dword [ebp - 0x4c]
call fcn.1002e599
mov ecx, dword [ebp - 8]
add esp, 4
xor ecx, ebp
mov al, 1
pop edi
pop esi
pop ebx
call fcn.100229ab
mov esp, ebp
pop ebp
ret