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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x60
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x60], eax
mov eax, dword [0x43d080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x5c], 0xa6618672
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
sub eax, 0x8557c972
je 0x40b5a0
jmp 0x40b08c
mov eax, dword [ebp - 0x68]
sub eax, 0x895d71a6
je 0x40ba91
jmp 0x40b09f
mov eax, dword [ebp - 0x68]
sub eax, 0x8a7c91e8
je 0x40b5f2
jmp 0x40b0b2
mov eax, dword [ebp - 0x68]
sub eax, 0x90e9d674
je 0x40b7b4
jmp 0x40b0c5
mov eax, dword [ebp - 0x68]
sub eax, 0x96ff1ee2
je 0x40b90a
jmp 0x40b0d8
mov eax, dword [ebp - 0x68]
sub eax, 0x99e3c807
je 0x40b9c1
jmp 0x40b0eb
mov eax, dword [ebp - 0x68]
sub eax, 0x9a2688c4
je 0x40b4f9
jmp 0x40b0fe
mov eax, dword [ebp - 0x68]
sub eax, 0xa4bb217e
je 0x40bcb2
jmp 0x40b111
mov eax, dword [ebp - 0x68]
sub eax, 0xa6618672
je 0x40b421
jmp 0x40b124
mov eax, dword [ebp - 0x68]
sub eax, 0xc19f9d1e
je 0x40b875
jmp 0x40b137
mov eax, dword [ebp - 0x68]
sub eax, 0xc39f1c11
je 0x40b5fe
jmp 0x40b14a
mov eax, dword [ebp - 0x68]
sub eax, 0xc41425e3
je 0x40b949
jmp 0x40b15d
mov eax, dword [ebp - 0x68]
sub eax, 0xc513ee55
je 0x40b8ec
jmp 0x40b170
mov eax, dword [ebp - 0x68]
sub eax, 0xc775f765
je 0x40bc2e
jmp 0x40b183
mov eax, dword [ebp - 0x68]
sub eax, 0xd77a6063
je 0x40ba0f
jmp 0x40b196
mov eax, dword [ebp - 0x68]
sub eax, 0xd851cac4
je 0x40b7c6
jmp 0x40b1a9
mov eax, dword [ebp - 0x68]
sub eax, 0xdb0bd86c
je 0x40bc71
jmp 0x40b1bc
mov eax, dword [ebp - 0x68]
sub eax, 0xdb95423d
je 0x40b55a
jmp 0x40b1cf
mov eax, dword [ebp - 0x68]
sub eax, 0xdede7634
je 0x40bbc8
jmp 0x40b1e2
mov eax, dword [ebp - 0x68]
sub eax, 0xe1a6d437
je 0x40b8fe
jmp 0x40b1f5
mov eax, dword [ebp - 0x68]
sub eax, 0xe4380a7d
je 0x40b6e4
jmp 0x40b208
mov eax, dword [ebp - 0x68]
sub eax, 0xf1f7113a
je 0x40b786
jmp 0x40b21b
mov eax, dword [ebp - 0x68]
sub eax, 0xf24b4e75
je 0x40b671
jmp 0x40b22e
mov eax, dword [ebp - 0x68]
sub eax, 0xf386a24a
je 0x40bc56
jmp 0x40b241
mov eax, dword [ebp - 0x68]
sub eax, 0xfe5ba0c1
je 0x40bb04
jmp 0x40b254
mov eax, dword [ebp - 0x68]
sub eax, 0xd2db1c
je 0x40b82f
jmp 0x40b267
mov eax, dword [ebp - 0x68]
sub eax, 0x60e8579
je 0x40b9b5
jmp 0x40b27a
mov eax, dword [ebp - 0x68]
sub eax, 0x87b8364
je 0x40bc46
jmp 0x40b28d
mov eax, dword [ebp - 0x68]
sub eax, 0x14af6ece
je 0x40b8d1
jmp 0x40b2a0
mov eax, dword [ebp - 0x68]
sub eax, 0x1cbb9bac
je 0x40b98c
jmp 0x40b2b3
mov eax, dword [ebp - 0x68]
sub eax, 0x212e0b52
je 0x40b970
jmp 0x40b2c6
mov eax, dword [ebp - 0x68]
sub eax, 0x288d1f4d
je 0x40bb66
jmp 0x40b2d9
mov eax, dword [ebp - 0x68]
sub eax, 0x2ae381a3
je 0x40b76b
jmp 0x40b2ec
mov eax, dword [ebp - 0x68]
sub eax, 0x2be3baa0
je 0x40b6f0
jmp 0x40b2ff
mov eax, dword [ebp - 0x68]
sub eax, 0x3385de38
je 0x40bb5a
jmp 0x40b312
mov eax, dword [ebp - 0x68]
sub eax, 0x3d0b7541
je 0x40bc0e
jmp 0x40b325
mov eax, dword [ebp - 0x68]
sub eax, 0x40c2902f
je 0x40b750
jmp 0x40b338
mov eax, dword [ebp - 0x68]
sub eax, 0x4a238134
je 0x40b964
jmp 0x40b34b
mov eax, dword [ebp - 0x68]
sub eax, 0x519d8bc2
je 0x40bc62
jmp 0x40b35e
mov eax, dword [ebp - 0x68]
sub eax, 0x55f16d49
je 0x40bc9e
jmp 0x40b371
mov eax, dword [ebp - 0x68]
sub eax, 0x5ad2e45a
je 0x40b46f
jmp 0x40b384
mov eax, dword [ebp - 0x68]
sub eax, 0x5e6da640
je 0x40b9a9
jmp 0x40b397
mov eax, dword [ebp - 0x68]
sub eax, 0x65cd792c
je 0x40b80f
jmp 0x40b3aa
mov eax, dword [ebp - 0x68]
sub eax, 0x67f225e0
je 0x40b4ed
jmp 0x40b3bd
mov eax, dword [ebp - 0x68]
sub eax, 0x71c3898b
je 0x40b7a8
jmp 0x40b3d0
mov eax, dword [ebp - 0x68]
sub eax, 0x71e0ec9f
je 0x40ba85
jmp 0x40b3e3
mov eax, dword [ebp - 0x68]
sub eax, 0x72b97b34
je 0x40b796
jmp 0x40b3f6
mov eax, dword [ebp - 0x68]
sub eax, 0x75959477
je 0x40b81b
jmp 0x40b409
mov eax, dword [ebp - 0x68]
sub eax, 0x7f0bd3b5
je 0x40bb7a
jmp 0x40b41c
jmp 0x40bcb9
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
sub edx, 0x96ed19
sub edx, 1
add edx, 0x96ed19
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, 0xc775f765
mov ecx, 0x5ad2e45a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
push eax
mov edx, esp
mov dword [ebp - 0x44], edx
push eax
mov edx, esp
mov dword [ebp - 0x40], edx
push eax
sub esp, 0xffc
mov edx, esp
mov dword [ebp - 0x3c], edx
push eax
mov edx, esp
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x34], eax
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
add edx, 0xb7ddcfe2
sub edx, 1
sub edx, 0xb7ddcfe2
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, 0xc775f765
mov ecx, 0x67f225e0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x9a2688c4
jmp 0x40bcb9
mov eax, dword [ebp - 0x34]
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 - 0x54], eax
mov edx, 0xffffffff
mov eax, 0x2be3baa0
mov ecx, 0xdb95423d
cmp dword [ebp - 0x54], edx
cmove eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
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, 0x87b8364
mov ecx, 0x8557c972
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov byte [ebp - 0x45], 0
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
add edx, 0x5687aa61
sub edx, 1
sub edx, 0x5687aa61
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, 0x87b8364
mov ecx, 0x8a7c91e8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0xc39f1c11
jmp 0x40bcb9
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
mov edx, ecx
add edx, 0x1899f3dc
sub edx, 1
sub edx, 0x1899f3dc
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, 0xf386a24a
mov ecx, 0xf24b4e75
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
mov edx, ecx
add edx, 0x4b3b21d2
sub edx, 1
sub edx, 0x4b3b21d2
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, 0xf386a24a
mov ecx, 0xe4380a7d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x288d1f4d
jmp 0x40bcb9
mov eax, dword [ebp - 0x4c]
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 - 0x58], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x58], eax
sete al
and al, 1
mov byte [ebp - 0x2d], al
mov dword [ebp - 0x5c], 0x40c2902f
jmp 0x40bcb9
mov dl, byte [ebp - 0x2d]
mov eax, 0x72b97b34
mov ecx, 0x2ae381a3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x5c], 0xf1f7113a
jmp 0x40bcb9
mov byte [ebp - 0x45], 0
mov dword [ebp - 0x5c], 0x288d1f4d
jmp 0x40bcb9
mov eax, dword [ebp - 0x44]
mov byte [eax], 0
mov dword [ebp - 0x5c], 0x71c3898b
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x90e9d674
jmp 0x40bcb9
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x5c], 0xd851cac4
jmp 0x40bcb9
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
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, 0x65cd792c
mov ecx, 0x75959477
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x99e3c807
jmp 0x40bcb9
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x5c], 0xd2db1c
jmp 0x40bcb9
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
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, 0x519d8bc2
mov ecx, 0xc19f9d1e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov eax, dword [ebp - 0x28]
cmp eax, 0
sete al
and al, 1
mov byte [ebp - 0x21], al
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
add edx, 0x890d2cca
sub edx, 1
sub edx, 0x890d2cca
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, 0x519d8bc2
mov ecx, 0x14af6ece
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov dl, byte [ebp - 0x21]
mov eax, 0x96ff1ee2
mov ecx, 0xc513ee55
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov eax, dword [ebp - 0x44]
mov byte [eax], 1
mov dword [ebp - 0x5c], 0xe1a6d437
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x99e3c807
jmp 0x40bcb9
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x40]
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 dword [ebp - 0x20], eax
mov dword [ebp - 0x5c], 0xc41425e3
jmp 0x40bcb9
mov edx, dword [ebp - 0x20]
mov eax, 0x4a238134
mov ecx, 0x212e0b52
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x99e3c807
jmp 0x40bcb9
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x5c], 0x1cbb9bac
jmp 0x40bcb9
mov edx, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov eax, 0x60e8579
mov ecx, 0x5e6da640
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x99e3c807
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x90e9d674
jmp 0x40bcb9
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
add edx, 0x7e762dc7
sub edx, 1
sub edx, 0x7e762dc7
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, 0xdb0bd86c
mov ecx, 0xd77a6063
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x58]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x44]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x12], al
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
add edx, 0xd3108012
sub edx, 1
sub edx, 0xd3108012
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, 0xdb0bd86c
mov ecx, 0x71e0ec9f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x895d71a6
jmp 0x40bcb9
mov ecx, dword [0x43e54c]
mov eax, dword [0x43e548]
mov edx, ecx
add edx, 0x4b48715f
sub edx, 1
sub edx, 0x4b48715f
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, 0x55f16d49
mov ecx, 0xfe5ba0c1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov al, byte [ebp - 0x12]
and al, 1
mov byte [ebp - 0x45], al
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
add edx, 0x67fd6f8
sub edx, 1
sub edx, 0x67fd6f8
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, 0x55f16d49
mov ecx, 0x3385de38
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0x288d1f4d
jmp 0x40bcb9
mov al, byte [ebp - 0x45]
and al, 1
mov byte [ebp - 0x11], al
mov dword [ebp - 0x5c], 0x7f0bd3b5
jmp 0x40bcb9
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
mov edx, eax
sub edx, 0x66e57981
sub edx, 1
add edx, 0x66e57981
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, 0xa4bb217e
mov ecx, 0xdede7634
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov eax, dword [0x43e54c]
mov ecx, dword [0x43e548]
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, 0xa4bb217e
mov ecx, 0x3d0b7541
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40bcb9
mov al, byte [ebp - 0x11]
and al, 1
movzx eax, al
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00425da0
mov eax, dword [ebp - 0x6c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x5c], 0x5ad2e45a
jmp 0x40bcb9
mov byte [ebp - 0x45], 0
mov dword [ebp - 0x5c], 0x8557c972
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0xf24b4e75
jmp 0x40bcb9
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], 0xc19f9d1e
jmp 0x40bcb9
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x58]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], 0xd77a6063
jmp 0x40bcb9
mov al, byte [ebp - 0x12]
and al, 1
mov byte [ebp - 0x45], al
mov dword [ebp - 0x5c], 0xfe5ba0c1
jmp 0x40bcb9
mov dword [ebp - 0x5c], 0xdede7634
jmp 0x40b076