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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x6c
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x6c], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x68], 0xda0077c7
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x74], eax
sub eax, 0x841d1d3e
je 0x40bdca
jmp 0x40b71c
mov eax, dword [ebp - 0x74]
sub eax, 0x919f9ed4
je 0x40bcf0
jmp 0x40b72f
mov eax, dword [ebp - 0x74]
sub eax, 0x92eddfbc
je 0x40bc09
jmp 0x40b742
mov eax, dword [ebp - 0x74]
sub eax, 0x9502db1f
je 0x40be78
jmp 0x40b755
mov eax, dword [ebp - 0x74]
sub eax, 0xb078676c
je 0x40c14b
jmp 0x40b768
mov eax, dword [ebp - 0x74]
sub eax, 0xb08fe04b
je 0x40bc67
jmp 0x40b77b
mov eax, dword [ebp - 0x74]
sub eax, 0xb53af582
je 0x40c295
jmp 0x40b78e
mov eax, dword [ebp - 0x74]
sub eax, 0xbb76d2d1
je 0x40c190
jmp 0x40b7a1
mov eax, dword [ebp - 0x74]
sub eax, 0xbd15661b
je 0x40c21a
jmp 0x40b7b4
mov eax, dword [ebp - 0x74]
sub eax, 0xd6d17af0
je 0x40bfe5
jmp 0x40b7c7
mov eax, dword [ebp - 0x74]
sub eax, 0xd8afc08f
je 0x40be6c
jmp 0x40b7da
mov eax, dword [ebp - 0x74]
sub eax, 0xd9570126
je 0x40c157
jmp 0x40b7ed
mov eax, dword [ebp - 0x74]
sub eax, 0xda0077c7
je 0x40ba78
jmp 0x40b800
mov eax, dword [ebp - 0x74]
sub eax, 0xdde586d8
je 0x40bba0
jmp 0x40b813
mov eax, dword [ebp - 0x74]
sub eax, 0xde1f65e9
je 0x40c1a8
jmp 0x40b826
mov eax, dword [ebp - 0x74]
sub eax, 0xdf64c3d3
je 0x40bc5b
jmp 0x40b839
mov eax, dword [ebp - 0x74]
sub eax, 0xe04bf24b
je 0x40c0b2
jmp 0x40b84c
mov eax, dword [ebp - 0x74]
sub eax, 0xfe6d17bc
je 0x40bdaf
jmp 0x40b85f
mov eax, dword [ebp - 0x74]
sub eax, 0x68203b7
je 0x40bf64
jmp 0x40b872
mov eax, dword [ebp - 0x74]
sub eax, 0xcda5076
je 0x40c06c
jmp 0x40b885
mov eax, dword [ebp - 0x74]
sub eax, 0x170a28df
je 0x40be18
jmp 0x40b898
mov eax, dword [ebp - 0x74]
sub eax, 0x19cdcd16
je 0x40c026
jmp 0x40b8ab
mov eax, dword [ebp - 0x74]
sub eax, 0x1b1f8065
je 0x40c173
jmp 0x40b8be
mov eax, dword [ebp - 0x74]
sub eax, 0x1d6be550
je 0x40c0cd
jmp 0x40b8d1
mov eax, dword [ebp - 0x74]
sub eax, 0x1f052311
je 0x40baf2
jmp 0x40b8e4
mov eax, dword [ebp - 0x74]
sub eax, 0x24b4c7c8
je 0x40c1e6
jmp 0x40b8f7
mov eax, dword [ebp - 0x74]
sub eax, 0x2a088c64
je 0x40bef1
jmp 0x40b90a
mov eax, dword [ebp - 0x74]
sub eax, 0x2f7f5dc3
je 0x40c229
jmp 0x40b91d
mov eax, dword [ebp - 0x74]
sub eax, 0x3291f677
je 0x40c19c
jmp 0x40b930
mov eax, dword [ebp - 0x74]
sub eax, 0x3a20e280
je 0x40c0dd
jmp 0x40b943
mov eax, dword [ebp - 0x74]
sub eax, 0x404c8ad5
je 0x40c2a4
jmp 0x40b956
mov eax, dword [ebp - 0x74]
sub eax, 0x41160959
je 0x40c289
jmp 0x40b969
mov eax, dword [ebp - 0x74]
sub eax, 0x48ebd7d9
je 0x40c103
jmp 0x40b97c
mov eax, dword [ebp - 0x74]
sub eax, 0x49d2475e
je 0x40be97
jmp 0x40b98f
mov eax, dword [ebp - 0x74]
sub eax, 0x4ad77969
je 0x40bea7
jmp 0x40b9a2
mov eax, dword [ebp - 0x74]
sub eax, 0x4dcd098b
je 0x40bb40
jmp 0x40b9b5
mov eax, dword [ebp - 0x74]
sub eax, 0x4e181aca
je 0x40c0e9
jmp 0x40b9c8
mov eax, dword [ebp - 0x74]
sub eax, 0x5d16a2ec
je 0x40c00c
jmp 0x40b9db
mov eax, dword [ebp - 0x74]
sub eax, 0x6163269e
je 0x40bc85
jmp 0x40b9ee
mov eax, dword [ebp - 0x74]
sub eax, 0x62f92ae4
je 0x40c1fa
jmp 0x40ba01
mov eax, dword [ebp - 0x74]
sub eax, 0x632c4234
je 0x40bbbb
jmp 0x40ba14
mov eax, dword [ebp - 0x74]
sub eax, 0x6690f3a1
je 0x40c1da
jmp 0x40ba27
mov eax, dword [ebp - 0x74]
sub eax, 0x6939c0d1
je 0x40beb3
jmp 0x40ba3a
mov eax, dword [ebp - 0x74]
sub eax, 0x6eb1013c
je 0x40c000
jmp 0x40ba4d
mov eax, dword [ebp - 0x74]
sub eax, 0x71424524
je 0x40c239
jmp 0x40ba60
mov eax, dword [ebp - 0x74]
sub eax, 0x77f8f5fd
je 0x40bc73
jmp 0x40ba73
jmp 0x40c2ab
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70]
push eax
mov edx, esp
mov dword [ebp - 0x4c], edx
push eax
sub esp, 0xffc
mov edx, esp
mov dword [ebp - 0x48], edx
push eax
mov edx, esp
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
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 dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x68], 0x1f052311
jmp 0x40c2ab
mov eax, dword [0x43e564]
mov ecx, dword [0x43e560]
mov edx, eax
sub edx, 0x7efaba12
sub edx, 1
add edx, 0x7efaba12
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, 0xbd15661b
mov ecx, 0x4dcd098b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov eax, dword [ebp - 0x40]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x39], al
mov eax, dword [0x43e564]
mov ecx, dword [0x43e560]
mov edx, eax
sub edx, 0x7109b83a
sub edx, 1
add edx, 0x7109b83a
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, 0xbd15661b
mov ecx, 0xdde586d8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov dl, byte [ebp - 0x39]
mov eax, 0x77f8f5fd
mov ecx, 0x632c4234
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov eax, dword [0x43e564]
mov ecx, dword [0x43e560]
mov edx, eax
add edx, 0xeebc18f8
sub edx, 1
sub edx, 0xeebc18f8
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, 0x2f7f5dc3
mov ecx, 0x92eddfbc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov byte [ebp - 0x4d], 0
mov eax, dword [0x43e564]
mov ecx, dword [0x43e560]
mov edx, eax
add edx, 0xa770354c
sub edx, 1
sub edx, 0xa770354c
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, 0x2f7f5dc3
mov ecx, 0xdf64c3d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov dword [ebp - 0x68], 0xb08fe04b
jmp 0x40c2ab
mov dword [ebp - 0x68], 0x24b4c7c8
jmp 0x40c2ab
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x68], 0x6163269e
jmp 0x40c2ab
mov ecx, dword [0x43e564]
mov eax, dword [0x43e560]
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, 0x71424524
mov ecx, 0x919f9ed4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov eax, dword [ebp - 0x38]
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 dword [ebp - 0x60], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x60], eax
sete al
and al, 1
mov byte [ebp - 0x31], al
mov ecx, dword [0x43e564]
mov eax, dword [0x43e560]
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, 0x71424524
mov ecx, 0xfe6d17bc
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov dl, byte [ebp - 0x31]
mov eax, 0x49d2475e
mov ecx, 0x841d1d3e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov eax, dword [0x43e564]
mov ecx, dword [0x43e560]
mov edx, eax
sub edx, 0x3951215
sub edx, 1
add edx, 0x3951215
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, 0x41160959
mov ecx, 0x170a28df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x30], eax
mov eax, dword [0x43e564]
mov ecx, dword [0x43e560]
mov edx, eax
sub edx, 0xc114325f
sub edx, 1
add edx, 0xc114325f
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, 0x41160959
mov ecx, 0xd8afc08f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov dword [ebp - 0x68], 0x9502db1f
jmp 0x40c2ab
mov eax, dword [ebp - 0x30]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x4d], 0
mov dword [ebp - 0x68], 0x24b4c7c8
jmp 0x40c2ab
mov byte [ebp - 0x61], 0
mov dword [ebp - 0x68], 0x4ad77969
jmp 0x40c2ab
mov dword [ebp - 0x68], 0x6939c0d1
jmp 0x40c2ab
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x44]
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 dword [ebp - 0x2c], eax
mov dword [ebp - 0x68], 0x2a088c64
jmp 0x40c2ab
mov ecx, dword [0x43e564]
mov eax, dword [0x43e560]
mov edx, ecx
sub edx, 0xfcb7f9f1
sub edx, 1
add edx, 0xfcb7f9f1
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, 0xb53af582
mov ecx, 0x68203b7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov eax, dword [ebp - 0x2c]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x26], al
mov ecx, dword [0x43e564]
mov eax, dword [0x43e560]
mov edx, ecx
add edx, 0xcf4ba3de
sub edx, 1
sub edx, 0xcf4ba3de
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, 0xb53af582
mov ecx, 0xd6d17af0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov dl, byte [ebp - 0x26]
mov eax, 0x6eb1013c
mov ecx, 0x5d16a2ec
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov dword [ebp - 0x68], 0xde1f65e9
jmp 0x40c2ab
mov eax, dword [ebp - 0x44]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x25], al
mov dword [ebp - 0x68], 0x19cdcd16
jmp 0x40c2ab
mov eax, dword [0x43e564]
mov ecx, dword [0x43e560]
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, 0x404c8ad5
mov ecx, 0xcda5076
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov eax, dword [0x43e564]
mov ecx, dword [0x43e560]
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, 0x404c8ad5
mov ecx, 0xe04bf24b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov dl, byte [ebp - 0x25]
mov eax, 0x4e181aca
mov ecx, 0x1d6be550
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov byte [ebp - 0x61], 1
mov dword [ebp - 0x68], 0x3a20e280
jmp 0x40c2ab
mov dword [ebp - 0x68], 0xde1f65e9
jmp 0x40c2ab
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x68], 0x48ebd7d9
jmp 0x40c2ab
mov esi, dword [ebp - 0x60]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
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, 0xb078676c
mov ecx, 0xd9570126
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov dword [ebp - 0x68], 0xde1f65e9
jmp 0x40c2ab
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x68], 0x1b1f8065
jmp 0x40c2ab
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov eax, 0x3291f677
mov ecx, 0xbb76d2d1
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x68], eax
jmp 0x40c2ab
mov dword [ebp - 0x68], 0xde1f65e9
jmp 0x40c2ab
mov dword [ebp - 0x68], 0x6939c0d1
jmp 0x40c2ab
mov eax, dword [ebp - 0x5c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x60]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x61]
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x68], 0x6690f3a1
jmp 0x40c2ab
mov dword [ebp - 0x68], 0x24b4c7c8
jmp 0x40c2ab
mov al, byte [ebp - 0x4d]
and al, 1
mov byte [ebp - 0x11], al
mov dword [ebp - 0x68], 0x62f92ae4
jmp 0x40c2ab
mov al, byte [ebp - 0x11]
and al, 1
movzx eax, al
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00425ad0
mov eax, dword [ebp - 0x78]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x68], 0x4dcd098b
jmp 0x40c2ab
mov byte [ebp - 0x4d], 0
mov dword [ebp - 0x68], 0x92eddfbc
jmp 0x40c2ab
mov eax, dword [ebp - 0x38]
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 dword [ebp - 0x60], eax
mov dword [ebp - 0x68], 0x919f9ed4
jmp 0x40c2ab
mov dword [ebp - 0x68], 0x170a28df
jmp 0x40c2ab
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x68], 0x68203b7
jmp 0x40c2ab
mov dword [ebp - 0x68], 0xcda5076
jmp 0x40b706