Function at 0x40b400
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], 0x13428f11
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
sub eax, 0x842271a5
je 0x40c24b
jmp 0x40b43c
mov eax, dword [ebp - 0x68]
sub eax, 0x88b8d693
je 0x40bd69
jmp 0x40b44f
mov eax, dword [ebp - 0x68]
sub eax, 0x8e871c3e
je 0x40be64
jmp 0x40b462
mov eax, dword [ebp - 0x68]
sub eax, 0x90604901
je 0x40be8a
jmp 0x40b475
mov eax, dword [ebp - 0x68]
sub eax, 0x916aabe6
je 0x40bdfd
jmp 0x40b488
mov eax, dword [ebp - 0x68]
sub eax, 0x948fd67f
je 0x40ba3d
jmp 0x40b49b
mov eax, dword [ebp - 0x68]
sub eax, 0x956bb924
je 0x40bea5
jmp 0x40b4ae
mov eax, dword [ebp - 0x68]
sub eax, 0x9febcb2b
je 0x40c06a
jmp 0x40b4c1
mov eax, dword [ebp - 0x68]
sub eax, 0xa720adc2
je 0x40c1e8
jmp 0x40b4d4
mov eax, dword [ebp - 0x68]
sub eax, 0xab08fe65
je 0x40c23f
jmp 0x40b4e7
mov eax, dword [ebp - 0x68]
sub eax, 0xb3d2d5d3
je 0x40bec3
jmp 0x40b4fa
mov eax, dword [ebp - 0x68]
sub eax, 0xb709cf69
je 0x40beb7
jmp 0x40b50d
mov eax, dword [ebp - 0x68]
sub eax, 0xb773629f
je 0x40c1b0
jmp 0x40b520
mov eax, dword [ebp - 0x68]
sub eax, 0xbe653937
je 0x40b970
jmp 0x40b533
mov eax, dword [ebp - 0x68]
sub eax, 0xc15a414a
je 0x40bf2d
jmp 0x40b546
mov eax, dword [ebp - 0x68]
sub eax, 0xc5663a55
je 0x40be70
jmp 0x40b559
mov eax, dword [ebp - 0x68]
sub eax, 0xc982e0dc
je 0x40be49
jmp 0x40b56c
mov eax, dword [ebp - 0x68]
sub eax, 0xca778eaa
je 0x40bcaf
jmp 0x40b57f
mov eax, dword [ebp - 0x68]
sub eax, 0xd29ce981
je 0x40c19c
jmp 0x40b592
mov eax, dword [ebp - 0x68]
sub eax, 0xd561ca39
je 0x40bc8e
jmp 0x40b5a5
mov eax, dword [ebp - 0x68]
sub eax, 0xd79d5c82
je 0x40badb
jmp 0x40b5b8
mov eax, dword [ebp - 0x68]
sub eax, 0xd89d769c
je 0x40c2cc
jmp 0x40b5cb
mov eax, dword [ebp - 0x68]
sub eax, 0xe1e5a7fd
je 0x40c2b4
jmp 0x40b5de
mov eax, dword [ebp - 0x68]
sub eax, 0xebca6ab1
je 0x40b91e
jmp 0x40b5f1
mov eax, dword [ebp - 0x68]
sub eax, 0xf0980f17
je 0x40bd5d
jmp 0x40b604
mov eax, dword [ebp - 0x68]
sub eax, 0xf31dead6
je 0x40bf4d
jmp 0x40b617
mov eax, dword [ebp - 0x68]
sub eax, 0xf57eb1a1
je 0x40c2c0
jmp 0x40b62a
mov eax, dword [ebp - 0x68]
sub eax, 0xf69187ae
je 0x40b92a
jmp 0x40b63d
mov eax, dword [ebp - 0x68]
sub eax, 0xf918bfad
je 0x40bdb7
jmp 0x40b650
mov eax, dword [ebp - 0x68]
sub eax, 0xfae93b62
je 0x40c2a2
jmp 0x40b663
mov eax, dword [ebp - 0x68]
sub eax, 0x6f1f9a9
je 0x40bd09
jmp 0x40b676
mov eax, dword [ebp - 0x68]
sub eax, 0xfc6633d
je 0x40c1d0
jmp 0x40b689
mov eax, dword [ebp - 0x68]
sub eax, 0x13428f11
je 0x40b80a
jmp 0x40b69c
mov eax, dword [ebp - 0x68]
sub eax, 0x151b022c
je 0x40ba68
jmp 0x40b6af
mov eax, dword [ebp - 0x68]
sub eax, 0x15e9fe4b
je 0x40bf39
jmp 0x40b6c2
mov eax, dword [ebp - 0x68]
sub eax, 0x16f74bf4
je 0x40bb29
jmp 0x40b6d5
mov eax, dword [ebp - 0x68]
sub eax, 0x2e958eb5
je 0x40bee5
jmp 0x40b6e8
mov eax, dword [ebp - 0x68]
sub eax, 0x30f829cf
je 0x40ba58
jmp 0x40b6fb
mov eax, dword [ebp - 0x68]
sub eax, 0x345f4cb4
je 0x40b87d
jmp 0x40b70e
mov eax, dword [ebp - 0x68]
sub eax, 0x39be636f
je 0x40bf6c
jmp 0x40b721
mov eax, dword [ebp - 0x68]
sub eax, 0x3d1456e1
je 0x40bc63
jmp 0x40b734
mov eax, dword [ebp - 0x68]
sub eax, 0x41cd0ae6
je 0x40bcbb
jmp 0x40b747
mov eax, dword [ebp - 0x68]
sub eax, 0x4f06c2c0
je 0x40bfeb
jmp 0x40b75a
mov eax, dword [ebp - 0x68]
sub eax, 0x59849342
je 0x40bba8
jmp 0x40b76d
mov eax, dword [ebp - 0x68]
sub eax, 0x5c37d7ec
je 0x40bf78
jmp 0x40b780
mov eax, dword [ebp - 0x68]
sub eax, 0x6a22c80c
je 0x40c188
jmp 0x40b793
mov eax, dword [ebp - 0x68]
sub eax, 0x6d1b9f84
je 0x40c05e
jmp 0x40b7a6
mov eax, dword [ebp - 0x68]
sub eax, 0x71487a9d
je 0x40be09
jmp 0x40b7b9
mov eax, dword [ebp - 0x68]
sub eax, 0x75c45276
je 0x40bb35
jmp 0x40b7cc
mov eax, dword [ebp - 0x68]
sub eax, 0x76403d41
je 0x40bc6f
jmp 0x40b7df
mov eax, dword [ebp - 0x68]
sub eax, 0x78aebe28
je 0x40c0dd
jmp 0x40b7f2
mov eax, dword [ebp - 0x68]
sub eax, 0x7ccc80b5
je 0x40c17c
jmp 0x40b805
jmp 0x40c2f8
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0xd31c0eab
sub edx, 1
add edx, 0xd31c0eab
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, 0xfc6633d
mov ecx, 0x345f4cb4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
push eax
mov edx, esp
mov dword [ebp - 0x4c], edx
push eax
mov edx, esp
mov dword [ebp - 0x48], edx
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 - 0x54], ecx
mov dword [ebp - 0x58], eax
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
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, 0xfc6633d
mov ecx, 0xebca6ab1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0xf69187ae
jmp 0x40c2f8
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
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, 0xa720adc2
mov ecx, 0xbe653937
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
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 ecx, eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x31], al
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0x83dff5c5
sub edx, 1
add edx, 0x83dff5c5
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, 0xa720adc2
mov ecx, 0x948fd67f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dl, byte [ebp - 0x31]
mov eax, 0x75c45276
mov ecx, 0x30f829cf
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov byte [ebp - 0x4d], 0
mov dword [ebp - 0x5c], 0x151b022c
jmp 0x40c2f8
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0x1b9d484b
sub edx, 1
sub edx, 0x1b9d484b
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, 0xab08fe65
mov ecx, 0xd79d5c82
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
sub edx, 0xa0d380bf
sub edx, 1
add edx, 0xa0d380bf
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, 0xab08fe65
mov ecx, 0x16f74bf4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0xd29ce981
jmp 0x40c2f8
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0x1a2e76f1
sub edx, 1
add edx, 0x1a2e76f1
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, 0x842271a5
mov ecx, 0x59849342
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov eax, dword [ebp - 0x54]
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 - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
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, 0x842271a5
mov ecx, 0x3d1456e1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x76403d41
jmp 0x40c2f8
mov edx, dword [ebp - 0x30]
mov esi, 0xffffffff
mov eax, 0x41cd0ae6
mov ecx, 0xd561ca39
cmp edx, esi
cmove eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x4d], 0
mov dword [ebp - 0x5c], 0xca778eaa
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0xd29ce981
jmp 0x40c2f8
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
add edx, 0x32b9157a
sub edx, 1
sub edx, 0x32b9157a
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, 0xfae93b62
mov ecx, 0x6f1f9a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov eax, dword [ebp - 0x44]
mov byte [eax], 0
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
sub edx, 0xd287919c
sub edx, 1
add edx, 0xd287919c
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, 0xfae93b62
mov ecx, 0xf0980f17
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x88b8d693
jmp 0x40c2f8
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
mov edx, eax
add edx, 0xcaf8a54e
sub edx, 1
sub edx, 0xcaf8a54e
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, 0xe1e5a7fd
mov ecx, 0xf918bfad
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov eax, dword [0x43e55c]
mov ecx, dword [0x43e558]
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, 0xe1e5a7fd
mov ecx, 0x916aabe6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x71487a9d
jmp 0x40c2f8
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax]
mov eax, dword [ebp - 0x38]
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 - 0x5c], 0xc982e0dc
jmp 0x40c2f8
mov edx, dword [ebp - 0x2c]
mov eax, 0x8e871c3e
mov ecx, 0xc5663a55
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x9febcb2b
jmp 0x40c2f8
mov eax, dword [ebp - 0x38]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x25], al
mov dword [ebp - 0x5c], 0x90604901
jmp 0x40c2f8
mov dl, byte [ebp - 0x25]
mov eax, 0xb3d2d5d3
mov ecx, 0x956bb924
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov eax, dword [ebp - 0x44]
mov byte [eax], 1
mov dword [ebp - 0x5c], 0xb709cf69
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x9febcb2b
jmp 0x40c2f8
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x5c], 0x2e958eb5
jmp 0x40c2f8
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov esi, 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, 0xc15a414a
mov ecx, 0x15e9fe4b
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x9febcb2b
jmp 0x40c2f8
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x5c], 0xf31dead6
jmp 0x40c2f8
mov eax, dword [ebp - 0x38]
mov esi, dword [eax]
mov edx, dword [ebp - 0x18]
mov eax, 0x5c37d7ec
mov ecx, 0x39be636f
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x9febcb2b
jmp 0x40c2f8
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0xd957ff5b
sub edx, 1
sub edx, 0xd957ff5b
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, 0xf57eb1a1
mov ecx, 0x4f06c2c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0xa6e6c61e
sub edx, 1
sub edx, 0xa6e6c61e
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, 0xf57eb1a1
mov ecx, 0x6d1b9f84
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x71487a9d
jmp 0x40c2f8
mov ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
sub edx, 0xdaafba06
sub edx, 1
add edx, 0xdaafba06
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, 0xd89d769c
mov ecx, 0x78aebe28
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
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 ecx, dword [0x43e55c]
mov eax, dword [0x43e558]
mov edx, ecx
add edx, 0xde4e37cf
sub edx, 1
sub edx, 0xde4e37cf
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, 0xd89d769c
mov ecx, 0x7ccc80b5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x6a22c80c
jmp 0x40c2f8
mov al, byte [ebp - 0x12]
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x5c], 0xd29ce981
jmp 0x40c2f8
mov al, byte [ebp - 0x4d]
and al, 1
mov byte [ebp - 0x11], al
mov dword [ebp - 0x5c], 0xb773629f
jmp 0x40c2f8
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.00426b40
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 - 0x54], ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], 0x345f4cb4
jmp 0x40c2f8
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 ecx, eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], 0xbe653937
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0xd79d5c82
jmp 0x40c2f8
mov eax, dword [ebp - 0x54]
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 - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x5c], 0x59849342
jmp 0x40c2f8
mov eax, dword [ebp - 0x44]
mov byte [eax], 0
mov dword [ebp - 0x5c], 0x6f1f9a9
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0xf918bfad
jmp 0x40c2f8
mov dword [ebp - 0x5c], 0x4f06c2c0
jmp 0x40c2f8
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], 0x78aebe28
jmp 0x40b426