Function at 0x40b150
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 [0x43c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x5c], 0x50c98e5e
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68], eax
sub eax, 0x868282d3
je 0x40bf77
jmp 0x40b18c
mov eax, dword [ebp - 0x68]
sub eax, 0x890ac83c
je 0x40bc81
jmp 0x40b19f
mov eax, dword [ebp - 0x68]
sub eax, 0x892fc7a0
je 0x40bbac
jmp 0x40b1b2
mov eax, dword [ebp - 0x68]
sub eax, 0x90380905
je 0x40b8e3
jmp 0x40b1c5
mov eax, dword [ebp - 0x68]
sub eax, 0x92d6b63f
je 0x40bc8d
jmp 0x40b1d8
mov eax, dword [ebp - 0x68]
sub eax, 0x935a83fb
je 0x40c14a
jmp 0x40b1eb
mov eax, dword [ebp - 0x68]
sub eax, 0x94a097f0
je 0x40bd45
jmp 0x40b1fe
mov eax, dword [ebp - 0x68]
sub eax, 0x9c17b976
je 0x40b67e
jmp 0x40b211
mov eax, dword [ebp - 0x68]
sub eax, 0xa36491ad
je 0x40b9e8
jmp 0x40b224
mov eax, dword [ebp - 0x68]
sub eax, 0xa445ceea
je 0x40b6f9
jmp 0x40b237
mov eax, dword [ebp - 0x68]
sub eax, 0xa8c1dbc5
je 0x40b753
jmp 0x40b24a
mov eax, dword [ebp - 0x68]
sub eax, 0xa9b1cdc2
je 0x40ba36
jmp 0x40b25d
mov eax, dword [ebp - 0x68]
sub eax, 0xaf449b7c
je 0x40c0a7
jmp 0x40b270
mov eax, dword [ebp - 0x68]
sub eax, 0xbacdac89
je 0x40bca1
jmp 0x40b283
mov eax, dword [ebp - 0x68]
sub eax, 0xbd077d1e
je 0x40bceb
jmp 0x40b296
mov eax, dword [ebp - 0x68]
sub eax, 0xbdbb34e3
je 0x40c1c1
jmp 0x40b2a9
mov eax, dword [ebp - 0x68]
sub eax, 0xc74e278a
je 0x40badd
jmp 0x40b2bc
mov eax, dword [ebp - 0x68]
sub eax, 0xc79bea3f
je 0x40b7da
jmp 0x40b2cf
mov eax, dword [ebp - 0x68]
sub eax, 0xccaa9609
je 0x40c0e7
jmp 0x40b2e2
mov eax, dword [ebp - 0x68]
sub eax, 0xd5f5c17b
je 0x40bdcc
jmp 0x40b2f5
mov eax, dword [ebp - 0x68]
sub eax, 0xd74f9cbb
je 0x40bab6
jmp 0x40b308
mov eax, dword [ebp - 0x68]
sub eax, 0xdae7900a
je 0x40bf31
jmp 0x40b31b
mov eax, dword [ebp - 0x68]
sub eax, 0xe3b7c308
je 0x40c1d3
jmp 0x40b32e
mov eax, dword [ebp - 0x68]
sub eax, 0xeab7146f
je 0x40b9b0
jmp 0x40b341
mov eax, dword [ebp - 0x68]
sub eax, 0xefcdd3a9
je 0x40b8c2
jmp 0x40b354
mov eax, dword [ebp - 0x68]
sub eax, 0xbd7a11
je 0x40c0b3
jmp 0x40b367
mov eax, dword [ebp - 0x68]
sub eax, 0x286eccb
je 0x40c0c7
jmp 0x40b37a
mov eax, dword [ebp - 0x68]
sub eax, 0x2aff360
je 0x40c156
jmp 0x40b38d
mov eax, dword [ebp - 0x68]
sub eax, 0xce73d19
je 0x40bb2b
jmp 0x40b3a0
mov eax, dword [ebp - 0x68]
sub eax, 0x100d9970
je 0x40b9a4
jmp 0x40b3b3
mov eax, dword [ebp - 0x68]
sub eax, 0x1820d0c0
je 0x40b8a7
jmp 0x40b3c6
mov eax, dword [ebp - 0x68]
sub eax, 0x1b063d7c
je 0x40beb2
jmp 0x40b3d9
mov eax, dword [ebp - 0x68]
sub eax, 0x1cc12ebe
je 0x40be37
jmp 0x40b3ec
mov eax, dword [ebp - 0x68]
sub eax, 0x1dd5246a
je 0x40c191
jmp 0x40b3ff
mov eax, dword [ebp - 0x68]
sub eax, 0x218a703d
je 0x40bdc0
jmp 0x40b412
mov eax, dword [ebp - 0x68]
sub eax, 0x24756a4e
je 0x40b68e
jmp 0x40b425
mov eax, dword [ebp - 0x68]
sub eax, 0x27f59b85
je 0x40c1b2
jmp 0x40b438
mov eax, dword [ebp - 0x68]
sub eax, 0x39422cf9
je 0x40c1df
jmp 0x40b44b
mov eax, dword [ebp - 0x68]
sub eax, 0x4884b680
je 0x40b747
jmp 0x40b45e
mov eax, dword [ebp - 0x68]
sub eax, 0x4cd39442
je 0x40bc75
jmp 0x40b471
mov eax, dword [ebp - 0x68]
sub eax, 0x4f6d53fd
je 0x40bcf7
jmp 0x40b484
mov eax, dword [ebp - 0x68]
sub eax, 0x501fb936
je 0x40bf83
jmp 0x40b497
mov eax, dword [ebp - 0x68]
sub eax, 0x50c98e5e
je 0x40b5cc
jmp 0x40b4aa
mov eax, dword [ebp - 0x68]
sub eax, 0x5a21b3b1
je 0x40b5de
jmp 0x40b4bd
mov eax, dword [ebp - 0x68]
sub eax, 0x5a88787f
je 0x40bbd3
jmp 0x40b4d0
mov eax, dword [ebp - 0x68]
sub eax, 0x5ae1b4d9
je 0x40b9c2
jmp 0x40b4e3
mov eax, dword [ebp - 0x68]
sub eax, 0x5b203832
je 0x40b9ce
jmp 0x40b4f6
mov eax, dword [ebp - 0x68]
sub eax, 0x5d3a6cbe
je 0x40c01b
jmp 0x40b509
mov eax, dword [ebp - 0x68]
sub eax, 0x621327ca
je 0x40bc21
jmp 0x40b51c
mov eax, dword [ebp - 0x68]
sub eax, 0x6625a029
je 0x40c0f3
jmp 0x40b52f
mov eax, dword [ebp - 0x68]
sub eax, 0x67a27ab0
je 0x40bad1
jmp 0x40b542
mov eax, dword [ebp - 0x68]
sub eax, 0x6baa6a5f
je 0x40bfa8
jmp 0x40b555
mov eax, dword [ebp - 0x68]
sub eax, 0x70ac3470
je 0x40bbb8
jmp 0x40b568
mov eax, dword [ebp - 0x68]
sub eax, 0x77e806f1
je 0x40bebe
jmp 0x40b57b
mov eax, dword [ebp - 0x68]
sub eax, 0x7b041f35
je 0x40be97
jmp 0x40b58e
mov eax, dword [ebp - 0x68]
sub eax, 0x7cedeffd
je 0x40b767
jmp 0x40b5a1
mov eax, dword [ebp - 0x68]
sub eax, 0x7eda0985
je 0x40b956
jmp 0x40b5b4
mov eax, dword [ebp - 0x68]
sub eax, 0x7f6613b6
je 0x40c1a0
jmp 0x40b5c7
jmp 0x40c1ff
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x5c], 0x5a21b3b1
jmp 0x40c1ff
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x64]
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0x50], edx
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
sub esp, 0xffc
mov edx, esp
mov dword [ebp - 0x40], edx
push eax
mov edx, esp
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x54]
mov dword [edx], esi
mov dword [eax], ecx
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 - 0x50]
mov dword [eax], ecx
mov edx, dword [ebp - 0x50]
mov esi, 0xffffffff
mov eax, 0xa8c1dbc5
mov ecx, 0x9c17b976
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov byte [ebp - 0x55], 0
mov dword [ebp - 0x5c], 0x24756a4e
jmp 0x40c1ff
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, 0xccaa9609
mov ecx, 0xa445ceea
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
add edx, 0x663e8ba4
sub edx, 1
sub edx, 0x663e8ba4
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, 0xccaa9609
mov ecx, 0x4884b680
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0xbd7a11
jmp 0x40c1ff
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x5c], 0x7cedeffd
jmp 0x40c1ff
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
sub edx, 0x70858927
sub edx, 1
add edx, 0x70858927
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, 0x6625a029
mov ecx, 0xc79bea3f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
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 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 [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0xa7baf1bd
sub edx, 1
sub edx, 0xa7baf1bd
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, 0x6625a029
mov ecx, 0x1820d0c0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dl, byte [ebp - 0x31]
mov eax, 0xeab7146f
mov ecx, 0xefcdd3a9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x55], 0
mov dword [ebp - 0x5c], 0x90380905
jmp 0x40c1ff
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0xdc5e49c0
sub edx, 1
sub edx, 0xdc5e49c0
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, 0x935a83fb
mov ecx, 0x7eda0985
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
add edx, 0x84d58166
sub edx, 1
sub edx, 0x84d58166
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, 0x935a83fb
mov ecx, 0x100d9970
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0xbd7a11
jmp 0x40c1ff
mov eax, dword [ebp - 0x48]
mov byte [eax], 0
mov dword [ebp - 0x5c], 0x5ae1b4d9
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0x5b203832
jmp 0x40c1ff
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x5c], 0xa36491ad
jmp 0x40c1ff
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
add edx, 0xaeebd02e
sub edx, 1
sub edx, 0xaeebd02e
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, 0x2aff360
mov ecx, 0xa9b1cdc2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
mov edx, 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]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x26], 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, 0x2aff360
mov ecx, 0xd74f9cbb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dl, byte [ebp - 0x26]
mov eax, 0x67a27ab0
mov ecx, 0xc74e278a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0x501fb936
jmp 0x40c1ff
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
sub edx, 0x6a7fcd50
sub edx, 1
add edx, 0x6a7fcd50
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, 0x1dd5246a
mov ecx, 0xce73d19
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [ebp - 0x3c]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x25], al
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0xee88d44a
sub edx, 1
sub edx, 0xee88d44a
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, 0x1dd5246a
mov ecx, 0x892fc7a0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0x70ac3470
jmp 0x40c1ff
mov dl, byte [ebp - 0x25]
mov eax, 0x92d6b63f
mov ecx, 0x5a88787f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
add edx, 0xd7cc3d0c
sub edx, 1
sub edx, 0xd7cc3d0c
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, 0x7f6613b6
mov ecx, 0x621327ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [ebp - 0x48]
mov byte [eax], 1
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
sub edx, 0xe7495d5a
sub edx, 1
add edx, 0xe7495d5a
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, 0x7f6613b6
mov ecx, 0x4cd39442
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0x890ac83c
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0x501fb936
jmp 0x40c1ff
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x5c], 0xbacdac89
jmp 0x40c1ff
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x4c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x24]
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, 0xbd077d1e
mov ecx, 0x4f6d53fd
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0x501fb936
jmp 0x40c1ff
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
sub edx, 0x30f0edf7
sub edx, 1
add edx, 0x30f0edf7
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, 0x27f59b85
mov ecx, 0x94a097f0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
sub edx, 0xb5252669
sub edx, 1
add edx, 0xb5252669
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, 0x27f59b85
mov ecx, 0x218a703d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0xd5f5c17b
jmp 0x40c1ff
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, 0xbdbb34e3
mov ecx, 0x1cc12ebe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x20]
cmp eax, ecx
setne al
and al, 1
mov byte [ebp - 0x19], al
mov eax, dword [0x43d55c]
mov ecx, dword [0x43d558]
mov edx, eax
add edx, 0x1b171e2e
sub edx, 1
sub edx, 0x1b171e2e
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, 0xbdbb34e3
mov ecx, 0x7b041f35
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dl, byte [ebp - 0x19]
mov eax, 0x77e806f1
mov ecx, 0x1b063d7c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0x501fb936
jmp 0x40c1ff
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
add edx, 0xaccacbe9
sub edx, 1
sub edx, 0xaccacbe9
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, 0xe3b7c308
mov ecx, 0xdae7900a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
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, 0xe3b7c308
mov ecx, 0x868282d3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0x5b203832
jmp 0x40c1ff
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x5c], 0x6baa6a5f
jmp 0x40c1ff
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
sub edx, 0x6367aa7a
sub edx, 1
add edx, 0x6367aa7a
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, 0x39422cf9
mov ecx, 0x5d3a6cbe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x48]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x55], al
mov ecx, dword [0x43d55c]
mov eax, dword [0x43d558]
mov edx, ecx
sub edx, 0x7bc1a467
sub edx, 1
add edx, 0x7bc1a467
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, 0x39422cf9
mov ecx, 0xaf449b7c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x5c], eax
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0xbd7a11
jmp 0x40c1ff
mov al, byte [ebp - 0x55]
and al, 1
mov byte [ebp - 0x11], al
mov dword [ebp - 0x5c], 0x286eccb
jmp 0x40c1ff
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.00425ee0
mov eax, dword [ebp - 0x6c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x5c], 0xa445ceea
jmp 0x40c1ff
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 ecx, eax
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x5c], 0xc79bea3f
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0x7eda0985
jmp 0x40c1ff
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x30]
mov edx, 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 dword [ebp - 0x5c], 0xa9b1cdc2
jmp 0x40c1ff
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x5c], 0xce73d19
jmp 0x40c1ff
mov eax, dword [ebp - 0x48]
mov byte [eax], 1
mov dword [ebp - 0x5c], 0x621327ca
jmp 0x40c1ff
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x5c], 0x94a097f0
jmp 0x40c1ff
mov eax, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x5c], 0x1cc12ebe
jmp 0x40c1ff
mov dword [ebp - 0x5c], 0xdae7900a
jmp 0x40c1ff
mov eax, dword [ebp - 0x18]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x48]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x55], al
mov dword [ebp - 0x5c], 0x5d3a6cbe
jmp 0x40b176