Function at 0x403a10
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x68
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
xor esi, esi
mov edi, dword [0x4245f0]
xor edi, ebp
mov dword [ebp - 0x10], edi
mov edi, dword [ebp + 8]
mov dword [esp], edi
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x3c], esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x2c], 0xc9c8a4d6
mov eax, dword [ebp - 0x2c]
mov ecx, eax
sub ecx, 0x867dfe52
mov dword [ebp - 0x40], eax
je 0x4040f5
jmp 0x403aa3
mov eax, dword [ebp - 0x40]
sub eax, 0x87cb628a
je 0x403c4b
jmp 0x403ab6
mov eax, dword [ebp - 0x40]
sub eax, 0x940795ab
je 0x404026
jmp 0x403ac9
mov eax, dword [ebp - 0x40]
sub eax, 0xc9c8a4d6
je 0x403bc5
jmp 0x403adc
mov eax, dword [ebp - 0x40]
sub eax, 0xe6fd58a1
je 0x403fc8
jmp 0x403aef
mov eax, dword [ebp - 0x40]
sub eax, 0xf7f253ac
je 0x403d38
jmp 0x403b02
mov eax, dword [ebp - 0x40]
sub eax, 0xf9cd0967
je 0x40417f
jmp 0x403b15
mov eax, dword [ebp - 0x40]
sub eax, 0xdb2ac80
je 0x403fe7
jmp 0x403b28
mov eax, dword [ebp - 0x40]
sub eax, 0x14a56cba
je 0x403be4
jmp 0x403b3b
mov eax, dword [ebp - 0x40]
sub eax, 0x168ff1e2
je 0x403ca6
jmp 0x403b4e
mov eax, dword [ebp - 0x40]
sub eax, 0x1c60dce0
je 0x403c2c
jmp 0x403b61
mov eax, dword [ebp - 0x40]
sub eax, 0x3523063f
je 0x403f97
jmp 0x403b74
mov eax, dword [ebp - 0x40]
sub eax, 0x631c1287
je 0x40418b
jmp 0x403b87
mov eax, dword [ebp - 0x40]
sub eax, 0x6a6d0902
je 0x403bf4
jmp 0x403b9a
mov eax, dword [ebp - 0x40]
sub eax, 0x6eed0b8a
je 0x404006
jmp 0x403bad
mov eax, dword [ebp - 0x40]
sub eax, 0x749929bf
je 0x403fb1
jmp 0x403bc0
jmp 0x404192
mov eax, dword [ebp - 0x1c]
mov ecx, 0xffffffff
cmp eax, ecx
mov eax, 0x14a56cba
mov ecx, 0x6a6d0902
cmove ecx, eax
mov dword [ebp - 0x2c], ecx
jmp 0x404192
mov byte [ebp - 0x1d], 0
mov dword [ebp - 0x2c], 0x6eed0b8a
jmp 0x404192
xor eax, eax
mov ecx, dword [ebp - 0x24]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [ebp - 0x44], eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
sub esp, 8
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0xffffffff
mov eax, 0x1c60dce0
mov ecx, 0x87cb628a
cmove ecx, eax
mov dword [ebp - 0x2c], ecx
jmp 0x404192
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x1d], 0
mov dword [ebp - 0x2c], 0x6eed0b8a
jmp 0x404192
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.0040d0b3
xor ecx, ecx
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp + 0xc]
mov esi, dword [esi]
mov edi, dword [ebp - 0x24]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [ebp - 0x48], ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub esp, 0x14
cmp eax, 0
mov eax, 0xdb2ac80
mov ecx, 0x168ff1e2
cmovne ecx, eax
mov dword [ebp - 0x2c], ecx
jmp 0x404192
xor eax, eax
mov ecx, dword [0x424fbc]
mov edx, dword [0x424fc0]
mov esi, ecx
sub esi, 0xc21673b7
add esi, 0x8a9f2d6c
add esi, 0xc21673b7
sub eax, 1
add esi, eax
sub esi, 0xb3c8b1b4
sub esi, 0x8a9f2d6c
add esi, 0xb3c8b1b4
imul ecx, esi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 0
or al, ah
or cl, 0
xor al, 0xff
and al, cl
mov cl, bl
xor cl, 0xff
mov ah, bh
and ah, cl
xor bh, 0xff
and bl, bh
or ah, bl
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov edx, 0xf7f253ac
mov esi, 0x940795ab
cmovne esi, edx
mov dword [ebp - 0x2c], esi
jmp 0x404192
xor eax, eax
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, 0
sete dl
and dl, 1
mov byte [ebp - 0x11], dl
mov ecx, dword [0x424fbc]
mov esi, dword [0x424fc0]
mov edi, ecx
sub edi, 0x3379ab6c
sub edi, 0x2954326
add edi, 0x3379ab6c
sub edi, 0x72f3cb36
sub edi, 1
add edi, 0x72f3cb36
mov ebx, eax
sub ebx, edi
mov edi, eax
sub edi, 0x2954326
add ebx, edi
sub eax, ebx
imul ecx, eax
and ecx, 1
cmp ecx, 0
sete dl
cmp esi, 0xa
setl dh
mov al, dl
xor al, 0xff
and al, 0
mov ah, 1
mov cl, ah
xor cl, 0
mov ch, dl
and ch, cl
mov bl, ah
xor bl, 1
and bl, 0
and cl, 1
or al, ch
or bl, cl
xor al, bl
mov cl, dh
xor cl, 0xff
and cl, 1
mov ch, ah
xor ch, 1
mov bl, dh
and bl, ch
mov bh, ah
xor bh, 1
and bh, 0xff
and ch, 1
or cl, bl
or bh, ch
xor cl, bh
mov ch, ah
xor ch, 1
and ch, 1
mov bl, ah
xor bl, 1
mov bh, bl
and bh, 1
mov byte [ebp - 0x49], ah
xor ah, 1
and ah, 0xff
and bl, 1
or ch, bh
or ah, bl
xor ch, ah
mov ah, byte [ebp - 0x49]
xor ah, 1
mov bl, al
xor bl, ah
and bl, al
mov ah, ch
xor ah, 0xff
mov bh, dl
xor bh, ah
and bh, dl
mov dl, byte [ebp - 0x49]
xor dl, 1
mov ah, cl
xor ah, dl
and ah, cl
mov dl, ch
xor dl, 0xff
mov byte [ebp - 0x4a], dh
xor dh, dl
mov dl, byte [ebp - 0x4a]
and dh, dl
mov dl, bl
xor dl, 0xff
mov byte [ebp - 0x4b], bh
xor bh, 0xff
mov byte [ebp - 0x4c], al
mov al, byte [ebp - 0x49]
xor al, 1
mov byte [ebp - 0x4d], dl
and dl, 0xff
and bl, al
mov byte [ebp - 0x4e], bh
and bh, 0xff
mov byte [ebp - 0x4f], al
mov al, byte [ebp - 0x4b]
mov byte [ebp - 0x50], cl
mov cl, byte [ebp - 0x4f]
and al, cl
or dl, bl
or bh, al
xor dl, bh
mov al, byte [ebp - 0x4d]
mov bl, byte [ebp - 0x4e]
or al, bl
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov al, ah
xor al, 0xff
mov cl, dh
xor cl, 0xff
mov bh, byte [ebp - 0x49]
xor bh, 0
mov bl, al
and bl, 0
and ah, bh
mov byte [ebp - 0x51], cl
and cl, 0
and dh, bh
or bl, ah
or cl, dh
xor bl, cl
mov cl, byte [ebp - 0x51]
or al, cl
xor al, 0xff
or bh, 0
and al, bh
or bl, al
mov al, dl
xor al, 0xff
and al, 0
mov ah, byte [ebp - 0x49]
xor ah, 0
and dl, ah
mov dh, bl
xor dh, 0xff
and dh, 0
and bl, ah
or al, dl
or dh, bl
xor al, dh
mov dl, byte [ebp - 0x4c]
xor dl, 0xff
mov ah, byte [ebp - 0x50]
xor ah, 0xff
mov dh, byte [ebp - 0x49]
xor dh, 0
mov bl, dl
and bl, 0
mov bh, byte [ebp - 0x4c]
and bh, dh
mov cl, ah
and cl, 0
mov byte [ebp - 0x52], al
mov al, byte [ebp - 0x50]
and al, dh
or bl, bh
or cl, al
xor bl, cl
or dl, ah
xor dl, 0xff
or dh, 0
and dl, dh
or bl, dl
mov al, bl
xor al, 0xff
and al, 0
mov cl, byte [ebp - 0x49]
xor cl, 0
and bl, cl
mov dl, byte [ebp - 0x49]
xor dl, 1
and dl, 0
and cl, 1
or al, bl
or dl, cl
xor al, dl
mov cl, ch
and cl, 1
xor ch, 1
or cl, ch
xor al, 0xff
xor cl, 0xff
mov dl, byte [ebp - 0x49]
xor dl, 0
or al, cl
or dl, 0
xor al, 0xff
and al, dl
mov cl, byte [ebp - 0x52]
xor cl, 0xff
mov dl, al
xor dl, 0xff
mov ah, byte [ebp - 0x49]
xor ah, 0
mov ch, cl
and ch, 0
mov dh, byte [ebp - 0x52]
and dh, ah
mov bl, dl
and bl, 0
and al, ah
or ch, dh
or bl, al
xor ch, bl
or cl, dl
xor cl, 0xff
or ah, 0
and cl, ah
or ch, cl
test ch, 1
mov esi, 0x3523063f
mov edi, 0x940795ab
cmovne edi, esi
mov dword [ebp - 0x2c], edi
jmp 0x404192
mov al, byte [ebp - 0x11]
test al, 1
mov ecx, 0xe6fd58a1
mov edx, 0x749929bf
cmovne edx, ecx
mov dword [ebp - 0x2c], edx
jmp 0x404192
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call fcn.0040d0bc
mov dword [ebp - 0x2c], 0xe6fd58a1
jmp 0x404192
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x1d], 0
mov dword [ebp - 0x2c], 0x6eed0b8a
jmp 0x404192
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x1d], 1
mov dword [ebp - 0x2c], 0x6eed0b8a
jmp 0x404192
mov al, byte [ebp - 0x1d]
and al, 1
movzx eax, al
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
mov dword [ebp - 0x58], eax
call fcn.0040d0c1
mov eax, dword [ebp - 0x58]
add esp, 0x68
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [0x424fbc]
mov ecx, dword [0x424fc0]
mov edx, eax
add edx, 0x8dbf984e
sub edx, 0xf51ad9df
sub edx, 0x8dbf984e
sub edx, 0x242bb5d8
sub edx, 1
add edx, 0x242bb5d8
sub edx, 0x19fb9b12
add edx, 0xf51ad9df
add edx, 0x19fb9b12
imul eax, edx
and eax, 1
cmp eax, 0
sete bl
cmp ecx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
mov ch, cl
xor ch, 1
or al, ah
or ch, 1
xor al, 0xff
and al, ch
mov ah, bl
xor ah, 0xff
and ah, 0
mov ch, cl
xor ch, 0
and bl, ch
mov dl, bh
xor dl, 0xff
and dl, 0
and bh, ch
or ah, bl
or dl, bh
xor ah, dl
mov dl, al
xor dl, 0xff
mov ch, ah
xor ch, 0xff
xor cl, 0
mov dh, dl
and dh, 0
and al, cl
mov bl, ch
and bl, 0
and ah, cl
or dh, al
or bl, ah
xor dh, bl
or dl, ch
xor dl, 0xff
or cl, 0
and dl, cl
or dh, dl
test dh, 1
mov esi, 0x867dfe52
mov edi, 0x631c1287
cmovne edi, esi
mov dword [ebp - 0x2c], edi
jmp 0x404192
xor eax, eax
mov ecx, dword [0x424fbc]
mov edx, dword [0x424fc0]
mov esi, eax
sub esi, 0x511db0f4
mov edi, ecx
sub edi, esi
sub eax, 1
add edi, eax
add edi, 0xc4d3ec45
sub edi, 0x511db0f4
sub edi, 0xc4d3ec45
imul ecx, edi
and ecx, 1
cmp ecx, 0
sete bl
cmp edx, 0xa
setl bh
mov al, bl
xor al, 0xff
mov ah, bh
xor ah, 0xff
mov cl, 1
xor cl, 1
or al, ah
or cl, 1
xor al, 0xff
and al, cl
mov cl, bl
xor cl, 0xff
mov ah, bh
and ah, cl
xor bh, 0xff
and bl, bh
or ah, bl
mov cl, al
and cl, ah
xor al, ah
or cl, al
test cl, 1
mov edx, 0xf9cd0967
mov esi, 0x631c1287
cmovne esi, edx
mov dword [ebp - 0x2c], esi
jmp 0x404192
mov dword [ebp - 0x2c], 0xf7f253ac
jmp 0x404192
mov dword [ebp - 0x2c], 0x867dfe52
jmp 0x403a8a