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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x28
mov eax, dword [0x45a7c4]
mov ebp, dword [esp + 0x40]
xor eax, esp
mov dword [esp + 0x24], eax
mov eax, dword [0x45b4b8]
lea edx, [eax - 1]
imul edx, eax
mov ecx, edx
mov eax, edx
xor ecx, 0x6c6d4005
not eax
and ecx, edx
or edx, 0x9392bffa
and eax, 0x24090004
mov esi, ecx
mov edi, edx
and ecx, 0x258b86c6
not esi
and edi, 0xda747939
or edx, esi
and esi, 0xda747939
or eax, edi
or ecx, esi
not edx
xor ecx, eax
or edx, ecx
mov eax, edx
and edx, 0x3ee796b6
not eax
and eax, 0xc1186949
or edx, eax
mov eax, edx
xor edx, 0x921014c
xor eax, 0x528ad6b3
and edx, 0x4b2301dc
mov ecx, eax
and eax, 0x5965425d
and ecx, 0xb4dcfe23
or ecx, edx
mov edx, ecx
mov esi, ecx
xor ecx, 0xb4dcfe22
xor edx, 0xb4dcfe23
xor esi, 0xedb9bc7e
and esi, edx
and edx, 1
mov edi, esi
or ecx, edx
and edi, eax
xor eax, esi
mov edx, ecx
and ecx, 0x789d09ae
or eax, edi
not edx
mov esi, eax
and eax, 0xa69abda3
and edx, 0x8762f651
not esi
or ecx, edx
and esi, 0x5965425c
or eax, esi
mov edx, eax
and eax, 0x2307e35e
not edx
mov esi, edx
and esi, 0xdcf81ca1
or eax, esi
mov esi, ecx
xor ecx, 0x8762f651
xor esi, 0x2005010e
or edx, ecx
and ecx, 0xdcf81ca1
and esi, 0x2307e35e
not edx
or esi, ecx
mov ecx, dword [0x45b4bc]
xor esi, eax
or edx, esi
mov eax, edx
and edx, 0xc0bffee
not eax
and eax, 0xf3f40011
or eax, edx
mov edx, eax
xor eax, 0xf3f40011
xor edx, 0x1c0c
mov esi, eax
and esi, 0x8c5fe3f3
and edx, 0x73a01c0c
or edx, esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileA]
xor edx, 0x73a01c0c
or edx, eax
mov eax, 0xf1d2dd06
cmp edx, 0xffffffff
sete byte [esp + 0xe]
cmp ecx, 0xa
mov dword [esp + 8], ecx
setl byte [esp + 0xf]
jmp 0x464c91
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x96518cd
mov cl, 1
mov dword [esp + 4], ecx
nop word cs:[eax + eax]
nop
cmp eax, 0x348ac06
jg 0x464ea0
cmp eax, 0xcb82b92a
jle 0x464ce0
cmp eax, 0xec999190
jg 0x464d11
cmp eax, 0xcb82b92b
je 0x464f70
cmp eax, 0xd4a54340
je 0x4650ee
cmp eax, 0xcd393115
jne 0x464ca0
jmp 0x4654c1
cmp eax, 0xbd4aec45
jg 0x464e6f
cmp eax, 0x9a558161
je 0x46511b
cmp eax, 0xa52ca2f0
jne 0x464ca0
cmp byte [esp + 0x17], 0
mov eax, 0xcb82b92b
mov ecx, 0xc4d7d7e6
jmp 0x4652c1
cmp eax, 0xec999191
je 0x465291
cmp eax, 0xf1d2dd06
jne 0x464ca0
mov ah, byte [esp + 0xe]
mov bh, byte [esp + 0xf]
mov edi, 0xd4a54340
mov dh, ah
mov dl, ah
xor dh, 1
mov ch, dh
mov cl, dh
mov byte [esp + 3], dh
and ch, ah
and cl, ch
xor dh, ch
xor ch, 1
or dh, cl
xor dl, ch
or ch, ah
mov al, dh
mov bl, dh
xor ch, 1
xor al, 1
or ch, dl
mov dl, byte [esp + 3]
and bl, al
mov byte [esp + 2], al
mov cl, bl
xor bl, dh
and cl, dh
or dh, al
mov al, dh
mov byte [esp + 1], cl
mov cl, dh
xor al, 1
or bl, byte [esp + 1]
and al, dh
and cl, al
xor al, dh
or al, cl
mov cl, bh
xor ch, al
mov al, dh
xor dh, dl
xor cl, 1
and al, dl
mov ah, cl
or dh, al
mov al, ch
xor dh, 1
and al, dh
xor dh, ch
mov ch, cl
and ch, bh
or dh, al
mov dl, ch
xor ch, cl
or cl, bh
xor dh, 1
xor cl, 1
xor dl, 1
xor ah, cl
or dl, bh
and cl, ah
mov al, ah
xor dl, 1
xor al, cl
xor cl, 1
or dl, ch
or cl, ah
xor al, 1
mov ah, byte [esp + 2]
xor cl, 1
or cl, al
mov al, dh
xor al, cl
or dh, cl
xor al, 1
xor dh, 1
and al, cl
mov ecx, eax
and cl, dh
xor dh, al
mov al, bl
xor al, 1
or dh, cl
and al, dl
xor dl, 1
and dl, bl
or dl, al
mov al, ah
xor ah, bh
and al, bh
or ah, al
mov al, ah
xor al, dl
xor dl, 1
or dl, ah
xor al, 1
xor dl, 1
or dl, al
mov al, dh
xor al, 1
mov ecx, edx
mov ah, al
mov ch, al
and ah, dh
xor ch, ah
xor ah, 1
or ah, dh
mov dh, al
xor al, dl
and dh, dl
xor dl, 1
xor ah, 1
and cl, dl
or ah, ch
mov ch, dl
or al, dh
xor cl, 1
xor ch, cl
or cl, dl
mov dl, ah
xor cl, 1
xor dl, 1
or cl, ch
mov ch, al
and dl, cl
xor cl, 1
and cl, ah
or cl, dl
xor ch, cl
test al, 1
mov eax, 0x46236b9c
cmovne eax, edi
test cl, 1
cmove eax, edi
test ch, 1
mov ecx, 0x46236b9c
jmp 0x4654ae
cmp eax, 0xbd4aec46
je 0x4652b2
cmp eax, 0xc4d7d7e6
jne 0x464ca0
mov eax, 0xcd393115
mov dword [esp + 8], 0
cmp eax, 0x348ac06
jle 0x464cab
nop dword [eax]
cmp eax, 0x46236b9b
jg 0x464ee0
cmp eax, 0x96518cc
jg 0x464f18
cmp eax, 0x348ac07
je 0x464f2e
cmp eax, 0x59f1718
jne 0x464ca0
push 0
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov eax, 0x9a558161
cmp eax, 0x348ac06
jle 0x464cab
jmp 0x464ea0
cmp eax, 0x5dedcc8d
jg 0x464f55
cmp eax, 0x46236b9c
je 0x4652d4
cmp eax, 0x4a814b6d
jne 0x464ca0
mov eax, dword [ebp]
mov ecx, 0x348ac07
mov dword [esp + 0x20], eax
mov eax, 0xec999191
cmp dword [esp + 0x20], 0
jmp 0x4654ae
cmp eax, 0x96518cd
je 0x465461
cmp eax, 0xdecec7a
jne 0x464ca0
push dword [esp + 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x96518cd
mov dword [esp + 4], 0
cmp eax, 0x348ac06
jle 0x464cab
jmp 0x464ea0
cmp eax, 0x5dedcc8e
je 0x46547e
cmp eax, 0x6c618373
jne 0x464ca0
jmp 0x464c80
mov eax, dword [0x45b4b8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
not eax
xor edx, 0x7c5e6426
and edx, eax
or eax, 0x7c5e6426
mov ebx, eax
mov edi, eax
not ebx
and edi, 0xc37210b3
and ebx, 0x818b48
or ebx, edi
mov edi, edx
and edx, 0x3c8def4c
not edi
or eax, edi
and edi, 0xc37210b3
or edx, edi
not eax
mov edi, ecx
xor ecx, 1
xor edx, ebx
and edi, 1
or eax, edx
or ecx, edi
mov edx, eax
and eax, 0xb18083d9
mov ebx, ecx
not edx
not ebx
and edx, 0x4e7f7c26
and ebx, 0xd5d2b7ff
or eax, edx
mov edx, eax
xor eax, 0xcddee7fe
mov edi, eax
xor edx, 0x10001001
or eax, ecx
and ecx, 0x2a2d4800
and edi, 0x2a2d4800
and edx, 0xd5d2b7ff
or ebx, ecx
not eax
or edx, edi
xor ebx, edx
or eax, ebx
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0xb1ae1606
and edx, 0x4e51e9f9
or eax, edx
xor eax, 0xb1ae1606
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
mov edx, dword [0x45b4bc]
mov ecx, eax
and eax, 0x1b908c3
not ecx
and ecx, 0xfe46f73c
or eax, ecx
mov ecx, eax
xor eax, 0x6240113c
xor ecx, 0xa80081
and eax, 0x6351197e
and ecx, 0x9caee681
or ecx, eax
xor ecx, 0x9caee681
sete cl
setne ah
cmp edx, 0xa
setl al
cmp edx, 9
mov ch, al
setg dl
and al, ah
or ch, cl
and cl, dl
xor dl, ah
xor ch, 1
or al, cl
or ch, dl
mov dl, ch
xor dl, 1
mov cl, dl
and cl, ch
mov ah, cl
xor cl, dl
xor ah, 1
or ah, ch
mov ch, al
xor ch, 1
xor ah, 1
and ch, al
or ah, cl
mov cl, ch
xor ch, al
and cl, al
or ch, cl
mov cl, ah
xor cl, 1
and cl, ch
xor ch, 1
and ch, ah
or ch, cl
mov cl, dl
xor cl, al
or al, dl
mov edx, 0x59f1718
xor al, 1
or al, cl
mov cl, al
xor cl, ch
test al, 1
mov eax, 0x9a558161
cmovne eax, edx
test ch, 1
cmove eax, edx
test cl, 1
mov edx, 0x9a558161
jmp 0x46544e
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push dword [esp + 0x54]
call esi
mov eax, 0x46236b9c
cmp eax, 0x348ac06
jle 0x464cab
jmp 0x464ea0
push 0
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [esp + 0x18], eax
mov esi, ebp
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
mov eax, dword [0x45b4b8]
sete byte [esp + 0x1f]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0x2fa07689
and eax, ecx
not ecx
and ecx, 0x2fa07689
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
and eax, 0x2fa07689
not ecx
and ecx, 0xd05f8976
or eax, ecx
mov edi, eax
mov edx, eax
xor edi, 0x778fdd9
not edx
mov ebx, edi
and edi, eax
xor eax, 0xfffffffe
and ebx, edx
and edx, 1
mov ecx, ebx
and ebx, 0x30645fc4
or eax, edx
not ecx
mov edx, eax
and eax, 0x5493b0f
mov ebp, ecx
not edx
and ebp, 0xcf9ba03b
and edx, 0xfab6c4f0
or ebx, ebp
mov ebp, edi
and edi, 0x30645fc4
or eax, edx
not ebp
xor eax, 0x5493b0f
or ecx, ebp
and ebp, 0xcf9ba03b
or edi, ebp
not ecx
mov ebp, esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileA]
xor edi, ebx
or ecx, edi
mov edi, ecx
and ecx, 0x17002d31
not edi
and edi, 0xe8ffd2ce
or ecx, edi
mov edi, 0xbd4aec46
xor ecx, 0x1078d0e9
mov edx, ecx
and edx, eax
xor eax, ecx
mov ecx, dword [0x45b4bc]
or eax, edx
mov edx, eax
and eax, 0xe10046d3
not edx
and edx, 0x1effb92c
or eax, edx
xor eax, 0xe10046d3
sete dl
cmp ecx, 9
setg ah
cmp ecx, 0xa
mov al, dl
setl cl
xor al, cl
mov ch, al
and al, cl
or ch, ah
xor ah, dl
mov dh, ch
not ah
xor dh, 1
and ah, dl
mov dl, dh
mov cl, ah
and dl, ch
and cl, al
xor al, ah
mov ebx, edx
or al, cl
xor dl, dh
xor bl, 1
mov cl, al
or bl, ch
xor cl, ch
xor bl, 1
xor cl, 1
or bl, dl
xor bl, al
or al, dh
mov edx, 0x59f1718
xor al, 1
or al, cl
mov ecx, eax
xor cl, bl
test cl, 1
cmovne edi, edx
test al, 1
mov eax, 0xbd4aec46
cmovne eax, edi
test bl, 1
cmove eax, edi
cmp eax, 0x348ac06
jle 0x464cab
jmp 0x464ea0
push dword [esp + 0x20]
call fcn.0042c8ac
add esp, 4
mov eax, 0x348ac07
cmp eax, 0x348ac06
jle 0x464cab
jmp 0x464ea0
cmp byte [esp + 0x1f], 0
mov eax, 0x5dedcc8e
mov ecx, 0xdecec7a
cmovne eax, ecx
cmp eax, 0x348ac06
jle 0x464cab
jmp 0x464ea0
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push dword [esp + 0x54]
call esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [0x45b4b8]
cmp eax, 0xffffffff
lea eax, [ecx - 1]
sete byte [esp + 0x17]
imul eax, ecx
mov ecx, eax
and eax, 0xbada09
not ecx
and ecx, 0xff4525f6
or eax, ecx
mov edx, eax
mov ecx, eax
xor eax, 0xbada08
xor ecx, 0xff4525f6
xor edx, 0xbada09
and eax, edx
and ecx, 0xfffffffe
and edx, 1
or edx, ecx
mov ecx, eax
and eax, 0x7d4e1cdb
mov edi, edx
not ecx
and edx, 0x7d4e1cdb
mov ebx, ecx
not edi
or ecx, edi
and ebx, 0x82b1e324
and edi, 0x82b1e324
or eax, ebx
or edx, edi
not ecx
xor edx, eax
or ecx, edx
mov eax, ecx
or ecx, 0x620576a
mov edx, ecx
not eax
and ecx, 0x267c8d44
not edx
or eax, 0xf9dfa895
and edx, 0xd9832091
or edx, ecx
mov ecx, eax
and eax, 0x267c8d44
not ecx
and ecx, 0x522a
or ecx, eax
xor ecx, edx
mov edx, dword [0x45b4bc]
mov eax, ecx
and ecx, 0x8f753f66
not eax
and eax, 0x708ac099
or ecx, eax
mov eax, ecx
xor ecx, 0x446000
xor eax, 0x22828353
and ecx, 0x546c74a0
and eax, 0xab938b5f
or eax, ecx
mov ecx, eax
xor eax, 0x406c4400
xor ecx, 0xb930254
and eax, 0xe06ccd0b
and ecx, 0x1f9332f4
or ecx, eax
xor ecx, 0xe06ccd0b
cmp ecx, 0xffffffff
sete cl
setne ah
cmp edx, 0xa
setl al
cmp edx, 9
setg dl
mov ch, al
and al, ah
and ch, cl
and ah, dl
and cl, dl
or ch, ah
or al, cl
xor ch, 1
or ch, dl
mov dl, ch
xor dl, 1
and ch, dl
mov cl, ch
xor ch, dl
and cl, dl
or ch, cl
mov cl, dl
xor ch, al
xor cl, al
or al, dl
mov edx, 0xd4a54340
xor al, 1
or al, cl
mov cl, al
xor cl, ch
test al, 1
mov eax, 0xa52ca2f0
cmovne eax, edx
test ch, 1
cmove eax, edx
test cl, 1
mov edx, 0xa52ca2f0
cmove eax, edx
cmp eax, 0x348ac06
jle 0x464cab
jmp 0x464ea0
mov ecx, dword [esp + 4]
mov eax, 0xcd393115
mov dword [esp + 8], ecx
cmp eax, 0x348ac06
jle 0x464cab
jmp 0x464ea0
push dword [esp + 0x18]
call fcn.0042c8a3
add esp, 4
mov dword [ebp], eax
push 0
push dword [esp + 0x48]
push dword [esp + 0x20]
push eax
push dword [esp + 0x20]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
mov eax, 0x6c618373
mov ecx, 0x4a814b6d
cmove eax, ecx
cmp eax, 0x348ac06
jle 0x464cab
jmp 0x464ea0
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x24]
xor ecx, esp
and bl, 1
call fcn.0042c8b1
mov eax, ebx
add esp, 0x28
pop esi
pop edi
pop ebx
pop ebp
ret