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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x5c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x5c], eax
mov eax, dword [0x43b080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43c5ac]
mov eax, dword [0x43c5a8]
mov edx, ecx
sub edx, 0x1dee4362
sub edx, 1
add edx, 0x1dee4362
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x52], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x51], al
mov dword [ebp - 0x58], 0x4634e949
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x64], eax
sub eax, 0x81c16083
je 0x41075f
jmp 0x40fc45
mov eax, dword [ebp - 0x64]
sub eax, 0x87d6ff20
je 0x410505
jmp 0x40fc58
mov eax, dword [ebp - 0x64]
sub eax, 0x896406b2
je 0x410711
jmp 0x40fc6b
mov eax, dword [ebp - 0x64]
sub eax, 0x89d9a070
je 0x41082e
jmp 0x40fc7e
mov eax, dword [ebp - 0x64]
sub eax, 0x904931ed
je 0x410546
jmp 0x40fc91
mov eax, dword [ebp - 0x64]
sub eax, 0x98bf8572
je 0x410705
jmp 0x40fca4
mov eax, dword [ebp - 0x64]
sub eax, 0x9bbf6f6d
je 0x4103a4
jmp 0x40fcb7
mov eax, dword [ebp - 0x64]
sub eax, 0xad2c0da8
je 0x4101b3
jmp 0x40fcca
mov eax, dword [ebp - 0x64]
sub eax, 0xad8d8128
je 0x41013f
jmp 0x40fcdd
mov eax, dword [ebp - 0x64]
sub eax, 0xae3b8bec
je 0x4103bc
jmp 0x40fcf0
mov eax, dword [ebp - 0x64]
sub eax, 0xb9ef640e
je 0x4102bc
jmp 0x40fd03
mov eax, dword [ebp - 0x64]
sub eax, 0xcee6c1a5
je 0x4102c8
jmp 0x40fd16
mov eax, dword [ebp - 0x64]
sub eax, 0xd8c609f9
je 0x410654
jmp 0x40fd29
mov eax, dword [ebp - 0x64]
sub eax, 0xe0225509
je 0x41041f
jmp 0x40fd3c
mov eax, dword [ebp - 0x64]
sub eax, 0xe28b788a
je 0x4103b0
jmp 0x40fd4f
mov eax, dword [ebp - 0x64]
sub eax, 0xe8bb988d
je 0x41015d
jmp 0x40fd62
mov eax, dword [ebp - 0x64]
sub eax, 0xed25f442
je 0x4107ef
jmp 0x40fd75
mov eax, dword [ebp - 0x64]
sub eax, 0xf000e038
je 0x4100ce
jmp 0x40fd88
mov eax, dword [ebp - 0x64]
sub eax, 0xf8ec476a
je 0x4101d2
jmp 0x40fd9b
mov eax, dword [ebp - 0x64]
sub eax, 0xfe7637e5
je 0x4107b7
jmp 0x40fdae
mov eax, dword [ebp - 0x64]
sub eax, 0xff7eb40f
je 0x41060d
jmp 0x40fdc1
mov eax, dword [ebp - 0x64]
sub eax, 0x2f4b88
je 0x41083a
jmp 0x40fdd4
mov eax, dword [ebp - 0x64]
sub eax, 0x3235e67
je 0x410151
jmp 0x40fde7
mov eax, dword [ebp - 0x64]
sub eax, 0x3cb35ec
je 0x410333
jmp 0x40fdfa
mov eax, dword [ebp - 0x64]
sub eax, 0x1d5ff171
je 0x410619
jmp 0x40fe0d
mov eax, dword [ebp - 0x64]
sub eax, 0x2003a2bf
je 0x410492
jmp 0x40fe20
mov eax, dword [ebp - 0x64]
sub eax, 0x206ce09e
je 0x4107e3
jmp 0x40fe33
mov eax, dword [ebp - 0x64]
sub eax, 0x2724c9e3
je 0x410578
jmp 0x40fe46
mov eax, dword [ebp - 0x64]
sub eax, 0x27cf8b39
je 0x40ffff
jmp 0x40fe59
mov eax, dword [ebp - 0x64]
sub eax, 0x2a54a401
je 0x41007e
jmp 0x40fe6c
mov eax, dword [ebp - 0x64]
sub eax, 0x2f124d47
je 0x410822
jmp 0x40fe7f
mov eax, dword [ebp - 0x64]
sub eax, 0x3031d0ab
je 0x4101e6
jmp 0x40fe92
mov eax, dword [ebp - 0x64]
sub eax, 0x30e18f06
je 0x4106bf
jmp 0x40fea5
mov eax, dword [ebp - 0x64]
sub eax, 0x314f64f4
je 0x410259
jmp 0x40feb8
mov eax, dword [ebp - 0x64]
sub eax, 0x3582ac6c
je 0x4105e2
jmp 0x40fecb
mov eax, dword [ebp - 0x64]
sub eax, 0x36916e6a
je 0x4107c3
jmp 0x40fede
mov eax, dword [ebp - 0x64]
sub eax, 0x3b5075c2
je 0x4105ce
jmp 0x40fef1
mov eax, dword [ebp - 0x64]
sub eax, 0x41badea0
je 0x410810
jmp 0x40ff04
mov eax, dword [ebp - 0x64]
sub eax, 0x4634e949
je 0x40ffb4
jmp 0x40ff17
mov eax, dword [ebp - 0x64]
sub eax, 0x4644afd6
je 0x4105c2
jmp 0x40ff2a
mov eax, dword [ebp - 0x64]
sub eax, 0x4b65bfe7
je 0x410601
jmp 0x40ff3d
mov eax, dword [ebp - 0x64]
sub eax, 0x59f21093
je 0x410511
jmp 0x40ff50
mov eax, dword [ebp - 0x64]
sub eax, 0x5eb40008
je 0x41008a
jmp 0x40ff63
mov eax, dword [ebp - 0x64]
sub eax, 0x6973aca5
je 0x410558
jmp 0x40ff76
mov eax, dword [ebp - 0x64]
sub eax, 0x6bd2ca89
je 0x410564
jmp 0x40ff89
mov eax, dword [ebp - 0x64]
sub eax, 0x723dc9ed
je 0x41052b
jmp 0x40ff9c
mov eax, dword [ebp - 0x64]
sub eax, 0x7bc5d443
je 0x4103d6
jmp 0x40ffaf
jmp 0x410844
mov bl, byte [ebp - 0x52]
mov dh, byte [ebp - 0x51]
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, 0x206ce09e
mov ecx, 0x27cf8b39
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x43c5ac]
mov eax, dword [0x43c5a8]
mov edx, ecx
add edx, 0xac740677
sub edx, 1
sub edx, 0xac740677
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, 0x206ce09e
mov ecx, 0x2a54a401
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov dword [ebp - 0x58], 0x5eb40008
jmp 0x410844
mov ecx, dword [ebp - 0x60]
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
push eax
sub esp, 0xffc
mov eax, esp
mov dword [ebp - 0x34], eax
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov dword [ebp - 0x58], 0xf000e038
jmp 0x410844
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x1c
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]
mov ecx, eax
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x44]
mov esi, 0xffffffff
mov eax, 0xe8bb988d
mov ecx, 0xad8d8128
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov eax, dword [ebp - 0x50]
mov byte [eax], 0
mov dword [ebp - 0x58], 0x3235e67
jmp 0x410844
mov dword [ebp - 0x58], 0x896406b2
jmp 0x410844
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x1c
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]
mov ecx, eax
mov eax, dword [ebp - 0x40]
mov dword [eax], ecx
mov dword [ebp - 0x58], 0xad2c0da8
jmp 0x410844
mov edx, dword [ebp - 0x40]
mov esi, 0xffffffff
mov eax, 0xcee6c1a5
mov ecx, 0xf8ec476a
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x58], 0x3031d0ab
jmp 0x410844
mov ecx, dword [0x43c5ac]
mov eax, dword [0x43c5a8]
mov edx, ecx
add edx, 0x5e07b7cf
sub edx, 1
sub edx, 0x5e07b7cf
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, 0xed25f442
mov ecx, 0x314f64f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x50]
mov byte [eax], 0
mov eax, dword [0x43c5ac]
mov ecx, dword [0x43c5a8]
mov edx, eax
sub edx, 0xc5bacf27
sub edx, 1
add edx, 0xc5bacf27
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, 0xed25f442
mov ecx, 0xb9ef640e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov dword [ebp - 0x58], 0x896406b2
jmp 0x410844
mov ecx, dword [0x43c5ac]
mov eax, dword [0x43c5a8]
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, 0x41badea0
mov ecx, 0x3cb35ec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0
mov ecx, dword [0x43c5ac]
mov eax, dword [0x43c5a8]
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, 0x41badea0
mov ecx, 0x9bbf6f6d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov dword [ebp - 0x58], 0xe28b788a
jmp 0x410844
mov dword [ebp - 0x58], 0xae3b8bec
jmp 0x410844
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x58], 0x7bc5d443
jmp 0x410844
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
xor esi, esi
sub esp, 0x14
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]
mov edx, eax
mov eax, 0xe0225509
mov ecx, 0x59f21093
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov ecx, dword [0x43c5ac]
mov eax, dword [0x43c5a8]
mov edx, ecx
add edx, 0xb1b3f900
sub edx, 1
sub edx, 0xb1b3f900
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, 0x2f124d47
mov ecx, 0x2003a2bf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov ecx, dword [0x43c5ac]
mov eax, dword [0x43c5a8]
mov edx, ecx
sub edx, 0x10bfeee1
sub edx, 1
add edx, 0x10bfeee1
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, 0x2f124d47
mov ecx, 0x87d6ff20
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov dword [ebp - 0x58], 0x1d5ff171
jmp 0x410844
mov eax, dword [ebp - 0x30]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x58], 0x723dc9ed
jmp 0x410844
mov dl, byte [ebp - 0x1d]
mov eax, 0x6bd2ca89
mov ecx, 0x904931ed
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov eax, dword [ebp - 0x3c]
mov byte [eax], 1
mov dword [ebp - 0x58], 0x6973aca5
jmp 0x410844
mov dword [ebp - 0x58], 0x1d5ff171
jmp 0x410844
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x58], 0x2724c9e3
jmp 0x410844
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov esi, dword [eax]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x1c]
xor edi, edi
sub esp, 0x14
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]
mov edx, eax
mov eax, 0x4644afd6
mov ecx, 0x3b5075c2
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov dword [ebp - 0x58], 0x1d5ff171
jmp 0x410844
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x58], 0x3582ac6c
jmp 0x410844
mov eax, dword [ebp - 0x30]
mov esi, dword [eax]
mov edx, dword [ebp - 0x18]
mov eax, 0xff7eb40f
mov ecx, 0x4b65bfe7
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov dword [ebp - 0x58], 0x1d5ff171
jmp 0x410844
mov dword [ebp - 0x58], 0xae3b8bec
jmp 0x410844
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x3c]
mov cl, byte [eax]
mov eax, dword [ebp - 0x50]
and cl, 1
mov byte [eax], cl
mov dword [ebp - 0x58], 0xd8c609f9
jmp 0x410844
mov ecx, dword [0x43c5ac]
mov eax, dword [0x43c5a8]
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, 0x89d9a070
mov ecx, 0x30e18f06
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov eax, dword [0x43c5ac]
mov ecx, dword [0x43c5a8]
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, 0x89d9a070
mov ecx, 0x98bf8572
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov dword [ebp - 0x58], 0x896406b2
jmp 0x410844
mov eax, dword [0x43c5ac]
mov ecx, dword [0x43c5a8]
mov edx, eax
add edx, 0xbdf5a758
sub edx, 1
sub edx, 0xbdf5a758
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, 0x2f4b88
mov ecx, 0x81c16083
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov eax, dword [ebp - 0x50]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x11], al
mov eax, dword [0x43c5ac]
mov ecx, dword [0x43c5a8]
mov edx, eax
sub edx, 0x1badb8b4
sub edx, 1
add edx, 0x1badb8b4
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, 0x2f4b88
mov ecx, 0xfe7637e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x58], eax
jmp 0x410844
mov dword [ebp - 0x58], 0x36916e6a
jmp 0x410844
mov al, byte [ebp - 0x11]
and al, 1
movzx eax, al
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00423cc0
mov eax, dword [ebp - 0x68]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x58], 0x27cf8b39
jmp 0x410844
mov eax, dword [ebp - 0x2c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x50]
mov byte [eax], 0
mov dword [ebp - 0x58], 0x314f64f4
jmp 0x410844
mov eax, dword [ebp - 0x3c]
mov byte [eax], 0
mov dword [ebp - 0x58], 0x3cb35ec
jmp 0x410844
mov dword [ebp - 0x58], 0x2003a2bf
jmp 0x410844
mov dword [ebp - 0x58], 0x30e18f06
jmp 0x410844
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x58], 0x81c16083
jmp 0x40fc2f