Function at 0x412323
Capabilities:
Check if file exists
Get file size
Read file on windows

Disassembly:
push 0xf4
mov eax, 0x59c7e7
call fcn.005693c7
mov edi, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0xf4], edi
mov dword [ebp - 0xfc], esi
push esi
xor eax, eax
mov dword [ebp - 4], esi
push 0x5a06d8
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x14], 7
mov dword [ebp - 0x18], esi
mov word [ebp - 0x28], ax
call fcn.00403772
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.00403f5e
call fcn.0042aeec
test al, al
je 0x41238e
jnp 0x4123d2
cmp dh, cl
pop ebx
and dword [edx + esi*4], 0xffffffb2
push edx
add eax, 0x1fbdb322
retf
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
cmovae eax, dword [ebp + 0xc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x412619
cmp dword [ebp + 0x20], 8
lea eax, [ebp + 0xc]
push esi
cmovae eax, dword [ebp + 0xc]
push 0x80
push 4
push esi
push 1
push connect
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov dword [ebp - 0xe8], ebx
cmp ebx, 0xffffffff
jne 0x4123e8
push 0x5a06d8
mov ecx, edi
call fcn.00402ac4
jmp 0x412624
call fcn.0042a8b9
test al, al
je 0x412409
add al, 0x92
cmp byte [ebx], dh
sub byte [edx - 0x60173126], bl
inc esp
jmp 0x412448
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0xec], eax
inc eax
push eax
mov dword [ebp - 0xf8], eax
call fcn.00569947
mov dword [ebp - 0xf0], eax
pop ecx
test eax, eax
je 0x4123d7
call fcn.0042ad4e
test al, al
je 0x412455
inc ecx
sub al, ah
push esp
push esp
xor ecx, eax
retf 0xf540
lahf
sti
ljmp 0x63d9
call fcn.0042ae62
test al, al
je 0x41247c
sub ch, byte [0x10234d34]
inc esp
cli
aaa
mov eax, 0xac586556
sahf
fidiv word [eax + 0x56]
xor dword [esi + 0x6f], esp
std
push ebp
pop ebx
pop eax
movsd dword es:[edi], dword [esi]
sbb byte [edi - 0x33], cl
push dword [ebp - 0xf8]
mov esi, dword [ebp - 0xf0]
push 0
push esi
call fcn.0056f390
add esp, 0xc
lea eax, [ebp - 0x100]
push 0
push eax
push dword [ebp - 0xec]
push esi
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_ReadFile]
call fcn.0042acc4
test al, al
je 0x4124cf
test eax, 0xe0f1354c
mov ebp, 0x6a8b9473
invalid
call fcn.0042aa57
test al, al
je 0x4124f0
idiv byte [esi - 0x42]
test al, 0xce
sahf
sbb al, 0x42
xchg ebx, eax
jmp 0x41252b
call fcn.0042aae1
test al, al
je 0x412511
adc dword [edx + 0x56], 0x50f02ea9
call 0xfb858fa3
sbb dh, dl
or dword [esi + 0x60], 0xffffff96
pop ecx
imul ebp, dword [ebx], 0xffffffa0
xor bh, bh
mov ch, 0x18
push dword [ebp - 0xe8]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xec]
mov ebx, dword [ebp - 0xf0]
lea ecx, [ebp - 0xe4]
push ebx
call fcn.00405a5f
push ebx
call fcn.0056947b
pop ecx
call fcn.0042ac7f
test al, al
je 0x412557
sbb al, 0xff
invalid
inc edi
dec esi
dec esp
and dword [eax + 0x7568bb6d], 0x4f
pop ss
mov ecx, 0x61811505
mov dword [0xa8458d15], eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0xe4]
call fcn.004052aa
push eax
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 2
push eax
call fcn.0041a584
pop ecx
pop ecx
push 0
push 1
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.00404928
call fcn.0042ac3a
test al, al
je 0x4125a3
xchg byte [ecx], bh
or ebx, dword [ecx]
inc bh
ja 0x4125ad
mov ah, 0xb8
jmp 0xa58f629a
call fcn.0042aa57
test al, al
je 0x4125ca
wait
xor byte [eax - 0x4b], 0x8d
int3
call fcn.0042ab26
test al, al
je 0x4125f2
aas
lahf
xor byte [ecx + 0x792e10f6], dl
jb 0x41260f
sbb al, 0xc1
pop eax
mov esi, 0xfb00bd9a
in eax, 0x3a
salc
retf
xor esi, esi
cmp dword [ebp - 0x30], esi
jbe 0x412608
push 0xffffffffffffffff
push esi
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x28]
call fcn.004036b6
push esi
push 1
lea ecx, [ebp - 0x40]
call fcn.00403628
mov edi, dword [ebp - 0xf4]
adc eax, 0x8bffff10
mov ebp, 0xffffff0c
lea eax, [ebp - 0x28]
mov ecx, edi
push eax
call fcn.00402a4c
push esi
push 1
lea ecx, [ebp - 0x28]
call fcn.00403628
push esi
push 1
lea ecx, [ebp + 0xc]
call fcn.00403628
mov eax, edi
call fcn.00569382
ret