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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x64
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x64], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
sub edx, 0x6656b181
sub edx, 1
add edx, 0x6656b181
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x5a], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x59], al
mov dword [ebp - 0x60], 0xdb8a11b3
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x6c], eax
sub eax, 0x82eb1458
je 0x40b57f
jmp 0x40a575
mov eax, dword [ebp - 0x6c]
sub eax, 0x8577cff3
je 0x40ad1d
jmp 0x40a588
mov eax, dword [ebp - 0x6c]
sub eax, 0x89fa2647
je 0x40b010
jmp 0x40a59b
mov eax, dword [ebp - 0x6c]
sub eax, 0x9289efe6
je 0x40b120
jmp 0x40a5ae
mov eax, dword [ebp - 0x6c]
sub eax, 0x956ecf72
je 0x40af82
jmp 0x40a5c1
mov eax, dword [ebp - 0x6c]
sub eax, 0x95aa677a
je 0x40ae5d
jmp 0x40a5d4
mov eax, dword [ebp - 0x6c]
sub eax, 0x9b391cc1
je 0x40ad9a
jmp 0x40a5e7
mov eax, dword [ebp - 0x6c]
sub eax, 0xa11d3a84
je 0x40b1cc
jmp 0x40a5fa
mov eax, dword [ebp - 0x6c]
sub eax, 0xa1ef13f2
je 0x40af28
jmp 0x40a60d
mov eax, dword [ebp - 0x6c]
sub eax, 0xa4ebb51d
je 0x40b1ae
jmp 0x40a620
mov eax, dword [ebp - 0x6c]
sub eax, 0xa9e3de82
je 0x40b234
jmp 0x40a633
mov eax, dword [ebp - 0x6c]
sub eax, 0xa9f02aed
je 0x40aad0
jmp 0x40a646
mov eax, dword [ebp - 0x6c]
sub eax, 0xb127d31f
je 0x40adc9
jmp 0x40a659
mov eax, dword [ebp - 0x6c]
sub eax, 0xc9698b70
je 0x40b0ad
jmp 0x40a66c
mov eax, dword [ebp - 0x6c]
sub eax, 0xcf73a3c8
je 0x40b1c0
jmp 0x40a67f
mov eax, dword [ebp - 0x6c]
sub eax, 0xd536b596
je 0x40b6b2
jmp 0x40a692
mov eax, dword [ebp - 0x6c]
sub eax, 0xdb870ce0
je 0x40b087
jmp 0x40a6a5
mov eax, dword [ebp - 0x6c]
sub eax, 0xdb8a11b3
je 0x40aa01
jmp 0x40a6b8
mov eax, dword [ebp - 0x6c]
sub eax, 0xdcaae4de
je 0x40b397
jmp 0x40a6cb
mov eax, dword [ebp - 0x6c]
sub eax, 0xde2ca125
je 0x40b5e3
jmp 0x40a6de
mov eax, dword [ebp - 0x6c]
sub eax, 0xdecca106
je 0x40b2ed
jmp 0x40a6f1
mov eax, dword [ebp - 0x6c]
sub eax, 0xea831255
je 0x40b318
jmp 0x40a704
mov eax, dword [ebp - 0x6c]
sub eax, 0xfdf306f2
je 0x40b64b
jmp 0x40a717
mov eax, dword [ebp - 0x6c]
sub eax, 0x36c85a7
je 0x40b193
jmp 0x40a72a
mov eax, dword [ebp - 0x6c]
sub eax, 0x7da00ef
je 0x40aac4
jmp 0x40a73d
mov eax, dword [ebp - 0x6c]
sub eax, 0x90132ab
je 0x40b65a
jmp 0x40a750
mov eax, dword [ebp - 0x6c]
sub eax, 0xbe2fdb5
je 0x40b20d
jmp 0x40a763
mov eax, dword [ebp - 0x6c]
sub eax, 0xc2d29fe
je 0x40abbb
jmp 0x40a776
mov eax, dword [ebp - 0x6c]
sub eax, 0xf234c7c
je 0x40ac2e
jmp 0x40a789
mov eax, dword [ebp - 0x6c]
sub eax, 0x10c0b15c
je 0x40b61e
jmp 0x40a79c
mov eax, dword [ebp - 0x6c]
sub eax, 0x10f19406
je 0x40b2f9
jmp 0x40a7af
mov eax, dword [ebp - 0x6c]
sub eax, 0x10ff462b
je 0x40aa4c
jmp 0x40a7c2
mov eax, dword [ebp - 0x6c]
sub eax, 0x144ecc29
je 0x40b4fd
jmp 0x40a7d5
mov eax, dword [ebp - 0x6c]
sub eax, 0x1560146f
je 0x40b3dd
jmp 0x40a7e8
mov eax, dword [ebp - 0x6c]
sub eax, 0x17a7edee
je 0x40adea
jmp 0x40a7fb
mov eax, dword [ebp - 0x6c]
sub eax, 0x1820772a
je 0x40b228
jmp 0x40a80e
mov eax, dword [ebp - 0x6c]
sub eax, 0x1f83cd7b
je 0x40b4f1
jmp 0x40a821
mov eax, dword [ebp - 0x6c]
sub eax, 0x20128f73
je 0x40adb5
jmp 0x40a834
mov eax, dword [ebp - 0x6c]
sub eax, 0x29ae7dd8
je 0x40b60f
jmp 0x40a847
mov eax, dword [ebp - 0x6c]
sub eax, 0x2af133b1
je 0x40ab48
jmp 0x40a85a
mov eax, dword [ebp - 0x6c]
sub eax, 0x2d6bd713
je 0x40ac13
jmp 0x40a86d
mov eax, dword [ebp - 0x6c]
sub eax, 0x2f420547
je 0x40b5d7
jmp 0x40a880
mov eax, dword [ebp - 0x6c]
sub eax, 0x2f4c7559
je 0x40ac40
jmp 0x40a893
mov eax, dword [ebp - 0x6c]
sub eax, 0x3007aa63
je 0x40b27a
jmp 0x40a8a6
mov eax, dword [ebp - 0x6c]
sub eax, 0x34e20749
je 0x40ac4c
jmp 0x40a8b9
mov eax, dword [ebp - 0x6c]
sub eax, 0x38bc72ee
je 0x40b62d
jmp 0x40a8cc
mov eax, dword [ebp - 0x6c]
sub eax, 0x3967bb1f
je 0x40af76
jmp 0x40a8df
mov eax, dword [ebp - 0x6c]
sub eax, 0x3cffdac9
je 0x40aed6
jmp 0x40a8f2
mov eax, dword [ebp - 0x6c]
sub eax, 0x3d6d3b20
je 0x40b514
jmp 0x40a905
mov eax, dword [ebp - 0x6c]
sub eax, 0x402aaa3d
je 0x40b3e9
jmp 0x40a918
mov eax, dword [ebp - 0x6c]
sub eax, 0x4085fcf8
je 0x40afc2
jmp 0x40a92b
mov eax, dword [ebp - 0x6c]
sub eax, 0x4411dd87
je 0x40b675
jmp 0x40a93e
mov eax, dword [ebp - 0x6c]
sub eax, 0x46cbec09
je 0x40b603
jmp 0x40a951
mov eax, dword [ebp - 0x6c]
sub eax, 0x478a5454
je 0x40b454
jmp 0x40a964
mov eax, dword [ebp - 0x6c]
sub eax, 0x5389859e
je 0x40b06c
jmp 0x40a977
mov eax, dword [ebp - 0x6c]
sub eax, 0x57ca3ebb
je 0x40aee2
jmp 0x40a98a
mov eax, dword [ebp - 0x6c]
sub eax, 0x5d7b6454
je 0x40b681
jmp 0x40a99d
mov eax, dword [ebp - 0x6c]
sub eax, 0x66ef793c
je 0x40b666
jmp 0x40a9b0
mov eax, dword [ebp - 0x6c]
sub eax, 0x68e9f564
je 0x40b63f
jmp 0x40a9c3
mov eax, dword [ebp - 0x6c]
sub eax, 0x6bdde592
je 0x40acaa
jmp 0x40a9d6
mov eax, dword [ebp - 0x6c]
sub eax, 0x7707fd9e
je 0x40b093
jmp 0x40a9e9
mov eax, dword [ebp - 0x6c]
sub eax, 0x7a143934
je 0x40b324
jmp 0x40a9fc
jmp 0x40b6bc
mov bl, byte [ebp - 0x5a]
mov dh, byte [ebp - 0x59]
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, 0x46cbec09
mov ecx, 0x10ff462b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
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
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
sub edx, 0xc78d0123
sub edx, 1
add edx, 0xc78d0123
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, 0x46cbec09
mov ecx, 0x7da00ef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0xa9f02aed
jmp 0x40b6bc
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x68]
push eax
sub esp, 0xffc
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov eax, dword [ebp - 0x50]
mov dword [eax], ecx
mov eax, dword [ebp - 0x50]
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 - 0x4c]
mov dword [eax], ecx
mov dword [ebp - 0x60], 0x2af133b1
jmp 0x40b6bc
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0x14b16be
sub edx, 1
sub edx, 0x14b16be
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, 0x29ae7dd8
mov ecx, 0xc2d29fe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [ebp - 0x4c]
mov ecx, 0xffffffff
cmp dword [eax], ecx
sete al
and al, 1
mov byte [ebp - 0x31], al
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
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, 0x29ae7dd8
mov ecx, 0x2d6bd713
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dl, byte [ebp - 0x31]
mov eax, 0x34e20749
mov ecx, 0xf234c7c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [ebp - 0x58]
mov byte [eax], 0
mov dword [ebp - 0x60], 0x2f4c7559
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x3d6d3b20
jmp 0x40b6bc
mov eax, dword [ebp - 0x54]
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 - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0x48]
mov eax, dword [eax]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x60], 0x6bdde592
jmp 0x40b6bc
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
sub edx, 0x2af22aea
sub edx, 1
add edx, 0x2af22aea
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, 0x10c0b15c
mov ecx, 0x8577cff3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [ebp - 0x30]
mov ecx, 0xffffffff
cmp eax, ecx
sete al
and al, 1
mov byte [ebp - 0x29], al
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
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, 0x10c0b15c
mov ecx, 0x9b391cc1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dl, byte [ebp - 0x29]
mov eax, 0x17a7edee
mov ecx, 0x20128f73
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x60], 0xb127d31f
jmp 0x40b6bc
mov eax, dword [ebp - 0x28]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x58]
mov byte [eax], 0
mov dword [ebp - 0x60], 0x3d6d3b20
jmp 0x40b6bc
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0x7621d4b8
sub edx, 1
sub edx, 0x7621d4b8
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, 0x38bc72ee
mov ecx, 0x95aa677a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [ebp - 0x44]
mov byte [eax], 0
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0xe7bb3db6
sub edx, 1
sub edx, 0xe7bb3db6
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, 0x38bc72ee
mov ecx, 0x3cffdac9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x57ca3ebb
jmp 0x40b6bc
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
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, 0x68e9f564
mov ecx, 0xa1ef13f2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
add edx, 0xfb0794fe
sub edx, 1
sub edx, 0xfb0794fe
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, 0x68e9f564
mov ecx, 0x3967bb1f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x956ecf72
jmp 0x40b6bc
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 - 0x24], eax
mov dword [ebp - 0x60], 0x4085fcf8
jmp 0x40b6bc
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
sub edx, 0x8857559e
sub edx, 1
add edx, 0x8857559e
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, 0xfdf306f2
mov ecx, 0x89fa2647
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [ebp - 0x24]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x1e], al
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
add edx, 0x95e86509
sub edx, 1
sub edx, 0x95e86509
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, 0xfdf306f2
mov ecx, 0x5389859e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dl, byte [ebp - 0x1e]
mov eax, 0xdb870ce0
mov ecx, 0x7707fd9e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x402aaa3d
jmp 0x40b6bc
mov eax, dword [ebp - 0x38]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x60], 0xc9698b70
jmp 0x40b6bc
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
sub edx, 0x6c6da186
sub edx, 1
add edx, 0x6c6da186
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, 0x90132ab
mov ecx, 0x9289efe6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0x9cdea765
sub edx, 1
sub edx, 0x9cdea765
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, 0x90132ab
mov ecx, 0x36c85a7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dl, byte [ebp - 0x1d]
mov eax, 0xa11d3a84
mov ecx, 0xa4ebb51d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [ebp - 0x44]
mov byte [eax], 1
mov dword [ebp - 0x60], 0xcf73a3c8
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x402aaa3d
jmp 0x40b6bc
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x48]
mov esi, dword [eax]
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 - 0x1c], eax
mov dword [ebp - 0x60], 0xbe2fdb5
jmp 0x40b6bc
mov edx, dword [ebp - 0x1c]
mov eax, 0x1820772a
mov ecx, 0xa9e3de82
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x402aaa3d
jmp 0x40b6bc
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
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, 0x66ef793c
mov ecx, 0x3007aa63
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
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, 0x66ef793c
mov ecx, 0xdecca106
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x10f19406
jmp 0x40b6bc
mov eax, dword [ebp - 0x38]
mov esi, dword [eax]
mov edx, dword [ebp - 0x18]
mov eax, 0x7a143934
mov ecx, 0xea831255
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x402aaa3d
jmp 0x40b6bc
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0xd0141ee1
sub edx, 1
sub edx, 0xd0141ee1
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, 0x4411dd87
mov ecx, 0xdcaae4de
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
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, 0x4411dd87
mov ecx, 0x1560146f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x956ecf72
jmp 0x40b6bc
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
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, 0x5d7b6454
mov ecx, 0x478a5454
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
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]
mov byte [ebp - 0x12], al
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0x443c2965
sub edx, 1
sub edx, 0x443c2965
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, 0x5d7b6454
mov ecx, 0x1f83cd7b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x144ecc29
jmp 0x40b6bc
mov cl, byte [ebp - 0x12]
mov eax, dword [ebp - 0x58]
and cl, 1
mov byte [eax], cl
mov dword [ebp - 0x60], 0x3d6d3b20
jmp 0x40b6bc
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
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, 0xd536b596
mov ecx, 0x82eb1458
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov eax, dword [ebp - 0x58]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x11], al
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
add edx, 0x596b4b3f
sub edx, 1
sub edx, 0x596b4b3f
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, 0xd536b596
mov ecx, 0x2f420547
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x60], eax
jmp 0x40b6bc
mov dword [ebp - 0x60], 0xde2ca125
jmp 0x40b6bc
mov al, byte [ebp - 0x11]
and al, 1
movzx eax, al
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00424630
mov eax, dword [ebp - 0x70]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x60], 0x10ff462b
jmp 0x40b6bc
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x60], 0xc2d29fe
jmp 0x40b6bc
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x60], 0x8577cff3
jmp 0x40b6bc
mov eax, dword [ebp - 0x44]
mov byte [eax], 0
mov dword [ebp - 0x60], 0x95aa677a
jmp 0x40b6bc
mov dword [ebp - 0x60], 0xa1ef13f2
jmp 0x40b6bc
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x60], 0x89fa2647
jmp 0x40b6bc
mov dword [ebp - 0x60], 0x9289efe6
jmp 0x40b6bc
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x60], 0x3007aa63
jmp 0x40b6bc
mov dword [ebp - 0x60], 0xdcaae4de
jmp 0x40b6bc
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 - 0x60], 0x478a5454
jmp 0x40b6bc
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x60], 0x82eb1458
jmp 0x40a55f