Function at 0x10003d60
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 0x10050040
push esi
mov dword [ebp - 0x4c], ebx
call fcn.1002deca
add esp, 8
mov dword [ebp - 0x44], eax
test eax, eax
jne 0x10003da2
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1002294b
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x3c]
push eax
push esi
call fcn.1002ee78
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
sar ecx, 1
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x40], eax
cmp edi, ecx
jae 0x10003dce
lea eax, [edx + edi*2]
jmp 0x10003e00
jbe 0x10003e03
mov eax, dword [ebx + 8]
sub eax, edx
sar eax, 1
cmp edi, eax
jbe 0x10003de6
push ecx
push edi
mov ecx, ebx
call fcn.1001e970
jmp 0x10003e03
mov eax, edi
sub eax, ecx
lea esi, [eax + eax]
push esi
push 0
push dword [ebp - 0x40]
call fcn.10025660
mov eax, dword [ebp - 0x40]
add esp, 0xc
add eax, esi
mov dword [ebx + 4], eax
push dword [ebp - 0x44]
push edi
push 2
push dword [ebx]
call fcn.100303ed
add esp, 0x10
xor esi, esi
xor edx, edx
test edi, edi
je 0x10003e41
nop dword [eax + eax]
mov eax, dword [ebx]
lea edx, [eax + esi*2]
inc esi
mov ax, word [edx]
mov ch, al
mov cl, ah
mov eax, esi
mov word [edx], cx
xor ecx, ecx
cdq
cmp edx, ecx
jl 0x10003e20
jg 0x10003e3f
cmp eax, edi
jb 0x10003e20
xor edx, edx
cmp byte [ebp + 8], 0
jne 0x10003f49
mov eax, dword [ebx + 4]
mov esi, dword [ebx]
sub eax, esi
and eax, 0xfffffffe
cmp eax, 0x1186040
jne 0x10003f49
xor ecx, ecx
test edx, edx
jb 0x10003f49
ja 0x10003e74
test edi, edi
je 0x10003f49
cmp word [esi + ecx*2], 0
jl 0x10003e92
inc ecx
mov eax, ecx
cdq
test edx, edx
jl 0x10003e74
jg 0x10003f49
cmp eax, edi
jb 0x10003e74
jmp 0x10003f49
xor ecx, ecx
cmp edi, 0x20
jb 0x10003f17
lea eax, [edi - 1]
lea eax, [esi + eax*2]
cmp esi, ebx
ja 0x10003ea7
cmp eax, ebx
jae 0x10003f17
movaps xmm2, xmmword [0x100502e0]
mov eax, edi
and eax, 0xffffffe0
mov edi, 0x20
mov ebx, eax
nop word [eax + eax]
movups xmm0, xmmword [esi + edi - 0x20]
lea edi, [edi + 0x40]
add ecx, 0x20
movaps xmm1, xmm2
mov eax, ecx
paddw xmm1, xmm0
cdq
movups xmmword [esi + edi - 0x60], xmm1
movaps xmm1, xmm2
movups xmm0, xmmword [esi + edi - 0x50]
paddw xmm0, xmm2
movups xmmword [esi + edi - 0x50], xmm0
movups xmm0, xmmword [edi + esi - 0x40]
paddw xmm1, xmm0
movups xmmword [edi + esi - 0x40], xmm1
movups xmm0, xmmword [esi + edi - 0x30]
paddw xmm0, xmm2
movups xmmword [esi + edi - 0x30], xmm0
test edx, edx
jl 0x10003ec0
jg 0x10003f11
cmp eax, ebx
jb 0x10003ec0
mov edi, dword [ebp - 0x48]
mov ebx, dword [ebp - 0x4c]
mov eax, ecx
xor esi, esi
cdq
cmp edx, esi
jg 0x10003f49
jl 0x10003f26
cmp eax, edi
jae 0x10003f49
mov edx, 0x178
nop dword [eax + eax]
mov eax, dword [ebx]
add word [eax + ecx*2], dx
inc ecx
mov eax, ecx
cdq
cmp edx, esi
mov edx, 0x178
jl 0x10003f30
jg 0x10003f49
cmp eax, edi
jb 0x10003f30
push dword [ebp - 0x44]
call fcn.1002e369
mov ecx, dword [ebp - 8]
add esp, 4
xor ecx, ebp
mov al, 1
pop edi
pop esi
pop ebx
call fcn.1002294b
mov esp, ebp
pop ebp
ret