Function at 0x40eff0
Capabilities:
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1074
call fcn.0042af20
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x105c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1058], eax
mov eax, dword [0x442080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1054], 0xb97f4986
mov eax, dword [ebp - 0x1054]
mov dword [ebp - 0x1060], eax
sub eax, 0x862ab9bc
je 0x40fd94
jmp 0x40f042
mov eax, dword [ebp - 0x1060]
sub eax, 0x876a9127
je 0x40fa05
jmp 0x40f058
mov eax, dword [ebp - 0x1060]
sub eax, 0x9d9b24fa
je 0x40f9a7
jmp 0x40f06e
mov eax, dword [ebp - 0x1060]
sub eax, 0xa5ab2a2a
je 0x40f4d7
jmp 0x40f084
mov eax, dword [ebp - 0x1060]
sub eax, 0xae03e9e0
je 0x40f68d
jmp 0x40f09a
mov eax, dword [ebp - 0x1060]
sub eax, 0xb2cd5d2d
je 0x40faab
jmp 0x40f0b0
mov eax, dword [ebp - 0x1060]
sub eax, 0xb5a687a2
je 0x40f5bf
jmp 0x40f0c6
mov eax, dword [ebp - 0x1060]
sub eax, 0xb97f4986
je 0x40f467
jmp 0x40f0dc
mov eax, dword [ebp - 0x1060]
sub eax, 0xc698743a
je 0x40fd68
jmp 0x40f0f2
mov eax, dword [ebp - 0x1060]
sub eax, 0xcc529fd9
je 0x40fb61
jmp 0x40f108
mov eax, dword [ebp - 0x1060]
sub eax, 0xcd725b72
je 0x40f771
jmp 0x40f11e
mov eax, dword [ebp - 0x1060]
sub eax, 0xcdc376f9
je 0x40f905
jmp 0x40f134
mov eax, dword [ebp - 0x1060]
sub eax, 0xcf0c01a7
je 0x40fdfc
jmp 0x40f14a
mov eax, dword [ebp - 0x1060]
sub eax, 0xd28e2bd0
je 0x40f798
jmp 0x40f160
mov eax, dword [ebp - 0x1060]
sub eax, 0xd3bd7ed1
je 0x40f48e
jmp 0x40f176
mov eax, dword [ebp - 0x1060]
sub eax, 0xd89e079a
je 0x40f956
jmp 0x40f18c
mov eax, dword [ebp - 0x1060]
sub eax, 0xd980ebd3
je 0x40fcd5
jmp 0x40f1a2
mov eax, dword [ebp - 0x1060]
sub eax, 0xdb0d1f63
je 0x40f8ef
jmp 0x40f1b8
mov eax, dword [ebp - 0x1060]
sub eax, 0xdda15590
je 0x40fb43
jmp 0x40f1ce
mov eax, dword [ebp - 0x1060]
sub eax, 0xe1763f3b
je 0x40f715
jmp 0x40f1e4
mov eax, dword [ebp - 0x1060]
sub eax, 0xe53cb012
je 0x40fe1a
jmp 0x40f1fa
mov eax, dword [ebp - 0x1060]
sub eax, 0xf3e47017
je 0x40f588
jmp 0x40f210
mov eax, dword [ebp - 0x1060]
sub eax, 0xf5e9111a
je 0x40f610
jmp 0x40f226
mov eax, dword [ebp - 0x1060]
sub eax, 0xf6bf1eb4
je 0x40fa35
jmp 0x40f23c
mov eax, dword [ebp - 0x1060]
sub eax, 0xfe9615f2
je 0x40f8b3
jmp 0x40f252
mov eax, dword [ebp - 0x1060]
sub eax, 0xff43b564
je 0x40fd59
jmp 0x40f268
mov eax, dword [ebp - 0x1060]
sub eax, 0xffabef26
je 0x40f762
jmp 0x40f27e
mov eax, dword [ebp - 0x1060]
sub eax, 0x3d0f51e
je 0x40fb52
jmp 0x40f294
mov eax, dword [ebp - 0x1060]
sub eax, 0xed0b0d7
je 0x40fb22
jmp 0x40f2aa
mov eax, dword [ebp - 0x1060]
sub eax, 0x299adba4
je 0x40fc84
jmp 0x40f2c0
mov eax, dword [ebp - 0x1060]
sub eax, 0x2e925be9
je 0x40fded
jmp 0x40f2d6
mov eax, dword [ebp - 0x1060]
sub eax, 0x30ae7288
je 0x40f5a9
jmp 0x40f2ec
mov eax, dword [ebp - 0x1060]
sub eax, 0x34e417da
je 0x40fe0b
jmp 0x40f302
mov eax, dword [ebp - 0x1060]
sub eax, 0x4343c8fb
je 0x40f74c
jmp 0x40f318
mov eax, dword [ebp - 0x1060]
sub eax, 0x47c51c15
je 0x40fa26
jmp 0x40f32e
mov eax, dword [ebp - 0x1060]
sub eax, 0x4a3c9344
je 0x40f67e
jmp 0x40f344
mov eax, dword [ebp - 0x1060]
sub eax, 0x513177b9
je 0x40fe29
jmp 0x40f35a
mov eax, dword [ebp - 0x1060]
sub eax, 0x541848a4
je 0x40f7ed
jmp 0x40f370
mov eax, dword [ebp - 0x1060]
sub eax, 0x54f903d0
je 0x40fc46
jmp 0x40f386
mov eax, dword [ebp - 0x1060]
sub eax, 0x57cb4ba1
je 0x40fe4a
jmp 0x40f39c
mov eax, dword [ebp - 0x1060]
sub eax, 0x592eba98
je 0x40fc55
jmp 0x40f3b2
mov eax, dword [ebp - 0x1060]
sub eax, 0x5bdf8bdd
je 0x40f6a8
jmp 0x40f3c8
mov eax, dword [ebp - 0x1060]
sub eax, 0x625aceef
je 0x40f8a4
jmp 0x40f3de
mov eax, dword [ebp - 0x1060]
sub eax, 0x66d90805
je 0x40fb13
jmp 0x40f3f4
mov eax, dword [ebp - 0x1060]
sub eax, 0x6bdf3d0f
je 0x40fbd7
jmp 0x40f40a
mov eax, dword [ebp - 0x1060]
sub eax, 0x6c916678
je 0x40f85b
jmp 0x40f420
mov eax, dword [ebp - 0x1060]
sub eax, 0x737ba782
je 0x40f8ce
jmp 0x40f436
mov eax, dword [ebp - 0x1060]
sub eax, 0x7a9c8570
je 0x40f9b6
jmp 0x40f44c
mov eax, dword [ebp - 0x1060]
sub eax, 0x7fb698a5
je 0x40f736
jmp 0x40f462
jmp 0x40fe54
mov eax, dword [ebp - 0x1058]
mov ecx, dword [ebp - 0x105c]
mov dword [ebp - 0x1040], ecx
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x1054], 0xd3bd7ed1
jmp 0x40fe54
mov eax, dword [0x443584]
mov ecx, dword [0x443580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x862ab9bc
mov ecx, 0xa5ab2a2a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov eax, dword [ebp - 0x1044]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x1048], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x1048], eax
sete al
and al, 1
mov byte [ebp - 0x1039], al
mov eax, dword [0x443584]
mov ecx, dword [0x443580]
mov edx, eax
add edx, 0xda39d7aa
sub edx, 1
sub edx, 0xda39d7aa
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x862ab9bc
mov ecx, 0xf3e47017
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov dl, byte [ebp - 0x1039]
mov eax, 0xae03e9e0
mov ecx, 0x30ae7288
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov byte [ebp - 0x103a], 0
mov dword [ebp - 0x1054], 0xb5a687a2
jmp 0x40fe54
mov eax, dword [0x443584]
mov ecx, dword [0x443580]
mov edx, eax
sub edx, 0xe3c9c0ab
sub edx, 1
add edx, 0xe3c9c0ab
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x2e925be9
mov ecx, 0xf5e9111a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov ecx, dword [0x443584]
mov eax, dword [0x443580]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x2e925be9
mov ecx, 0x4a3c9344
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov dword [ebp - 0x1054], 0x299adba4
jmp 0x40fe54
mov eax, dword [ebp - 0x1040]
mov dword [ebp - 0x1038], eax
mov dword [ebp - 0x1054], 0x5bdf8bdd
jmp 0x40fe54
mov eax, dword [ebp - 0x1038]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x40000000
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x104c], eax
mov edx, 0xffffffff
mov eax, 0x4343c8fb
mov ecx, 0xe1763f3b
cmp dword [ebp - 0x104c], edx
cmove eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov eax, dword [ebp - 0x1048]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1054], 0x7fb698a5
jmp 0x40fe54
mov byte [ebp - 0x103a], 0
mov dword [ebp - 0x1054], 0x299adba4
jmp 0x40fe54
mov byte [ebp - 0x104d], 0
mov dword [ebp - 0x1054], 0xffabef26
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xcd725b72
jmp 0x40fe54
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1034], eax
mov eax, dword [ebp - 0x1048]
mov dword [ebp - 0x1030], eax
mov dword [ebp - 0x1054], 0xd28e2bd0
jmp 0x40fe54
mov ecx, dword [ebp - 0x1034]
mov edx, dword [ebp - 0x1030]
lea eax, [ebp - 0x1018]
xor esi, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1000
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
sub esp, 0x14
mov edx, eax
mov eax, 0x541848a4
mov ecx, 0xfe9615f2
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov ecx, dword [0x443584]
mov eax, dword [0x443580]
xor esi, esi
sub esi, 1
mov edx, ecx
add edx, esi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0xcf0c01a7
mov ecx, 0x6c916678
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov eax, dword [0x443584]
mov ecx, dword [0x443580]
xor esi, esi
sub esi, 1
mov edx, eax
add edx, esi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xcf0c01a7
mov ecx, 0x625aceef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xcc529fd9
jmp 0x40fe54
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x102c], eax
mov dword [ebp - 0x1054], 0x737ba782
jmp 0x40fe54
mov edx, dword [ebp - 0x102c]
mov eax, 0x7a9c8570
mov ecx, 0xdb0d1f63
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov byte [ebp - 0x104d], 1
mov dword [ebp - 0x1054], 0xcdc376f9
jmp 0x40fe54
mov eax, dword [0x443584]
mov ecx, dword [0x443580]
mov edx, eax
sub edx, 0x58e3d3f0
sub edx, 1
add edx, 0x58e3d3f0
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x34e417da
mov ecx, 0xd89e079a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov eax, dword [0x443584]
mov ecx, dword [0x443580]
mov edx, eax
sub edx, 0x4d74df9
sub edx, 1
add edx, 0x4d74df9
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x34e417da
mov ecx, 0x9d9b24fa
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xcc529fd9
jmp 0x40fe54
mov ecx, dword [ebp - 0x1018]
lea edx, [ebp - 0x1010]
mov esi, dword [ebp - 0x104c]
lea eax, [ebp - 0x1014]
xor edi, edi
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
sub esp, 0x14
mov dword [ebp - 0x1028], eax
mov dword [ebp - 0x1054], 0x876a9127
jmp 0x40fe54
mov edx, dword [ebp - 0x1028]
mov eax, 0x47c51c15
mov ecx, 0xf6bf1eb4
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xcc529fd9
jmp 0x40fe54
mov ecx, dword [0x443584]
mov eax, dword [0x443580]
mov edx, ecx
add edx, 0x29d4704c
sub edx, 1
sub edx, 0x29d4704c
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xe53cb012
mov ecx, 0xb2cd5d2d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov eax, dword [ebp - 0x1014]
cmp eax, dword [ebp - 0x1018]
setne al
and al, 1
mov byte [ebp - 0x1021], al
mov eax, dword [0x443584]
mov ecx, dword [0x443580]
mov edx, eax
add edx, 0x1ed9a2b6
sub edx, 1
sub edx, 0x1ed9a2b6
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xe53cb012
mov ecx, 0x66d90805
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xed0b0d7
jmp 0x40fe54
mov dl, byte [ebp - 0x1021]
mov eax, 0x3d0f51e
mov ecx, 0xdda15590
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xcc529fd9
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xcd725b72
jmp 0x40fe54
mov ecx, dword [0x443584]
mov eax, dword [0x443580]
mov edx, ecx
add edx, 0x19c3b0a7
sub edx, 1
sub edx, 0x19c3b0a7
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x513177b9
mov ecx, 0x6bdf3d0f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov eax, dword [ebp - 0x1048]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x104c]
mov dword [ebp - 0x1020], eax
mov eax, dword [0x443584]
mov ecx, dword [0x443580]
mov edx, eax
add edx, 0xa992aa6f
sub edx, 1
sub edx, 0xa992aa6f
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x513177b9
mov ecx, 0x54f903d0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov dword [ebp - 0x1054], 0x592eba98
jmp 0x40fe54
mov eax, dword [ebp - 0x1020]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov al, byte [ebp - 0x104d]
and al, 1
mov byte [ebp - 0x103a], al
mov dword [ebp - 0x1054], 0x299adba4
jmp 0x40fe54
mov eax, dword [0x443584]
mov ecx, dword [0x443580]
mov edx, eax
sub edx, 0x1c39ced0
sub edx, 1
add edx, 0x1c39ced0
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x57cb4ba1
mov ecx, 0xd980ebd3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov al, byte [ebp - 0x103a]
and al, 1
mov byte [ebp - 0x1019], al
mov ecx, dword [0x443584]
mov eax, dword [0x443580]
mov edx, ecx
sub edx, 0x42438f5e
sub edx, 1
add edx, 0x42438f5e
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x57cb4ba1
mov ecx, 0xff43b564
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1054], eax
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xc698743a
jmp 0x40fe54
mov al, byte [ebp - 0x1019]
and al, 1
movzx eax, al
mov dword [ebp - 0x1064], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0042af10
mov eax, dword [ebp - 0x1064]
add esp, 0x1074
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1044]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x80000000
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 0x80
mov dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
sub esp, 0x1c
mov dword [ebp - 0x1048], eax
mov dword [ebp - 0x1054], 0xa5ab2a2a
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xf5e9111a
jmp 0x40fe54
mov dword [ebp - 0x1054], 0x6c916678
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xd89e079a
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xb2cd5d2d
jmp 0x40fe54
mov eax, dword [ebp - 0x1048]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1054], 0x6bdf3d0f
jmp 0x40fe54
mov dword [ebp - 0x1054], 0xd980ebd3
jmp 0x40f026