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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov eax, dword [0x44a534]
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, esp
mov dword [esp + 0x1c], eax
mov eax, dword [0x44b080]
mov ecx, dword [0x44b084]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 1
not eax
mov esi, eax
and esi, 0xfffffffe
or edx, esi
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileA]
xor eax, edx
test eax, edx
mov eax, 0xca1c67aa
sete byte [esp + 6]
cmp ecx, 0xa
setl byte [esp + 7]
mov dword [esp], ecx
cmp eax, 0xd96c6cc0
jg 0x451ba0
jmp 0x451abb
test cl, cl
cmovne eax, edi
nop dword [eax + eax]
cmp eax, 0xd96c6cc0
jg 0x451ba0
cmp eax, 0xb82468c0
jg 0x451af0
cmp eax, 0x9cf652fe
jg 0x451ca7
cmp eax, 0x90ea8684
jg 0x451e71
cmp eax, 0x83cfecd3
je 0x45209d
cmp eax, 0x883830f7
jne 0x451ab0
jmp 0x452612
cmp eax, 0xca1c67a9
jg 0x451d50
cmp eax, 0xc5d96e2e
jg 0x451eb4
cmp eax, 0xb82468c1
je 0x4520ca
cmp eax, 0xb90651d5
jne 0x451ab0
push dword [esp + 8]
call ebp
mov eax, dword [0x44b080]
mov edx, dword [0x44b084]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xc3b84111
not eax
mov edi, eax
and edi, 0x3c47beee
or ecx, edi
mov edi, 0x5a19e967
xor ecx, 0xc3b84110
xor eax, ecx
test eax, ecx
sete al
setne ah
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
and cl, ah
and al, dl
or dl, ah
or cl, al
mov eax, 0xf549cf5f
jne 0x451b78
mov edi, 0xf549cf5f
xor cl, dl
test dl, dl
jne 0x451b80
mov eax, edi
test cl, cl
jne 0x451ab0
mov eax, 0x5a19e967
cmp eax, 0xd96c6cc0
jle 0x451abb
nop dword [eax + eax]
cmp eax, 0x21d6b8e
jg 0x451c70
cmp eax, 0xf3ef9f89
jg 0x451d89
cmp eax, 0xebe93b49
jg 0x451f06
cmp eax, 0xd96c6cc1
je 0x451f4d
cmp eax, 0xe2368e96
jne 0x451ab0
mov eax, dword [0x44b080]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x729638ba
not eax
and eax, 0x8d69c745
or ecx, eax
mov eax, ecx
xor ecx, 0x9210040
xor eax, 0x729638ba
and ecx, 0x4ba520da
mov edx, eax
and eax, 0xfffffffe
and edx, 0xb45adf25
or edx, ecx
xor edx, 0xb45adf24
or eax, edx
mov edx, 0xb90651d5
cmp eax, 0xffffffff
sete cl
cmp dword [0x44b084], 0xa
setl al
xor cl, al
mov ch, cl
not ch
and ch, al
test cl, cl
mov eax, 0xb90651d5
jne 0x451c46
mov edx, 0xf549cf5f
xor cl, ch
test ch, ch
jne 0x451c51
mov edx, 0xf549cf5f
test cl, cl
jne 0x451ab0
mov eax, edx
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp eax, 0x5cc08fe9
jg 0x451dc5
cmp eax, 0x3cf994b1
jg 0x451f37
cmp eax, 0x21d6b8f
je 0x4520e1
cmp eax, 0xabb246d
jne 0x451ab0
push dword [esp + 8]
call ebp
jmp 0x452043
cmp eax, 0xa6b91fd5
jg 0x451f69
cmp eax, 0x9cf652ff
je 0x452106
cmp eax, 0xa087ae30
jne 0x451ab0
mov eax, dword [0x44b080]
mov ecx, dword [0x44b084]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0x7bd72946
not eax
mov edi, eax
and eax, 0xfffffffe
and edi, 0x8428d6b9
or edi, edx
xor edi, 0x8428d6b8
or eax, edi
mov edi, 0xff339ff6
mov edx, eax
and eax, 0xa88b2e71
not edx
and edx, 0x5774d18e
or eax, edx
xor eax, 0xa88b2e71
sete al
setne ah
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl dl
and dh, al
mov ecx, edx
xor cl, ah
and cl, dl
and dl, ah
or dl, dh
mov eax, ecx
xor al, dl
mov eax, 0xff339ff6
jne 0x451d41
mov eax, 0xececb1da
test dl, dl
jne 0x451aa3
mov edi, eax
jmp 0x451aa3
cmp eax, 0xcfe46ce2
jg 0x451fa0
cmp eax, 0xca1c67aa
je 0x452183
cmp eax, 0xce5d0a9c
jne 0x451ab0
mov ebx, dword [esp]
mov eax, 0x883830f7
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp eax, 0xf7115c86
jg 0x451fbb
cmp eax, 0xf3ef9f8a
je 0x4521ea
cmp eax, 0xf549cf5f
jne 0x451ab0
push dword [esp + 8]
call ebp
mov eax, 0xb90651d5
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp eax, 0x64dd6ac8
jg 0x452058
cmp eax, 0x5cc08fea
je 0x452221
cmp eax, 0x5cd2c82b
jne 0x451ab0
mov ecx, dword [0x44b080]
mov eax, dword [0x44b084]
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0xa6d7de1c
not ecx
and ecx, 0x592821e3
or edx, ecx
mov ecx, edx
xor edx, 0x1202103
xor ecx, 0xa6d7de1c
and edx, 0xa3216707
mov edi, ecx
and ecx, 0xfffffffe
and edi, 0x5cde98f8
or edi, edx
xor edi, 0x5cde98f9
or ecx, edi
mov edi, 0x83cfecd3
cmp ecx, 0xffffffff
sete ch
setne dh
cmp eax, 0xa
setl dl
cmp eax, 9
setg cl
xor dl, ch
or cl, dh
mov eax, ecx
xor al, dl
mov eax, 0xf7115c87
jne 0x4525e5
mov edi, 0xf7115c87
test dl, dl
jne 0x451aa3
jmp 0x4525ed
cmp eax, 0x90ea8685
je 0x45229c
cmp eax, 0x99e62d74
jne 0x451ab0
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push dword [esp + 0x4c]
call esi
mov eax, 0x5cd2c82b
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp eax, 0xc5d96e2f
je 0x45230e
cmp eax, 0xc84334c3
jne 0x451ab0
push dword [esp + 0x10]
call fcn.00430ca3
add esp, 4
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
push 0
push dword [esp + 0x40]
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, 0x64dd6ac9
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp eax, 0xebe93b4a
je 0x452333
cmp eax, 0xececb1da
jne 0x451ab0
push dword [esp + 8]
call ebp
mov eax, 0xff339ff6
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp eax, 0x3cf994b2
je 0x452460
cmp eax, 0x5a19e967
jne 0x451ab0
mov eax, 0xce5d0a9c
mov dword [esp], 0
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp eax, 0xa6b91fd6
je 0x4523b7
cmp eax, 0xb6966d30
jne 0x451ab0
push dword [esp + 0x18]
call fcn.00430cac
add esp, 4
mov eax, 0xe2368e96
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp eax, 0xcfe46ce3
je 0x452405
cmp eax, 0xd552c352
jne 0x451ab0
jmp 0x452600
cmp eax, 0xf7115c87
je 0x452475
cmp eax, 0xff339ff6
jne 0x451ab0
mov eax, dword [0x44b080]
mov ecx, dword [0x44b084]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0x6c302455
not eax
mov edi, eax
and eax, 0xfffffffe
and edi, 0x93cfdbaa
or edi, edx
xor edi, 0x93cfdbab
or eax, edi
cmp eax, 0xffffffff
setne al
sete ah
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
and dl, al
and ah, cl
or dl, ah
mov ah, cl
xor cl, al
and ah, al
or cl, ah
mov eax, 0xabb246d
jne 0x452030
mov eax, 0x9cf652ff
xor cl, dl
test dl, dl
jne 0x45203b
mov eax, 0xabb246d
test cl, cl
jne 0x451ab0
mov eax, 0x9cf652ff
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp eax, 0x64dd6ac9
je 0x452524
cmp eax, 0x7c8fe558
jne 0x451ab0
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov eax, 0xe2368e96
cmp dword [esp + 0x18], 0
je 0x451ab0
mov eax, 0xb6966d30
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push dword [esp + 0x4c]
call esi
mov eax, 0xf7115c87
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
mov eax, 0x883830f7
xor ebx, ebx
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp byte [esp + 0x17], 0
mov eax, 0xd552c352
jne 0x451ab0
mov eax, 0x7c8fe558
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
push dword [esp + 8]
call ebp
mov eax, dword [0x44b080]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xdb1dff69
not eax
mov edx, eax
and eax, 0xfffffffe
and edx, 0x24e20096
or edx, ecx
xor edx, 0x24e20097
or eax, edx
mov edx, 0xabb246d
mov ecx, eax
and eax, 0xf27287f
not ecx
and ecx, 0xf0d8d780
or eax, ecx
xor eax, 0xf27287f
setne al
cmp dword [0x44b084], 9
setg ch
mov cl, ch
xor ch, al
or cl, al
mov eax, ecx
xor al, ch
mov eax, 0xa6b91fd6
jne 0x452174
mov edx, 0xa6b91fd6
test ch, ch
jne 0x4522f9
mov eax, edx
jmp 0x4522f9
movzx eax, byte [esp + 6]
movzx ecx, byte [esp + 7]
mov edi, 0x99e62d74
mov edx, ecx
xor dl, 1
and cl, dl
xor cl, 1
mov ah, cl
or cl, dl
xor ah, dl
xor cl, 1
or cl, ah
mov ah, cl
xor cl, 1
and cl, al
xor al, 1
and ah, al
or cl, ah
mov ah, al
and ah, dl
xor dl, al
or dl, ah
mov eax, edx
xor al, cl
test al, 1
mov eax, 0x5cd2c82b
jne 0x4521ce
mov edi, 0x5cd2c82b
test dl, 1
cmovne eax, edi
test cl, 1
cmove eax, edi
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
push 0
push dword [esp + 0xc]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp eax, 0xffffffff
mov eax, 0xcfe46ce3
je 0x451ab0
mov eax, 0x90ea8685
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
mov eax, dword [0x44b080]
mov ecx, dword [0x44b084]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0xdfe025e2
not eax
mov edi, eax
and eax, 0xfffffffe
and edi, 0x201fda1d
or edi, edx
xor edi, 0x201fda1c
or eax, edi
mov edx, eax
and eax, 0xf48b78f9
not edx
and edx, 0xb748706
or eax, edx
xor eax, 0xf48b78f9
setne dl
cmp ecx, 9
setg al
cmp ecx, 0xa
setl cl
and al, dl
xor cl, dl
mov edx, 0x3cf994b2
mov ah, cl
xor ah, 1
or al, ah
xor ah, al
jne 0x45228f
mov edx, 0xa087ae30
test al, al
mov eax, edx
jne 0x4522f9
mov eax, 0xa087ae30
jmp 0x4522f9
mov eax, dword [0x44b080]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xe94f63be
not eax
mov edx, eax
and edx, 0x16b09c41
or ecx, edx
xor ecx, 0x16b09c40
or ecx, eax
cmp ecx, 0xffffffff
sete al
cmp dword [0x44b084], 0xa
setl dl
mov ecx, edx
or dl, al
xor cl, al
xor dl, 1
or dl, cl
mov eax, edx
xor al, cl
mov eax, 0xc84334c3
jne 0x4522ee
mov eax, 0x64dd6ac9
test dl, dl
mov edx, eax
jne 0x4522f9
mov edx, 0x64dd6ac9
test cl, cl
cmovne eax, edx
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
cmp byte [esp + 0xf], 0
mov eax, 0xb82468c1
jne 0x451ab0
mov eax, 0xf3ef9f8a
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
mov eax, dword [0x44b080]
mov edx, dword [0x44b084]
mov edi, 0xc5d96e2f
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor ecx, 1
not eax
and eax, 0xfffffffe
or ecx, eax
mov eax, ecx
and ecx, 0x7999a696
not eax
and eax, 0x86665969
or ecx, eax
xor ecx, 0x7999a696
sete al
setne ah
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
and cl, ah
and al, dl
or dl, ah
or cl, al
mov eax, 0x99e62d74
jne 0x452392
mov edi, 0x99e62d74
xor cl, dl
test dl, dl
jne 0x45239a
mov eax, edi
test cl, cl
jne 0x451ab0
mov eax, 0xc5d96e2f
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
mov eax, dword [0x44b080]
mov edi, 0xd96c6cc1
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
not eax
mov edx, eax
and edx, 0xfffffffe
or ecx, edx
not ecx
or ecx, eax
cmp ecx, 0xffffffff
sete dl
cmp dword [0x44b084], 0xa
setl al
xor dl, al
mov ecx, edx
not cl
and cl, al
mov eax, ecx
xor al, dl
mov eax, 0xd96c6cc1
je 0x451d3c
jmp 0x451d41
mov eax, dword [0x44b080]
mov edx, dword [0x44b084]
mov edi, 0x5cc08fea
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor ecx, 1
not eax
and eax, 0xfffffffe
or ecx, eax
cmp ecx, 0xffffffff
sete al
setne ah
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
and cl, ah
and al, dl
or dl, ah
or cl, al
mov eax, 0x3cf994b2
jne 0x452450
mov edi, 0x3cf994b2
xor cl, dl
test dl, dl
jne 0x452458
mov eax, edi
test cl, cl
jne 0x451ab0
mov eax, 0x5cc08fea
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
push 0
push 0x80
push 3
push 0
push 0
push 0x80000000
push dword [esp + 0x4c]
call esi
mov dword [esp + 8], eax
mov eax, dword [esp + 8]
mov ecx, dword [0x44b084]
cmp eax, 0xffffffff
mov eax, dword [0x44b080]
sete byte [esp + 0xf]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor edx, 1
not eax
and eax, 0xfffffffe
or edx, eax
mov eax, edx
and edx, 0xbda9180b
not eax
and eax, 0x4256e7f4
or edx, eax
xor edx, 0xbda9180b
setne al
sete ah
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl cl
xor dh, al
mov dl, cl
or cl, ah
xor cl, 1
xor dl, ah
mov eax, 0x83cfecd3
or cl, dh
jne 0x4524fc
mov eax, 0xebe93b4a
xor cl, dl
test dl, dl
jne 0x452507
mov eax, 0x83cfecd3
test cl, cl
jne 0x451ab0
mov eax, 0xebe93b4a
cmp eax, 0xd96c6cc0
jle 0x451abb
jmp 0x451ba0
push dword [esp + 0x10]
call fcn.00430ca3
add esp, 4
mov ecx, dword [esp + 0x38]
mov dword [ecx], eax
push 0
push dword [esp + 0x40]
push dword [esp + 0x18]
push eax
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov ecx, dword [0x44b080]
test eax, eax
mov eax, dword [0x44b084]
setne byte [esp + 0x17]
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0x936fe20a
not ecx
and ecx, 0x6c901df5
or edx, ecx
mov ecx, edx
xor edx, 0x2c100d75
xor ecx, 0x936fe20a
and edx, 0x2d3aef7d
mov edi, ecx
and ecx, 0xfffffffe
and edi, 0xd2c51082
or edi, edx
xor edi, 0xd2c51083
or ecx, edi
mov edi, 0xc84334c3
mov edx, ecx
and ecx, 0xcc132a1d
not edx
and edx, 0x33ecd5e2
or ecx, edx
xor ecx, 0xcc132a1d
sete ch
setne dh
cmp eax, 0xa
setl dl
cmp eax, 9
setg cl
and dl, dh
and ch, cl
or cl, dh
or dl, ch
mov eax, ecx
xor al, dl
mov eax, 0x21d6b8f
jne 0x4525e5
mov edi, 0x21d6b8f
test dl, dl
jne 0x451aa3
mov eax, edi
jmp 0x451aa3
push dword [esp + 8]
call ebp
mov eax, 0xce5d0a9c
mov cl, 1
jmp 0x451a93
mov ecx, dword [esp + 0x1c]
and bl, 1
xor ecx, esp
call fcn.00430cb1
mov eax, ebx
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret