Function at 0x60c350
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x690fd1
mov eax, dword fs:[0]
push eax
mov eax, 0x100f0
call fcn.0065cc50
mov eax, dword [0x745694]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x100ec], esi
mov dword [ebp - 0x100e4], eax
mov dword [ebp - 0x100f4], 0
mov dword [ebp - 0x100f0], 0
lea ecx, [ebp - 0x100f4]
mov dword [ebp - 4], 0
push ecx
push eax
call fcn.005be590
add esp, 8
push 0
push 0x80
push 3
push 0
push 1
push accept
push dword [ebp - 0x100f4]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x60c675
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x10054]
push eax
call fcn.005c07e0
add esp, 8
mov ecx, dword [ebp - 0x100e4]
mov eax, accept
mov byte [ebp - 4], 1
mov edx, dword [ecx + 0x10]
sub eax, edx
mov dword [ebp - 0x100ec], edx
cmp eax, 0xe
jb 0x60c85b
cmp dword [ecx + 0x14], 0x10
jb 0x60c42e
mov ecx, dword [ecx]
mov dword [ebp - 0x100e4], ecx
lea eax, [edx + 0xe]
mov dword [ebp - 0x1003c], 0
mov edi, 0xf
mov dword [ebp - 0x1002c], 0
mov dword [ebp - 0x10028], 0
lea edx, [ebp - 0x1003c]
mov dword [ebp - 0x100fc], eax
mov dword [ebp - 0x100f8], edx
cmp eax, edi
jbe 0x60c4b1
mov edi, eax
or edi, 0xf
cmp edi, 0x7fffffff
jbe 0x60c47e
mov edi, accept
jmp 0x60c488
mov eax, 0x16
cmp edi, eax
cmovb edi, eax
lea eax, [edi + 1]
push eax
lea ecx, [ebp - 0x1003c]
call fcn.00448c50
mov ecx, dword [ebp - 0x100e4]
mov edx, eax
mov eax, dword [ebp - 0x100fc]
mov dword [ebp - 0x100f8], edx
mov dword [ebp - 0x1003c], edx
movq xmm0, qword [str.Error_opening]
mov dword [ebp - 0x1002c], eax
mov dword [ebp - 0x10028], edi
mov edi, dword [ebp - 0x100ec]
movq qword [edx], xmm0
mov eax, dword [0x69ffc8]
mov dword [edx + 8], eax
mov ax, word [0x69ffcc]
push edi
mov word [edx + 0xc], ax
lea eax, [edx + 0xe]
push ecx
push eax
call fcn.0065fd30
mov eax, dword [ebp - 0x100f8]
add esp, 0xc
mov byte [eax + edi + 0xe], 0
push 3
push 0x71e760
lea ecx, [ebp - 0x1003c]
mov byte [ebp - 4], 2
call fcn.004485a0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1006c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x1005c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x10054]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x1006c]
push eax
push dword [ebp - 0x100ec]
lea ecx, [ebp - 0x10084]
call fcn.005a2b00
lea eax, [ebp - 0x10084]
mov ecx, 0x7450c8
push eax
call fcn.005a3660
mov edx, dword [ebp - 0x10070]
cmp edx, 0x10
jb 0x60c5a6
mov ecx, dword [ebp - 0x10084]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x60c59c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x60c860
push edx
push ecx
call fcn.0065cc27
add esp, 8
mov edx, dword [ebp - 0x10058]
cmp edx, 0x10
jb 0x60c5e0
mov ecx, dword [ebp - 0x1006c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x60c5d6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x60c860
push edx
push ecx
call fcn.0065cc27
add esp, 8
mov edx, dword [ebp - 0x10028]
cmp edx, 0x10
jb 0x60c61a
mov ecx, dword [ebp - 0x1003c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x60c610
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x60c860
push edx
push ecx
call fcn.0065cc27
add esp, 8
mov edx, dword [ebp - 0x10040]
mov dword [ebp - 0x1002c], 0
mov dword [ebp - 0x10028], 0xf
mov byte [ebp - 0x1003c], 0
cmp edx, 0x10
jb 0x60c814
mov ecx, dword [ebp - 0x10054]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x60c669
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x60c860
push edx
push ecx
call fcn.0065cc27
jmp 0x60c811
lea eax, [ebp - 0x100e0]
push eax
call fcn.0060ceb0
add esp, 4
push 0
lea eax, [ebp - 0x100e8]
push eax
push 0xffff
lea eax, [ebp - 0x10024]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x60c771
push dword [ebp - 0x100e8]
lea eax, [ebp - 0x10024]
push eax
lea eax, [ebp - 0x100e0]
push eax
call fcn.0060cef0
add esp, 0xc
cmp dword [ebp - 0x100e8], 0
ja 0x60c684
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x100e0]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0060cfb0
add esp, 8
xor edi, edi
nop dword [eax]
mov dl, byte [ebp + edi - 0x24]
mov al, dl
movzx ecx, dl
and al, 0xf0
cmp al, 0xa0
sbb al, al
shr ecx, 4
and al, 0xd9
add al, 0x57
add al, cl
mov byte [ebp + edi*2 - 0x10024], al
mov al, dl
and al, 0xf
cmp al, 0xa
sbb al, al
and dl, 0xf
and al, 0xd9
add al, 0x57
add al, dl
mov byte [ebp + edi*2 - 0x10023], al
inc edi
cmp edi, 0x14
jl 0x60c6f0
lea ecx, [ebp - 0x10024]
mov dword [esi], 0
mov dword [esi + 0x10], 0
lea edx, [ecx + 1]
mov dword [esi + 0x14], 0xf
mov byte [ebp - 0xfffc], 0
mov byte [esi], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x60c754
sub ecx, edx
lea eax, [ebp - 0x10024]
push ecx
push eax
mov ecx, esi
call fcn.004484a0
jmp 0x60c82b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x10054]
push eax
call fcn.005c07e0
mov ecx, dword [0x7450dc]
add esp, 8
cmp ecx, 0x10
jb 0x60c7c0
mov eax, dword [0x7450c8]
inc ecx
cmp ecx, 0x1000
jb 0x60c7b6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x60c860
mov eax, edx
push ecx
push eax
call fcn.0065cc27
add esp, 8
movups xmm0, xmmword [ebp - 0x10054]
lea eax, [ebp - 0x10024]
push dword [ebp - 0x100e8]
movups xmmword [0x7450c8], xmm0
push eax
movq xmm0, qword [ebp - 0x10044]
lea eax, [ebp - 0x100e0]
push eax
movq qword [0x7450d8], xmm0
call fcn.0060cef0
add esp, 0xc
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x100e0]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0060cfb0
add esp, 8
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov eax, dword [ebp - 0x100f4]
test eax, eax
je 0x60c83e
push eax
call fcn.006637b7
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0065cc3a
mov esp, ebp
pop ebp
ret
call fcn.00446f60
call fcn.0066375b
int3