Function at 0x468670
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x28
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
test edi, edi
jle 0x46879f
mov esi, dword [ebp + 8]
push dword [esi]
lea eax, [ebp - 0x10]
push 1
push 4
push eax
call fcn.00595b79
add esp, 0x10
cmp eax, 1
jne 0x46898e
push esi
call fcn.0045d240
movzx eax, ax
sub edi, 6
mov dword [ebp - 8], eax
lea eax, [ebp + 0xc]
push eax
push esi
call fcn.00468c70
mov edx, eax
add esp, 0xc
test edx, edx
je 0x4686de
mov ecx, edx
lea ebx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4686d0
sub ecx, ebx
add ecx, 2
jmp 0x4686e3
mov ecx, 2
sub edi, ecx
test edx, edx
je 0x4686f2
push edx
call fcn.00592c4b
add esp, 4
push esi
call fcn.0045d070
mov ebx, eax
sub edi, 4
add esp, 4
mov dword [ebp + 0xc], edi
test bl, 1
je 0x468709
inc ebx
mov eax, dword [ebp - 8]
mov ecx, 0x3ed
cmp ax, cx
jne 0x4687a8
push esi
call fcn.0045d070
push esi
mov edi, eax
call fcn.0045d240
push esi
call fcn.0045d240
push esi
call fcn.0045d070
push dword [ebp + 8]
mov esi, eax
call fcn.0045d240
push dword [ebp + 8]
call fcn.0045d240
mov eax, dword [ebp + 0x14]
add esp, 0x18
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mov edi, dword [ebp + 0xc]
sub edi, 0x10
sub ebx, 0x10
mulsd xmm0, qword [0x5d7590]
cvttsd2si ecx, xmm0
movd xmm0, esi
cvtdq2pd xmm0, xmm0
mov dword [eax], ecx
mov ecx, dword [ebp + 0x18]
mulsd xmm0, qword [0x5d7590]
cvttsd2si eax, xmm0
mov dword [ecx], eax
mov esi, dword [ebp + 8]
test ebx, ebx
je 0x468795
push ebx
push esi
call fcn.0045d3f0
add esp, 8
sub edi, ebx
test edi, edi
jg 0x468687
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x40f
cmp ax, cx
jne 0x4687f1
mov eax, dword [ebp + 0x10]
test dword [eax + 0x8c], 0x40000
je 0x468787
push ebx
call fcn.00593e38
mov esi, eax
mov eax, dword [ebp + 8]
push dword [eax]
push 1
push ebx
push esi
call fcn.00595b79
push ebx
push esi
push 4
push dword [ebp + 0x10]
call fcn.00452460
push esi
call fcn.00592c4b
mov esi, dword [ebp + 8]
add esp, 0x28
jmp 0x468795
mov ecx, 0x422
cmp ax, cx
jne 0x468861
test ebx, ebx
jle 0x468789
mov eax, dword [ebp + 0x10]
test dword [eax + 0x8c], 0x40000
je 0x468787
lea esi, [ebx + 6]
push esi
call fcn.00593e38
mov ecx, dword [0x5d4d50]
mov edi, eax
mov eax, dword [ebp + 8]
mov dword [edi], ecx
mov cx, word [0x5d4d54]
mov word [edi + 4], cx
lea ecx, [edi + 6]
push dword [eax]
push 1
push ebx
push ecx
call fcn.00595b79
push esi
push edi
push 1
push dword [ebp + 0x10]
call fcn.00452460
push edi
call fcn.00592c4b
mov edi, dword [ebp + 0xc]
add esp, 0x28
mov esi, dword [ebp + 8]
jmp 0x468795
mov ecx, 0x424
cmp ax, cx
jne 0x4688b9
test ebx, ebx
jle 0x468789
mov eax, dword [ebp + 0x10]
test dword [eax + 0x8c], 0x40000
je 0x468787
push ebx
call fcn.00593e38
mov esi, eax
mov eax, dword [ebp + 8]
push dword [eax]
push 1
push ebx
push esi
call fcn.00595b79
push ebx
push esi
push 3
push dword [ebp + 0x10]
call fcn.00452460
push esi
call fcn.00592c4b
mov esi, dword [ebp + 8]
add esp, 0x28
jmp 0x468795
mov ecx, 0x404
cmp ax, cx
jne 0x468787
test ebx, ebx
jle 0x468789
mov eax, dword [ebp + 0x10]
test dword [eax + 0x8c], 0x40000
je 0x468787
mov eax, dword [0x5d7534]
movq xmm0, qword [str.Photoshop_3.0]
mov esi, dword [0x5d753c]
mov dword [ebp - 0xc], eax
mov ax, word [0x5d7538]
mov word [ebp + 0xe], ax
movzx eax, byte [0x5d753a]
mov byte [ebp - 0x1a], al
movzx eax, byte [0x5d7540]
mov byte [ebp - 4], al
lea eax, [ebx + 0x18]
push eax
movq qword [ebp - 0x18], xmm0
call fcn.00593e38
add esp, 4
mov dword [ebp - 8], eax
test eax, eax
je 0x468784
movq xmm0, qword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
movq qword [eax], xmm0
mov dword [eax + 8], ecx
mov cx, word [ebp + 0xe]
mov dword [eax + 0xe], esi
mov esi, dword [ebp + 8]
mov word [eax + 0xc], cx
mov ecx, 0x404
mov word [eax + 0x12], cx
mov dword [eax + 0x14], 0
add eax, 0x18
push dword [esi]
push 1
push ebx
push eax
call fcn.00595b79
lea eax, [ebx + 0x18]
push eax
push dword [ebp - 8]
push 2
push dword [ebp + 0x10]
call fcn.00452460
push dword [ebp - 8]
call fcn.00592c4b
add esp, 0x24
jmp 0x468795
pop edi
pop esi
mov eax, 4
pop ebx
mov esp, ebp
pop ebp
ret