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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x50
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x50], eax
mov eax, dword [0x59a2c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x4c], 0x44d1fb58
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x58], eax
sub eax, 0x807a2b0d
je 0x4025f4
jmp 0x40103c
mov eax, dword [ebp - 0x58]
sub eax, 0x811165ab
je 0x40207a
jmp 0x40104f
mov eax, dword [ebp - 0x58]
sub eax, 0x8447554e
je 0x4037f0
jmp 0x401062
mov eax, dword [ebp - 0x58]
sub eax, 0x8697ac67
je 0x40430a
jmp 0x401075
mov eax, dword [ebp - 0x58]
sub eax, 0x8744f475
je 0x4036f3
jmp 0x401088
mov eax, dword [ebp - 0x58]
sub eax, 0x89379c84
je 0x403a0c
jmp 0x40109b
mov eax, dword [ebp - 0x58]
sub eax, 0x8b658aec
je 0x4041d4
jmp 0x4010ae
mov eax, dword [ebp - 0x58]
sub eax, 0x8bfc89a7
je 0x403785
jmp 0x4010c1
mov eax, dword [ebp - 0x58]
sub eax, 0x8cdb30bd
je 0x402e06
jmp 0x4010d4
mov eax, dword [ebp - 0x58]
sub eax, 0x8cf85618
je 0x402a4d
jmp 0x4010e7
mov eax, dword [ebp - 0x58]
sub eax, 0x8d43250d
je 0x4042aa
jmp 0x4010fa
mov eax, dword [ebp - 0x58]
sub eax, 0x8dfb8ee4
je 0x403f4a
jmp 0x40110d
mov eax, dword [ebp - 0x58]
sub eax, 0x8e8a5c48
je 0x4028ac
jmp 0x401120
mov eax, dword [ebp - 0x58]
sub eax, 0x8f9ee854
je 0x402710
jmp 0x401133
mov eax, dword [ebp - 0x58]
sub eax, 0x8fb4d970
je 0x403ae6
jmp 0x401146
mov eax, dword [ebp - 0x58]
sub eax, 0x8fd649ee
je 0x40349a
jmp 0x401159
mov eax, dword [ebp - 0x58]
sub eax, 0x92d09dc3
je 0x404322
jmp 0x40116c
mov eax, dword [ebp - 0x58]
sub eax, 0x930d0c39
je 0x403454
jmp 0x40117f
mov eax, dword [ebp - 0x58]
sub eax, 0x93a3b228
je 0x40426e
jmp 0x401192
mov eax, dword [ebp - 0x58]
sub eax, 0x95c100c2
je 0x4021f6
jmp 0x4011a5
mov eax, dword [ebp - 0x58]
sub eax, 0x962d6c92
je 0x4032da
jmp 0x4011b8
mov eax, dword [ebp - 0x58]
sub eax, 0x96a57d47
je 0x4041e0
jmp 0x4011cb
mov eax, dword [ebp - 0x58]
sub eax, 0x996ae95c
je 0x404157
jmp 0x4011de
mov eax, dword [ebp - 0x58]
sub eax, 0x9a80c855
je 0x403076
jmp 0x4011f1
mov eax, dword [ebp - 0x58]
sub eax, 0x9af02553
je 0x4035de
jmp 0x401204
mov eax, dword [ebp - 0x58]
sub eax, 0x9cc09f6a
je 0x40421c
jmp 0x401217
mov eax, dword [ebp - 0x58]
sub eax, 0x9d7fd05c
je 0x403f3e
jmp 0x40122a
mov eax, dword [ebp - 0x58]
sub eax, 0x9e28c060
je 0x402b75
jmp 0x40123d
mov eax, dword [ebp - 0x58]
sub eax, 0xa0a63e7a
je 0x403542
jmp 0x401250
mov eax, dword [ebp - 0x58]
sub eax, 0xa26fb5ef
je 0x402568
jmp 0x401263
mov eax, dword [ebp - 0x58]
sub eax, 0xa2c4b079
je 0x402244
jmp 0x401276
mov eax, dword [ebp - 0x58]
sub eax, 0xa41c8c2d
je 0x403eb9
jmp 0x401289
mov eax, dword [ebp - 0x58]
sub eax, 0xa437a4f0
je 0x403953
jmp 0x40129c
mov eax, dword [ebp - 0x58]
sub eax, 0xa4f2cb2c
je 0x404204
jmp 0x4012af
mov eax, dword [ebp - 0x58]
sub eax, 0xa67db34c
je 0x403d66
jmp 0x4012c2
mov eax, dword [ebp - 0x58]
sub eax, 0xa7e37378
je 0x402321
jmp 0x4012d5
mov eax, dword [ebp - 0x58]
sub eax, 0xaa892f70
je 0x4042b6
jmp 0x4012e8
mov eax, dword [ebp - 0x58]
sub eax, 0xab558a8e
je 0x403c71
jmp 0x4012fb
mov eax, dword [ebp - 0x58]
sub eax, 0xabe71939
je 0x402906
jmp 0x40130e
mov eax, dword [ebp - 0x58]
sub eax, 0xacba6fee
je 0x402225
jmp 0x401321
mov eax, dword [ebp - 0x58]
sub eax, 0xb1f84b07
je 0x40305b
jmp 0x401334
mov eax, dword [ebp - 0x58]
sub eax, 0xb205e576
je 0x4041b1
jmp 0x401347
mov eax, dword [ebp - 0x58]
sub eax, 0xb31397a2
je 0x4034ec
jmp 0x40135a
mov eax, dword [ebp - 0x58]
sub eax, 0xb705cd54
je 0x404040
jmp 0x40136d
mov eax, dword [ebp - 0x58]
sub eax, 0xb7114c81
je 0x402ec7
jmp 0x401380
mov eax, dword [ebp - 0x58]
sub eax, 0xb716550c
je 0x404237
jmp 0x401393
mov eax, dword [ebp - 0x58]
sub eax, 0xb9b6932a
je 0x403d81
jmp 0x4013a6
mov eax, dword [ebp - 0x58]
sub eax, 0xbad8d89f
je 0x402971
jmp 0x4013b9
mov eax, dword [ebp - 0x58]
sub eax, 0xbcd06e3d
je 0x40429e
jmp 0x4013cc
mov eax, dword [ebp - 0x58]
sub eax, 0xbe9a44aa
je 0x40422b
jmp 0x4013df
mov eax, dword [ebp - 0x58]
sub eax, 0xbfcd1ebb
je 0x403590
jmp 0x4013f2
mov eax, dword [ebp - 0x58]
sub eax, 0xc1161485
je 0x4034a6
jmp 0x401405
mov eax, dword [ebp - 0x58]
sub eax, 0xc19b9bd0
je 0x402d41
jmp 0x401418
mov eax, dword [ebp - 0x58]
sub eax, 0xc406bbbe
je 0x402fc3
jmp 0x40142b
mov eax, dword [ebp - 0x58]
sub eax, 0xc40f888c
je 0x401de9
jmp 0x40143e
mov eax, dword [ebp - 0x58]
sub eax, 0xc75626eb
je 0x403015
jmp 0x401451
mov eax, dword [ebp - 0x58]
sub eax, 0xc9a1c469
je 0x4040ab
jmp 0x401464
mov eax, dword [ebp - 0x58]
sub eax, 0xc9c84253
je 0x402c26
jmp 0x401477
mov eax, dword [ebp - 0x58]
sub eax, 0xc9e5b7c5
je 0x402f3a
jmp 0x40148a
mov eax, dword [ebp - 0x58]
sub eax, 0xcd3c9010
je 0x4033e1
jmp 0x40149d
mov eax, dword [ebp - 0x58]
sub eax, 0xcd5c7805
je 0x403d5a
jmp 0x4014b0
mov eax, dword [ebp - 0x58]
sub eax, 0xce37c0f6
je 0x401da3
jmp 0x4014c3
mov eax, dword [ebp - 0x58]
sub eax, 0xcf335223
je 0x401ea8
jmp 0x4014d6
mov eax, dword [ebp - 0x58]
sub eax, 0xd876decb
je 0x403cdc
jmp 0x4014e9
mov eax, dword [ebp - 0x58]
sub eax, 0xd985a994
je 0x403137
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
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, 0x7d897d13
mov ecx, 0xc40f888c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [ebp - 0x28]
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 - 0x40], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x40], eax
sete al
and al, 1
mov byte [ebp - 0x21], al
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
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, 0x7d897d13
mov ecx, 0xcf335223
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
mov edx, ecx
sub edx, 0xe496827f
sub edx, 1
add edx, 0xe496827f
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, 0x7c9bb32a
mov ecx, 0x50bdbd15
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
add edx, 0xb485cdb9
sub edx, 1
sub edx, 0xb485cdb9
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, 0x587b2ba7
mov ecx, 0x18b0466b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov dword [ebp - 0x4c], 0xe65cd41
jmp 0x404329
mov eax, dword [ebp - 0x40]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 0x31], 0
mov dword [ebp - 0x4c], 0xa2c4b079
jmp 0x404329
mov dword [ebp - 0x4c], 0x163e465d
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
add edx, 0x6d5eb83c
sub edx, 1
sub edx, 0x6d5eb83c
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, 0x11059578
mov ecx, 0x3957f2c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
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, 0x1734266d
mov ecx, 0x35e77536
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
mov edx, ecx
add edx, 0x7bee68d7
sub edx, 1
sub edx, 0x7bee68d7
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, 0x9cc09f6a
mov ecx, 0xee068da1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
mov edx, ecx
add edx, 0xec1648bc
sub edx, 1
sub edx, 0xec1648bc
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, 0xbe9a44aa
mov ecx, 0x17f6e2f4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov dword [ebp - 0x4c], 0x13284b2d
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
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, 0x2aa74e81
mov ecx, 0xbad8d89f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov dl, byte [ebp - 0x18]
mov eax, 0x8cdb30bd
mov ecx, 0x19ea1755
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
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, 0x7ae4e93
mov ecx, 0x1bc36034
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
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, 0x4cc70b3a
mov ecx, 0x44b9c075
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
add edx, 0xdb3d5fee
sub edx, 1
sub edx, 0xdb3d5fee
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, 0x749d550
mov ecx, 0x227b1e2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
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, 0x66615e23
mov ecx, 0x363361c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
mov edx, ecx
add edx, 0x6876b15d
sub edx, 1
sub edx, 0x6876b15d
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, 0x93a3b228
mov ecx, 0xda13d08a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
mov edx, ecx
sub edx, 0x400e6200
sub edx, 1
add edx, 0x400e6200
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, 0xab558a8e
mov ecx, 0xc9e5b7c5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x44]
lea eax, [ebp - 0x14]
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]
cmp eax, 0
setne al
and al, 1
mov byte [ebp - 0x17], al
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
add edx, 0x41ce18fe
sub edx, 1
sub edx, 0x41ce18fe
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, 0xab558a8e
mov ecx, 0xc406bbbe
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov dword [ebp - 0x4c], 0xfdc93443
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
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, 0x8dfb8ee4
mov ecx, 0xb1f84b07
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov dl, byte [ebp - 0x17]
mov eax, 0x9a80c855
mov ecx, 0xc1161485
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
add edx, 0xf2151973
sub edx, 1
sub edx, 0xf2151973
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, 0x33dc4408
mov ecx, 0x2473927d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
mov edx, ecx
add edx, 0x16089daf
sub edx, 1
sub edx, 0x16089daf
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, 0xa67db34c
mov ecx, 0xdee95c0f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
mov edx, ecx
add edx, 0x517fd4a
sub edx, 1
sub edx, 0x517fd4a
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, 0x5e4c6c51
mov ecx, 0x930d0c39
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
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, 0x5e4c6c51
mov ecx, 0x8fd649ee
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov dword [ebp - 0x4c], 0xf6342b58
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
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, 0x63869344
mov ecx, 0xb31397a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x2c]
cmp eax, dword [ecx]
setne al
and al, 1
mov byte [ebp - 0x16], al
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
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, 0x63869344
mov ecx, 0xa0a63e7a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
sub edx, 0x2da636fe
sub edx, 1
add edx, 0x2da636fe
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, 0x6f623dc
mov ecx, 0xbfcd1ebb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
add edx, 0xb031dcba
sub edx, 1
sub edx, 0xb031dcba
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, 0x6f623dc
mov ecx, 0x9af02553
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov dword [ebp - 0x4c], 0xee000834
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
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, 0x5f50f945
mov ecx, 0x15066116
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
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, 0xbcd06e3d
mov ecx, 0x8447554e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
mov edx, ecx
add edx, 0x141ec9e7
sub edx, 1
sub edx, 0x141ec9e7
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, 0xbcd06e3d
mov ecx, 0xdd1a9997
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
sub edx, 0x65776c24
sub edx, 1
add edx, 0x65776c24
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, 0x8d43250d
mov ecx, 0x47cf8bcb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
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, 0x8b658aec
mov ecx, 0x763baad0
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
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, 0xaa892f70
mov ecx, 0x5468e0a3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
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, 0x2f8adbba
mov ecx, 0xd876decb
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x44]
lea eax, [ebp - 0x14]
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 eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
sub edx, 0x7aa65827
sub edx, 1
add edx, 0x7aa65827
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, 0x2f8adbba
mov ecx, 0xcd5c7805
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov dword [ebp - 0x4c], 0xc9e5b7c5
jmp 0x404329
mov dword [ebp - 0x4c], 0x5fe013e6
jmp 0x404329
mov dword [ebp - 0x4c], 0x7e28d51
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
sub edx, 0xe418fd43
sub edx, 1
add edx, 0xe418fd43
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, 0x6f553687
mov ecx, 0x5bb59585
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov dword [ebp - 0x4c], 0x5afaa8d5
jmp 0x404329
mov dword [ebp - 0x4c], 0xc75626eb
jmp 0x404329
mov ecx, dword [0x59c8d8]
mov eax, dword [0x59c8d4]
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, 0x120ed762
mov ecx, 0xc9a1c469
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
sub edx, 0x526e0e7a
sub edx, 1
add edx, 0x526e0e7a
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, 0x120ed762
mov ecx, 0xf539db8e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [0x59c8d8]
mov ecx, dword [0x59c8d4]
mov edx, eax
sub edx, 0x30b4dae3
sub edx, 1
add edx, 0x30b4dae3
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, 0x92d09dc3
mov ecx, 0x1ad21585
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x4c], eax
jmp 0x404329
mov eax, dword [ebp - 0x44]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x45]
and al, 1
mov byte [ebp - 0x31], al
mov dword [ebp - 0x4c], 0x7c601c5f
jmp 0x404329
mov dword [ebp - 0x4c], 0x763baad0
jmp 0x404329
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x4c], 0x6b40d0c9
jmp 0x404329
mov dword [ebp - 0x4c], 0x130f58f5
jmp 0x404329
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x4c], 0x807a2b0d
jmp 0x404329
mov dword [ebp - 0x4c], 0x17f6e2f4
jmp 0x404329
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x4c], 0xff6919e1
jmp 0x404329
mov dword [ebp - 0x4c], 0xda13d08a
jmp 0x404329
mov dword [ebp - 0x4c], 0x8447554e
jmp 0x404329
mov dword [ebp - 0x4c], 0x47cf8bcb
jmp 0x404329
mov dword [ebp - 0x4c], 0x5468e0a3
jmp 0x404329
mov dword [ebp - 0x4c], 0x3fa8fe46
jmp 0x404329
mov dword [ebp - 0x4c], 0x996ae95c
jmp 0x401026