Function at 0x4e2360
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x74
mov eax, dword [0x641a90]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x6c], 0
mov edi, ecx
mov dword [ebp - 0x70], ebx
push ebx
push dword [ebp + 8]
push dword [edi + 0x4fa58]
call fcn.00595cb4
add esp, 0xc
mov ecx, edi
call fcn.004d2a10
cmp eax, 0x504b5453
jne 0x4e281c
mov ecx, edi
call fcn.004d2a10
push dword [edi + 0x4fa58]
lea eax, [ebp - 0x2c]
push 0x28
push 1
push eax
call fcn.00595b79
add esp, 0x10
mov ecx, edi
call fcn.004d2a10
push dword [edi + 0x4fa58]
mov dword [ebp - 0x68], eax
call fcn.005960c7
mov esi, eax
lea ecx, [ebp - 0x2c]
add esp, 4
mov dword [ebp - 0x74], esi
mov edx, str.JPEG_preview_data
mov bl, byte [ecx]
cmp bl, byte [edx]
jne 0x4e2407
test bl, bl
je 0x4e2403
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x4e2407
add ecx, 2
add edx, 2
test al, al
jne 0x4e23e7
xor eax, eax
jmp 0x4e240c
sbb eax, eax
or eax, 1
mov ebx, dword [ebp - 0x68]
test eax, eax
jne 0x4e241f
mov dword [edi + 0x39c], esi
mov dword [edi + 0x3a8], ebx
mov ecx, str.icc_camera_profile
lea eax, [ebp - 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e2447
test dl, dl
je 0x4e2443
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e2447
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e2427
xor eax, eax
jmp 0x4e244c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e245c
mov dword [edi + 0x3a4], esi
mov dword [edi + 0x3b0], ebx
mov ecx, str.ShootObj_back_type
lea eax, [ebp - 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e2484
test dl, dl
je 0x4e2480
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e2484
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e2464
xor eax, eax
jmp 0x4e2489
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e24d0
lea eax, [ebp - 0x64]
push eax
push 0x5c2e18
push dword [edi + 0x4fa58]
call fcn.00598db5
mov ecx, dword [ebp - 0x64]
add esp, 0xc
cmp ecx, 0x27
jae 0x4e24d0
mov ecx, dword [ecx*4 + 0x63a8e8]
mov edx, edi
sub edx, ecx
jmp 0x4e24c0
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx + 0x250], al
test al, al
jne 0x4e24c0
mov ecx, str.icc_camera_to_tone_matrix
lea eax, [ebp - 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e24f8
test dl, dl
je 0x4e24f4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e24f8
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e24d8
xor eax, eax
jmp 0x4e24fd
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e252e
mov dword [ebp - 0x64], eax
mov ecx, edi
call fcn.004d2a10
push eax
mov ecx, edi
call fcn.004d8670
mov eax, dword [ebp - 0x64]
fstp dword [ebp + eax*4 - 0x60]
inc eax
mov dword [ebp - 0x64], eax
cmp eax, 9
jl 0x4e2504
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004e99e0
mov ecx, str.CaptProf_color_matrix
lea eax, [ebp - 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e2556
test dl, dl
je 0x4e2552
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e2556
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e2536
xor eax, eax
jmp 0x4e255b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e2591
mov dword [ebp - 0x64], eax
lea eax, [ebp + eax*4 - 0x60]
push eax
push 0x5d910c
push dword [edi + 0x4fa58]
call fcn.00598db5
mov eax, dword [ebp - 0x64]
add esp, 0xc
inc eax
mov dword [ebp - 0x64], eax
cmp eax, 9
jl 0x4e2562
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.004e99e0
mov ecx, str.CaptProf_number_of_planes
lea eax, [ebp - 0x2c]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e25c0
test dl, dl
je 0x4e25bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e25c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e25a0
xor eax, eax
jmp 0x4e25c5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e25e0
lea eax, [ebp - 0x6c]
push eax
push 0x5c2e18
push dword [edi + 0x4fa58]
call fcn.00598db5
add esp, 0xc
mov ecx, str.CaptProf_raw_data_rotation
lea eax, [ebp - 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e2608
test dl, dl
je 0x4e2604
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e2608
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e25e8
xor eax, eax
jmp 0x4e260d
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e262b
lea eax, [edi + 0x245d4]
push eax
push 0x5c2e18
push dword [edi + 0x4fa58]
call fcn.00598db5
add esp, 0xc
mov ecx, str.CaptProf_mosaic_pattern
lea eax, [ebp - 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e2653
test dl, dl
je 0x4e264f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e2653
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e2633
xor eax, eax
jmp 0x4e2658
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e268c
xor esi, esi
mov edi, edi
lea eax, [ebp - 0x64]
push eax
push 0x5c2e18
push dword [edi + 0x4fa58]
call fcn.00598db5
add esp, 0xc
cmp dword [ebp - 0x64], 1
jne 0x4e2686
mov eax, esi
sar eax, 1
xor eax, esi
mov dword [ebp - 0x70], eax
inc esi
cmp esi, 4
jl 0x4e2660
mov ecx, str.ImgProf_rotation_angle
lea eax, [ebp - 0x2c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e26b4
test dl, dl
je 0x4e26b0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e26b4
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e2694
xor eax, eax
jmp 0x4e26b9
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e26e3
lea eax, [ebp - 0x64]
push eax
push 0x5c2e18
push dword [edi + 0x4fa58]
call fcn.00598db5
mov eax, dword [ebp - 0x64]
add esp, 0xc
sub eax, dword [edi + 0x245d4]
mov dword [edi + 0x245d4], eax
mov ecx, str.NeutObj_neutrals
lea eax, [ebp - 0x2c]
jmp 0x4e26f0
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e2710
test dl, dl
je 0x4e270c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e2710
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e26f0
xor eax, eax
jmp 0x4e2715
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e27a4
movss xmm0, dword [edi + 0x24644]
xorps xmm1, xmm1
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x4e27a4
lea esi, [ebp - 0x3c]
mov ebx, 4
lea esp, [esp]
push esi
push 0x5c2e18
push dword [edi + 0x4fa58]
call fcn.00598db5
add esp, 0xc
add esi, 4
dec ebx
jne 0x4e2740
movd xmm2, dword [ebp - 0x3c]
movd xmm0, dword [ebp - 0x38]
cvtdq2ps xmm2, xmm2
cvtdq2ps xmm0, xmm0
movaps xmm1, xmm2
divss xmm1, xmm0
movd xmm0, dword [ebp - 0x34]
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x24644], xmm1
movaps xmm1, xmm2
divss xmm1, xmm0
movd xmm0, dword [ebp - 0x30]
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x24648], xmm1
divss xmm2, xmm0
movss dword [edi + 0x2464c], xmm2
mov ecx, str.Rows_data
lea eax, [ebp - 0x2c]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4e27d0
test dl, dl
je 0x4e27cc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4e27d0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4e27b0
xor eax, eax
jmp 0x4e27d5
sbb eax, eax
or eax, 1
test eax, eax
jne 0x4e27e6
mov ecx, edi
call fcn.004d2a10
mov dword [edi + 0x44a0], eax
mov esi, dword [ebp - 0x74]
mov ecx, edi
push esi
call fcn.004e2360
mov eax, dword [ebp - 0x68]
push 0
add eax, esi
push eax
push dword [edi + 0x4fa58]
call fcn.00595cb4
add esp, 0xc
mov ecx, edi
call fcn.004d2a10
cmp eax, 0x504b5453
je 0x4e23a5
mov ebx, dword [ebp - 0x70]
mov esi, dword [ebp - 0x6c]
test esi, esi
je 0x4e285f
mov ecx, dword [edi + 0x245d4]
mov eax, 0xb60b60b7
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add eax, edx
add eax, ebx
and eax, 3
movzx ecx, byte [eax + 0x5e01d0]
xor eax, eax
cmp esi, 1
sete al
imul ecx, eax
imul eax, ecx, 0x1010101
mov dword [edi + 0x388], eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.005920c1
mov esp, ebp
pop ebp
ret 4