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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1080
call fcn.004294a0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1068], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x1064], eax
mov eax, dword [0x440080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1060], 0xd02436dd
mov eax, dword [ebp - 0x1060]
mov dword [ebp - 0x106c], eax
sub eax, 0x80d26261
je 0x40d8d0
jmp 0x40cf12
mov eax, dword [ebp - 0x106c]
sub eax, 0x839184b8
je 0x40d6d8
jmp 0x40cf28
mov eax, dword [ebp - 0x106c]
sub eax, 0x83d6873f
je 0x40d8df
jmp 0x40cf3e
mov eax, dword [ebp - 0x106c]
sub eax, 0x871d17d9
je 0x40d6ae
jmp 0x40cf54
mov eax, dword [ebp - 0x106c]
sub eax, 0x958f1c66
je 0x40d623
jmp 0x40cf6a
mov eax, dword [ebp - 0x106c]
sub eax, 0x9dac2d8f
je 0x40d585
jmp 0x40cf80
mov eax, dword [ebp - 0x106c]
sub eax, 0xa31f42b8
je 0x40d3a8
jmp 0x40cf96
mov eax, dword [ebp - 0x106c]
sub eax, 0xabdd82ae
je 0x40db76
jmp 0x40cfac
mov eax, dword [ebp - 0x106c]
sub eax, 0xadff09fb
je 0x40dc69
jmp 0x40cfc2
mov eax, dword [ebp - 0x106c]
sub eax, 0xb0dcf09f
je 0x40d5f7
jmp 0x40cfd8
mov eax, dword [ebp - 0x106c]
sub eax, 0xb1b03de5
je 0x40dc3d
jmp 0x40cfee
mov eax, dword [ebp - 0x106c]
sub eax, 0xb2c42731
je 0x40d50f
jmp 0x40d004
mov eax, dword [ebp - 0x106c]
sub eax, 0xb58a2292
je 0x40d485
jmp 0x40d01a
mov eax, dword [ebp - 0x106c]
sub eax, 0xb6e58431
je 0x40d721
jmp 0x40d030
mov eax, dword [ebp - 0x106c]
sub eax, 0xc32fbe27
je 0x40d632
jmp 0x40d046
mov eax, dword [ebp - 0x106c]
sub eax, 0xc4fe7624
je 0x40da3b
jmp 0x40d05c
mov eax, dword [ebp - 0x106c]
sub eax, 0xcf56e31e
je 0x40d464
jmp 0x40d072
mov eax, dword [ebp - 0x106c]
sub eax, 0xcff22a6d
je 0x40da2c
jmp 0x40d088
mov eax, dword [ebp - 0x106c]
sub eax, 0xd02436dd
je 0x40d337
jmp 0x40d09e
mov eax, dword [ebp - 0x106c]
sub eax, 0xd438a307
je 0x40da4a
jmp 0x40d0b4
mov eax, dword [ebp - 0x106c]
sub eax, 0xd9a7bc23
je 0x40dae3
jmp 0x40d0ca
mov eax, dword [ebp - 0x106c]
sub eax, 0xdaae23cc
je 0x40d60d
jmp 0x40d0e0
mov eax, dword [ebp - 0x106c]
sub eax, 0xe082bca7
je 0x40dcfa
jmp 0x40d0f6
mov eax, dword [ebp - 0x106c]
sub eax, 0xf4dad47f
je 0x40da6b
jmp 0x40d10c
mov eax, dword [ebp - 0x106c]
sub eax, 0xf7565f1b
je 0x40d97c
jmp 0x40d122
mov eax, dword [ebp - 0x106c]
sub eax, 0x109ab7f9
je 0x40d534
jmp 0x40d138
mov eax, dword [ebp - 0x106c]
sub eax, 0x129e5866
je 0x40dceb
jmp 0x40d14e
mov eax, dword [ebp - 0x106c]
sub eax, 0x1391d2d4
je 0x40d3f9
jmp 0x40d164
mov eax, dword [ebp - 0x106c]
sub eax, 0x1568f8da
je 0x40db67
jmp 0x40d17a
mov eax, dword [ebp - 0x106c]
sub eax, 0x1ac09d20
je 0x40da0b
jmp 0x40d190
mov eax, dword [ebp - 0x106c]
sub eax, 0x1b83c89e
je 0x40d786
jmp 0x40d1a6
mov eax, dword [ebp - 0x106c]
sub eax, 0x20b66f12
je 0x40d7a7
jmp 0x40d1bc
mov eax, dword [ebp - 0x106c]
sub eax, 0x25014bb5
je 0x40dc84
jmp 0x40d1d2
mov eax, dword [ebp - 0x106c]
sub eax, 0x2e0f0888
je 0x40d84f
jmp 0x40d1e8
mov eax, dword [ebp - 0x106c]
sub eax, 0x37084778
je 0x40d659
jmp 0x40d1fe
mov eax, dword [ebp - 0x106c]
sub eax, 0x39286e68
je 0x40d840
jmp 0x40d214
mov eax, dword [ebp - 0x106c]
sub eax, 0x397859f5
je 0x40d7f0
jmp 0x40d22a
mov eax, dword [ebp - 0x106c]
sub eax, 0x3c7b86b0
je 0x40da9a
jmp 0x40d240
mov eax, dword [ebp - 0x106c]
sub eax, 0x50cae4db
je 0x40dbc7
jmp 0x40d256
mov eax, dword [ebp - 0x106c]
sub eax, 0x56d8757a
je 0x40dca5
jmp 0x40d26c
mov eax, dword [ebp - 0x106c]
sub eax, 0x58c52e86
je 0x40d6bd
jmp 0x40d282
mov eax, dword [ebp - 0x106c]
sub eax, 0x592d2141
je 0x40dcba
jmp 0x40d298
mov eax, dword [ebp - 0x106c]
sub eax, 0x5acfdaf0
je 0x40d85e
jmp 0x40d2ae
mov eax, dword [ebp - 0x106c]
sub eax, 0x608bf35e
je 0x40d879
jmp 0x40d2c4
mov eax, dword [ebp - 0x106c]
sub eax, 0x63b2e24c
je 0x40d4aa
jmp 0x40d2da
mov eax, dword [ebp - 0x106c]
sub eax, 0x6828e4a5
je 0x40dcd0
jmp 0x40d2f0
mov eax, dword [ebp - 0x106c]
sub eax, 0x69292aed
je 0x40d5e8
jmp 0x40d306
mov eax, dword [ebp - 0x106c]
sub eax, 0x7045a10f
je 0x40d906
jmp 0x40d31c
mov eax, dword [ebp - 0x106c]
sub eax, 0x71fdcb1b
je 0x40d49b
jmp 0x40d332
jmp 0x40dd04
mov eax, dword [ebp - 0x1064]
mov ecx, dword [ebp - 0x1068]
mov dword [ebp - 0x104c], ecx
mov dword [ebp - 0x1050], eax
mov eax, dword [ebp - 0x1050]
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 - 0x1044], eax
mov dword [ebp - 0x1060], 0xa31f42b8
jmp 0x40dd04
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
sub edx, 0x65c5a233
sub edx, 1
add edx, 0x65c5a233
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, 0xadff09fb
mov ecx, 0x1391d2d4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov eax, dword [ebp - 0x1044]
mov dword [ebp - 0x1054], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x1054], eax
sete al
and al, 1
mov byte [ebp - 0x103d], al
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
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, 0xadff09fb
mov ecx, 0xcf56e31e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov dl, byte [ebp - 0x103d]
mov eax, 0x63b2e24c
mov ecx, 0xb58a2292
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov byte [ebp - 0x1045], 0
mov dword [ebp - 0x1060], 0x71fdcb1b
jmp 0x40dd04
mov dword [ebp - 0x1060], 0x3c7b86b0
jmp 0x40dd04
mov eax, dword [ebp - 0x104c]
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 - 0x1058], eax
mov eax, dword [ebp - 0x1058]
mov dword [ebp - 0x103c], eax
mov dword [ebp - 0x1060], 0xb2c42731
jmp 0x40dd04
mov edx, dword [ebp - 0x103c]
mov esi, 0xffffffff
mov eax, 0xdaae23cc
mov ecx, 0x109ab7f9
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0xc19394a
sub edx, 1
sub edx, 0xc19394a
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, 0x25014bb5
mov ecx, 0x9dac2d8f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov eax, dword [ebp - 0x1054]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0x6c977c8a
sub edx, 1
sub edx, 0x6c977c8a
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, 0x25014bb5
mov ecx, 0x69292aed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov dword [ebp - 0x1060], 0xb0dcf09f
jmp 0x40dd04
mov byte [ebp - 0x1045], 0
mov dword [ebp - 0x1060], 0x3c7b86b0
jmp 0x40dd04
mov byte [ebp - 0x1059], 0
mov dword [ebp - 0x1060], 0x958f1c66
jmp 0x40dd04
mov dword [ebp - 0x1060], 0xc32fbe27
jmp 0x40dd04
lea eax, [ebp - 0x1010]
mov dword [ebp - 0x1038], eax
mov eax, dword [ebp - 0x1054]
mov dword [ebp - 0x1034], eax
mov dword [ebp - 0x1060], 0x37084778
jmp 0x40dd04
mov ecx, dword [ebp - 0x1038]
mov edx, dword [ebp - 0x1034]
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, 0x871d17d9
mov ecx, 0x58c52e86
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov dword [ebp - 0x1060], 0xd438a307
jmp 0x40dd04
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x1030], eax
mov dword [ebp - 0x1060], 0x839184b8
jmp 0x40dd04
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
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, 0x56d8757a
mov ecx, 0xb6e58431
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov eax, dword [ebp - 0x1030]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x1029], al
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0x8b33bd3f
sub edx, 1
sub edx, 0x8b33bd3f
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, 0x56d8757a
mov ecx, 0x1b83c89e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov dl, byte [ebp - 0x1029]
mov eax, 0x5acfdaf0
mov ecx, 0x20b66f12
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
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, 0x592d2141
mov ecx, 0x397859f5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov byte [ebp - 0x1059], 1
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
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, 0x592d2141
mov ecx, 0x39286e68
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov dword [ebp - 0x1060], 0x2e0f0888
jmp 0x40dd04
mov dword [ebp - 0x1060], 0xd438a307
jmp 0x40dd04
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x1028], eax
mov dword [ebp - 0x1060], 0x608bf35e
jmp 0x40dd04
lea edx, [ebp - 0x1010]
mov esi, dword [ebp - 0x1058]
mov ecx, dword [ebp - 0x1028]
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 edx, eax
mov eax, 0x80d26261
mov ecx, 0x83d6873f
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov dword [ebp - 0x1060], 0xd438a307
jmp 0x40dd04
mov eax, dword [ebp - 0x1014]
mov dword [ebp - 0x1024], eax
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x1020], eax
mov dword [ebp - 0x1060], 0x7045a10f
jmp 0x40dd04
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
add edx, 0x67b4672b
sub edx, 1
sub edx, 0x67b4672b
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, 0x6828e4a5
mov ecx, 0xf7565f1b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov eax, dword [ebp - 0x1024]
mov ecx, dword [ebp - 0x1020]
cmp eax, ecx
setne al
and al, 1
mov byte [ebp - 0x101a], al
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
sub edx, 0xb92d0f31
sub edx, 1
add edx, 0xb92d0f31
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, 0x6828e4a5
mov ecx, 0x1ac09d20
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov dl, byte [ebp - 0x101a]
mov eax, 0xc4fe7624
mov ecx, 0xcff22a6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov dword [ebp - 0x1060], 0xd438a307
jmp 0x40dd04
mov dword [ebp - 0x1060], 0xc32fbe27
jmp 0x40dd04
mov eax, dword [ebp - 0x1054]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1060], 0xf4dad47f
jmp 0x40dd04
mov eax, dword [ebp - 0x1058]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov al, byte [ebp - 0x1059]
and al, 1
mov byte [ebp - 0x1045], al
mov dword [ebp - 0x1060], 0x3c7b86b0
jmp 0x40dd04
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
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, 0x129e5866
mov ecx, 0xd9a7bc23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov al, byte [ebp - 0x1045]
and al, 1
mov byte [ebp - 0x1019], al
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
add edx, 0x67f6b9df
sub edx, 1
sub edx, 0x67f6b9df
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, 0x129e5866
mov ecx, 0x1568f8da
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov dword [ebp - 0x1060], 0xabdd82ae
jmp 0x40dd04
mov eax, dword [0x441574]
mov ecx, dword [0x441570]
mov edx, eax
add edx, 0x8370c056
sub edx, 1
sub edx, 0x8370c056
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, 0xe082bca7
mov ecx, 0x50cae4db
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov ecx, dword [0x441574]
mov eax, dword [0x441570]
mov edx, ecx
sub edx, 0x652ad501
sub edx, 1
add edx, 0x652ad501
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, 0xe082bca7
mov ecx, 0xb1b03de5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1060], eax
jmp 0x40dd04
mov al, byte [ebp - 0x1019]
and al, 1
movzx eax, al
mov dword [ebp - 0x1070], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00429490
mov eax, dword [ebp - 0x1070]
add esp, 0x1080
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1044]
mov dword [ebp - 0x1054], eax
mov dword [ebp - 0x1060], 0x1391d2d4
jmp 0x40dd04
mov eax, dword [ebp - 0x1054]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x1060], 0x9dac2d8f
jmp 0x40dd04
mov eax, dword [ebp - 0x1030]
mov dword [ebp - 0x1060], 0xb6e58431
jmp 0x40dd04
mov byte [ebp - 0x1059], 1
mov dword [ebp - 0x1060], 0x397859f5
jmp 0x40dd04
mov eax, dword [ebp - 0x1024]
mov eax, dword [ebp - 0x1020]
mov dword [ebp - 0x1060], 0xf7565f1b
jmp 0x40dd04
mov dword [ebp - 0x1060], 0xd9a7bc23
jmp 0x40dd04
mov dword [ebp - 0x1060], 0x50cae4db
jmp 0x40cef6