Function at 0x40b2d0
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], 0x5e6a7ebf
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
sub eax, 0x8c4249e4
je 0x40c3ca
jmp 0x40b30c
mov eax, dword [ebp - 0x68]
sub eax, 0x8dfebca3
je 0x40c33d
jmp 0x40b31f
mov eax, dword [ebp - 0x68]
sub eax, 0x941cf2d5
je 0x40bc57
jmp 0x40b332
mov eax, dword [ebp - 0x68]
sub eax, 0x97225997
je 0x40c4b3
jmp 0x40b345
mov eax, dword [ebp - 0x68]
sub eax, 0x975a5daa
je 0x40c3d6
jmp 0x40b358
mov eax, dword [ebp - 0x68]
sub eax, 0x9a4e0e82
je 0x40c180
jmp 0x40b36b
mov eax, dword [ebp - 0x68]
sub eax, 0x9a5add52
je 0x40bad1
jmp 0x40b37e
mov eax, dword [ebp - 0x68]
sub eax, 0x9da1ee45
je 0x40bfb1
jmp 0x40b391
mov eax, dword [ebp - 0x68]
sub eax, 0xa5c2a26f
je 0x40b993
jmp 0x40b3a4
mov eax, dword [ebp - 0x68]
sub eax, 0xabe9a948
je 0x40bf3a
jmp 0x40b3b7
mov eax, dword [ebp - 0x68]
sub eax, 0xac9cc999
je 0x40c488
jmp 0x40b3ca
mov eax, dword [ebp - 0x68]
sub eax, 0xaf42ce93
je 0x40c232
jmp 0x40b3dd
mov eax, dword [ebp - 0x68]
sub eax, 0xbfda8f8f
je 0x40bcfc
jmp 0x40b3f0
mov eax, dword [ebp - 0x68]
sub eax, 0xc04e9123
je 0x40c1fb
jmp 0x40b403
mov eax, dword [ebp - 0x68]
sub eax, 0xc30bcb86
je 0x40bfbd
jmp 0x40b416
mov eax, dword [ebp - 0x68]
sub eax, 0xc754c2d1
je 0x40c115
jmp 0x40b429
mov eax, dword [ebp - 0x68]
sub eax, 0xc7a9a488
je 0x40c109
jmp 0x40b43c
mov eax, dword [ebp - 0x68]
sub eax, 0xd24587f5
je 0x40c47c
jmp 0x40b44f
mov eax, dword [ebp - 0x68]
sub eax, 0xd289b8f6
je 0x40c426
jmp 0x40b462
mov eax, dword [ebp - 0x68]
sub eax, 0xd574a20f
je 0x40be38
jmp 0x40b475
mov eax, dword [ebp - 0x68]
sub eax, 0xd7ad93a6
je 0x40c46d
jmp 0x40b488
mov eax, dword [ebp - 0x68]
sub eax, 0xdb8a8419
je 0x40c270
jmp 0x40b49b
mov eax, dword [ebp - 0x68]
sub eax, 0xdce37f0f
je 0x40c2be
jmp 0x40b4ae
mov eax, dword [ebp - 0x68]
sub eax, 0xdecd0eb8
je 0x40c331
jmp 0x40b4c1
mov eax, dword [ebp - 0x68]
sub eax, 0xdf91e933
je 0x40c351
jmp 0x40b4d4
mov eax, dword [ebp - 0x68]
sub eax, 0xe2f54023
je 0x40c432
jmp 0x40b4e7
mov eax, dword [ebp - 0x68]
sub eax, 0xe5024166
je 0x40bd56
jmp 0x40b4fa
mov eax, dword [ebp - 0x68]
sub eax, 0xea82edcd
je 0x40bd08
jmp 0x40b50d
mov eax, dword [ebp - 0x68]
sub eax, 0xea8fe99b
je 0x40b881
jmp 0x40b520
mov eax, dword [ebp - 0x68]
sub eax, 0xebcbecfe
je 0x40beac
jmp 0x40b533
mov eax, dword [ebp - 0x68]
sub eax, 0xefa9f904
je 0x40c02b
jmp 0x40b546
mov eax, dword [ebp - 0x68]
sub eax, 0xf4e2a5b9
je 0x40b93f
jmp 0x40b559
mov eax, dword [ebp - 0x68]
sub eax, 0xfe925d5b
je 0x40be86
jmp 0x40b56c
mov eax, dword [ebp - 0x68]
sub eax, 0x1b4234c
je 0x40bb17
jmp 0x40b57f
mov eax, dword [ebp - 0x68]
sub eax, 0x2bedfa8
je 0x40ba0a
jmp 0x40b592
mov eax, dword [ebp - 0x68]
sub eax, 0x45fe8f6
je 0x40c23e
jmp 0x40b5a5
mov eax, dword [ebp - 0x68]
sub eax, 0x9013c23
je 0x40bbe0
jmp 0x40b5b8
mov eax, dword [ebp - 0x68]
sub eax, 0xb3cdb60
je 0x40bfc9
jmp 0x40b5cb
mov eax, dword [ebp - 0x68]
sub eax, 0x12e8c9ad
je 0x40bdc5
jmp 0x40b5de
mov eax, dword [ebp - 0x68]
sub eax, 0x1c25a008
je 0x40c096
jmp 0x40b5f1
mov eax, dword [ebp - 0x68]
sub eax, 0x22b374e9
je 0x40bbec
jmp 0x40b604
mov eax, dword [ebp - 0x68]
sub eax, 0x2345e417
je 0x40b88d
jmp 0x40b617
mov eax, dword [ebp - 0x68]
sub eax, 0x27f18ea8
je 0x40bb27
jmp 0x40b62a
mov eax, dword [ebp - 0x68]
sub eax, 0x28002749
je 0x40b7cb
jmp 0x40b63d
mov eax, dword [ebp - 0x68]
sub eax, 0x2889954f
je 0x40be92
jmp 0x40b650
mov eax, dword [ebp - 0x68]
sub eax, 0x2ae575ef
je 0x40bfe3
jmp 0x40b663
mov eax, dword [ebp - 0x68]
sub eax, 0x332dbfdb
je 0x40bec7
jmp 0x40b676
mov eax, dword [ebp - 0x68]
sub eax, 0x3491de15
je 0x40b8cc
jmp 0x40b689
mov eax, dword [ebp - 0x68]
sub eax, 0x3df24df3
je 0x40bb0b
jmp 0x40b69c
mov eax, dword [ebp - 0x68]
sub eax, 0x43bb4c20
je 0x40b99f
jmp 0x40b6af
mov eax, dword [ebp - 0x68]
sub eax, 0x442b8c05
je 0x40c371
jmp 0x40b6c2
mov eax, dword [ebp - 0x68]
sub eax, 0x4d3592fe
je 0x40c4a4
jmp 0x40b6d5
mov eax, dword [ebp - 0x68]
sub eax, 0x4f43e167
je 0x40baec
jmp 0x40b6e8
mov eax, dword [ebp - 0x68]
sub eax, 0x52a787cb
je 0x40bb6d
jmp 0x40b6fb
mov eax, dword [ebp - 0x68]
sub eax, 0x58533e9a
je 0x40c207
jmp 0x40b70e
mov eax, dword [ebp - 0x68]
sub eax, 0x5e6a7ebf
je 0x40b785
jmp 0x40b721
mov eax, dword [ebp - 0x68]
sub eax, 0x5f02acf0
je 0x40c498
jmp 0x40b734
mov eax, dword [ebp - 0x68]
sub eax, 0x69ee5545
je 0x40b8c0
jmp 0x40b747
mov eax, dword [ebp - 0x68]
sub eax, 0x6a6a50c9
je 0x40c226
jmp 0x40b75a
mov eax, dword [ebp - 0x68]
sub eax, 0x7b47430b
je 0x40bdaa
jmp 0x40b76d
mov eax, dword [ebp - 0x68]
sub eax, 0x7c7e80b2
je 0x40b8b0
jmp 0x40b780
jmp 0x40c4c2
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
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, 0x442b8c05
mov ecx, 0x28002749
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x64]
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 - 0x48], ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
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 - 0x34], eax
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
mov edx, eax
sub edx, 0x2b1edf97
sub edx, 1
add edx, 0x2b1edf97
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, 0x442b8c05
mov ecx, 0xea8fe99b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x2345e417
jmp 0x40c4c2
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x50], eax
mov edx, 0xffffffff
mov eax, 0x3491de15
mov ecx, 0x7c7e80b2
cmp dword [ebp - 0x50], edx
cmove eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov byte [ebp - 0x41], 0
mov dword [ebp - 0x5c], 0x69ee5545
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x8dfebca3
jmp 0x40c4c2
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
sub edx, 0xe8f958af
sub edx, 1
add edx, 0xe8f958af
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, 0x8c4249e4
mov ecx, 0xf4e2a5b9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x30], eax
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
mov edx, eax
sub edx, 0x1e9bf791
sub edx, 1
add edx, 0x1e9bf791
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, 0x8c4249e4
mov ecx, 0xa5c2a26f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x43bb4c20
jmp 0x40c4c2
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
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, 0x975a5daa
mov ecx, 0x2bedfa8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov eax, dword [ebp - 0x30]
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 - 0x54], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x54], eax
sete al
and al, 1
mov byte [ebp - 0x29], al
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
sub edx, 0x87511a76
sub edx, 1
add edx, 0x87511a76
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, 0x975a5daa
mov ecx, 0x9a5add52
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dl, byte [ebp - 0x29]
mov eax, 0x1b4234c
mov ecx, 0x4f43e167
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x41], 0
mov dword [ebp - 0x5c], 0x3df24df3
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x8dfebca3
jmp 0x40c4c2
mov byte [ebp - 0x55], 0
mov dword [ebp - 0x5c], 0x27f18ea8
jmp 0x40c4c2
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
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, 0xd289b8f6
mov ecx, 0x52a787cb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
add edx, 0xa852d6f8
sub edx, 1
sub edx, 0xa852d6f8
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, 0xd289b8f6
mov ecx, 0x9013c23
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x22b374e9
jmp 0x40c4c2
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
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, 0xe2f54023
mov ecx, 0x941cf2d5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x50]
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 - 0x28], eax
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
add edx, 0x9044912
sub edx, 1
sub edx, 0x9044912
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, 0xe2f54023
mov ecx, 0xbfda8f8f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0xea82edcd
jmp 0x40c4c2
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
mov edx, eax
sub edx, 0x89896732
sub edx, 1
add edx, 0x89896732
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, 0xd7ad93a6
mov ecx, 0xe5024166
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov eax, dword [ebp - 0x28]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x22], al
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
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, 0xd7ad93a6
mov ecx, 0x7b47430b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dl, byte [ebp - 0x22]
mov eax, 0x12e8c9ad
mov ecx, 0x2889954f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
add edx, 0xcd0a088d
sub edx, 1
sub edx, 0xcd0a088d
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, 0xd24587f5
mov ecx, 0xd574a20f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
mov edx, eax
add edx, 0x872d88a1
sub edx, 1
sub edx, 0x872d88a1
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, 0xd24587f5
mov ecx, 0xfe925d5b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x45fe8f6
jmp 0x40c4c2
mov eax, dword [ebp - 0x38]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x21], al
mov dword [ebp - 0x5c], 0xebcbecfe
jmp 0x40c4c2
mov dl, byte [ebp - 0x21]
mov eax, 0xb3cdb60
mov ecx, 0x332dbfdb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
sub edx, 0x198db8d9
sub edx, 1
add edx, 0x198db8d9
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, 0xac9cc999
mov ecx, 0xabe9a948
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov byte [ebp - 0x55], 1
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
add edx, 0x31616afd
sub edx, 1
sub edx, 0x31616afd
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, 0xac9cc999
mov ecx, 0x9da1ee45
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0xc30bcb86
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x45fe8f6
jmp 0x40c4c2
mov eax, dword [ebp - 0x38]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x5c], 0x2ae575ef
jmp 0x40c4c2
mov esi, dword [ebp - 0x54]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x20]
mov edx, 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, 0xefa9f904
mov ecx, 0xc754c2d1
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
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, 0x5f02acf0
mov ecx, 0x1c25a008
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
sub edx, 0xf0394808
sub edx, 1
add edx, 0xf0394808
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, 0x5f02acf0
mov ecx, 0xc7a9a488
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x45fe8f6
jmp 0x40c4c2
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
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, 0x4d3592fe
mov ecx, 0x9a4e0e82
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
mov edx, ecx
sub edx, 0xed0d0638
sub edx, 1
add edx, 0xed0d0638
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, 0x4d3592fe
mov ecx, 0xc04e9123
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x58533e9a
jmp 0x40c4c2
mov eax, dword [ebp - 0x38]
mov esi, dword [eax]
mov edx, dword [ebp - 0x18]
mov eax, 0xaf42ce93
mov ecx, 0x6a6a50c9
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x45fe8f6
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x22b374e9
jmp 0x40c4c2
mov eax, dword [ebp - 0x50]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x54]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x55]
and al, 1
mov byte [ebp - 0x12], al
mov dword [ebp - 0x5c], 0xdb8a8419
jmp 0x40c4c2
mov eax, dword [0x43e554]
mov ecx, dword [0x43e550]
mov edx, eax
sub edx, 0xed4cdda2
sub edx, 1
add edx, 0xed4cdda2
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, 0x97225997
mov ecx, 0xdce37f0f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov al, byte [ebp - 0x12]
and al, 1
mov byte [ebp - 0x41], al
mov ecx, dword [0x43e554]
mov eax, dword [0x43e550]
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, 0x97225997
mov ecx, 0xdecd0eb8
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x8dfebca3
jmp 0x40c4c2
mov al, byte [ebp - 0x41]
and al, 1
mov byte [ebp - 0x11], al
mov dword [ebp - 0x5c], 0xdf91e933
jmp 0x40c4c2
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.00426c20
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 - 0x48], ecx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
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], 0x28002749
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0xf4e2a5b9
jmp 0x40c4c2
mov eax, dword [ebp - 0x30]
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 - 0x54], eax
mov dword [ebp - 0x5c], 0x2bedfa8
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x52a787cb
jmp 0x40c4c2
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x50]
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 - 0x5c], 0x941cf2d5
jmp 0x40c4c2
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x5c], 0xe5024166
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0xd574a20f
jmp 0x40c4c2
mov byte [ebp - 0x55], 1
mov dword [ebp - 0x5c], 0xabe9a948
jmp 0x40c4c2
mov dword [ebp - 0x5c], 0x1c25a008
jmp 0x40c4c2
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x5c], 0x9a4e0e82
jmp 0x40c4c2
mov al, byte [ebp - 0x12]
and al, 1
mov byte [ebp - 0x41], al
mov dword [ebp - 0x5c], 0xdce37f0f
jmp 0x40b2f6