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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x58
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x58], eax
mov eax, dword [0x434080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
sub edx, 0xd857a9e7
sub edx, 1
add edx, 0xd857a9e7
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [ebp - 0x4e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [ebp - 0x4d], al
mov dword [ebp - 0x54], 0x609d0613
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x60], eax
sub eax, 0x8bf069cf
je 0x407df5
jmp 0x407505
mov eax, dword [ebp - 0x60]
sub eax, 0x915b70ca
je 0x40816d
jmp 0x407518
mov eax, dword [ebp - 0x60]
sub eax, 0xa9f17ed3
je 0x407cc8
jmp 0x40752b
mov eax, dword [ebp - 0x60]
sub eax, 0xab6ac35a
je 0x4083f3
jmp 0x40753e
mov eax, dword [ebp - 0x60]
sub eax, 0xabc58b51
je 0x40847c
jmp 0x407551
mov eax, dword [ebp - 0x60]
sub eax, 0xacd51e83
je 0x4084ca
jmp 0x407564
mov eax, dword [ebp - 0x60]
sub eax, 0xaf841bcc
je 0x4084ea
jmp 0x407577
mov eax, dword [ebp - 0x60]
sub eax, 0xb53dca00
je 0x407ce7
jmp 0x40758a
mov eax, dword [ebp - 0x60]
sub eax, 0xbe2d23b4
je 0x407a23
jmp 0x40759d
mov eax, dword [ebp - 0x60]
sub eax, 0xc17ee3e5
je 0x407d9b
jmp 0x4075b0
mov eax, dword [ebp - 0x60]
sub eax, 0xc1f8030b
je 0x407af0
jmp 0x4075c3
mov eax, dword [ebp - 0x60]
sub eax, 0xcae5d3ef
je 0x407d04
jmp 0x4075d6
mov eax, dword [ebp - 0x60]
sub eax, 0xd5193829
je 0x4085d5
jmp 0x4075e9
mov eax, dword [ebp - 0x60]
sub eax, 0xd8611a0b
je 0x407cbc
jmp 0x4075fc
mov eax, dword [ebp - 0x60]
sub eax, 0xda420166
je 0x4080ee
jmp 0x40760f
mov eax, dword [ebp - 0x60]
sub eax, 0xe01f1984
je 0x408310
jmp 0x407622
mov eax, dword [ebp - 0x60]
sub eax, 0xe328532b
je 0x408606
jmp 0x407635
mov eax, dword [ebp - 0x60]
sub eax, 0xe8c6db10
je 0x407c24
jmp 0x407648
mov eax, dword [ebp - 0x60]
sub eax, 0xea20af2b
je 0x408502
jmp 0x40765b
mov eax, dword [ebp - 0x60]
sub eax, 0xf033523a
je 0x4084f6
jmp 0x40766e
mov eax, dword [ebp - 0x60]
sub eax, 0xf101b3aa
je 0x4085bd
jmp 0x407681
mov eax, dword [ebp - 0x60]
sub eax, 0xf221e751
je 0x408264
jmp 0x407694
mov eax, dword [ebp - 0x60]
sub eax, 0xf2b39a60
je 0x407a17
jmp 0x4076a7
mov eax, dword [ebp - 0x60]
sub eax, 0xf546555c
je 0x40835e
jmp 0x4076ba
mov eax, dword [ebp - 0x60]
sub eax, 0xf93161ab
je 0x407fe6
jmp 0x4076cd
mov eax, dword [ebp - 0x60]
sub eax, 0xfbd3706b
je 0x40800c
jmp 0x4076e0
mov eax, dword [ebp - 0x60]
sub eax, 0xff33e11e
je 0x408558
jmp 0x4076f3
mov eax, dword [ebp - 0x60]
sub eax, 0xff567a05
je 0x4081bb
jmp 0x407706
mov eax, dword [ebp - 0x60]
sub eax, 0x56eec53
je 0x407d28
jmp 0x407719
mov eax, dword [ebp - 0x60]
sub eax, 0x5c500bb
je 0x4081db
jmp 0x40772c
mov eax, dword [ebp - 0x60]
sub eax, 0x697c629
je 0x407de9
jmp 0x40773f
mov eax, dword [ebp - 0x60]
sub eax, 0x69e9598
je 0x408231
jmp 0x407752
mov eax, dword [ebp - 0x60]
sub eax, 0x1f71796a
je 0x408225
jmp 0x407765
mov eax, dword [ebp - 0x60]
sub eax, 0x2928ec12
je 0x407bb1
jmp 0x407778
mov eax, dword [ebp - 0x60]
sub eax, 0x2da3016c
je 0x407f4a
jmp 0x40778b
mov eax, dword [ebp - 0x60]
sub eax, 0x2f53b872
je 0x408027
jmp 0x40779e
mov eax, dword [ebp - 0x60]
sub eax, 0x305c6d65
je 0x407ba5
jmp 0x4077b1
mov eax, dword [ebp - 0x60]
sub eax, 0x3b04e019
je 0x407f2f
jmp 0x4077c4
mov eax, dword [ebp - 0x60]
sub eax, 0x3c4c672c
je 0x40859f
jmp 0x4077d7
mov eax, dword [ebp - 0x60]
sub eax, 0x3cf04903
je 0x408245
jmp 0x4077ea
mov eax, dword [ebp - 0x60]
sub eax, 0x3d5dc07d
je 0x407a71
jmp 0x4077fd
mov eax, dword [ebp - 0x60]
sub eax, 0x3dd5973e
je 0x4085ab
jmp 0x407810
mov eax, dword [ebp - 0x60]
sub eax, 0x42e483ee
je 0x4081c7
jmp 0x407823
mov eax, dword [ebp - 0x60]
sub eax, 0x437a9a18
je 0x407ff2
jmp 0x407836
mov eax, dword [ebp - 0x60]
sub eax, 0x45363014
je 0x407afc
jmp 0x407849
mov eax, dword [ebp - 0x60]
sub eax, 0x4bbaf35d
je 0x4083d0
jmp 0x40785c
mov eax, dword [ebp - 0x60]
sub eax, 0x4e2b8b30
je 0x407b93
jmp 0x40786f
mov eax, dword [ebp - 0x60]
sub eax, 0x4fd01e1e
je 0x4082f8
jmp 0x407882
mov eax, dword [ebp - 0x60]
sub eax, 0x53d28c59
je 0x4083dc
jmp 0x407895
mov eax, dword [ebp - 0x60]
sub eax, 0x56276e94
je 0x4082b2
jmp 0x4078a8
mov eax, dword [ebp - 0x60]
sub eax, 0x564d9875
je 0x407e82
jmp 0x4078bb
mov eax, dword [ebp - 0x60]
sub eax, 0x575e49e9
je 0x408564
jmp 0x4078ce
mov eax, dword [ebp - 0x60]
sub eax, 0x5b571208
je 0x4085c9
jmp 0x4078e1
mov eax, dword [ebp - 0x60]
sub eax, 0x609d0613
je 0x407991
jmp 0x4078f4
mov eax, dword [ebp - 0x60]
sub eax, 0x69f48f54
je 0x407d16
jmp 0x407907
mov eax, dword [ebp - 0x60]
sub eax, 0x6b14c96a
je 0x4079b7
jmp 0x40791a
mov eax, dword [ebp - 0x60]
sub eax, 0x6dfdf7e3
je 0x408304
jmp 0x40792d
mov eax, dword [ebp - 0x60]
sub eax, 0x71c2a77a
je 0x4080fa
jmp 0x407940
mov eax, dword [ebp - 0x60]
sub eax, 0x723b8cb6
je 0x40809a
jmp 0x407953
mov eax, dword [ebp - 0x60]
sub eax, 0x75695f46
je 0x407e0f
jmp 0x407966
mov eax, dword [ebp - 0x60]
sub eax, 0x7d249617
je 0x408409
jmp 0x407979
mov eax, dword [ebp - 0x60]
sub eax, 0x7d861f0b
je 0x407f98
jmp 0x40798c
jmp 0x40860d
mov al, byte [ebp - 0x4e]
mov cl, byte [ebp - 0x4d]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xaf841bcc
mov ecx, 0x6b14c96a
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
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
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
add edx, 0x4d3f91f9
sub edx, 1
sub edx, 0x4d3f91f9
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, 0xaf841bcc
mov ecx, 0xf2b39a60
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0xbe2d23b4
jmp 0x40860d
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
add edx, 0x4200ea56
sub edx, 1
sub edx, 0x4200ea56
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, 0xf033523a
mov ecx, 0x3d5dc07d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
add edx, 0xbb406e62
sub edx, 1
sub edx, 0xbb406e62
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, 0xf033523a
mov ecx, 0xc1f8030b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0x45363014
jmp 0x40860d
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x5c]
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
push eax
sub esp, 0xffc
mov eax, esp
mov dword [ebp - 0x30], eax
push eax
mov eax, esp
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
mov dword [eax], edx
mov eax, dword [ebp - 0x44]
mov dword [eax], ecx
mov eax, dword [ebp - 0x44]
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 - 0x40]
mov dword [eax], ecx
mov edx, dword [ebp - 0x40]
mov esi, 0xffffffff
mov eax, 0x2928ec12
mov ecx, 0x4e2b8b30
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [ebp - 0x4c]
mov byte [eax], 0
mov dword [ebp - 0x54], 0x305c6d65
jmp 0x40860d
mov dword [ebp - 0x54], 0xab6ac35a
jmp 0x40860d
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
add edx, 0xfbe03f0e
sub edx, 1
sub edx, 0xfbe03f0e
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, 0xea20af2b
mov ecx, 0xe8c6db10
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [ebp - 0x48]
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 - 0x3c]
mov dword [eax], ecx
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0xb1d33179
sub edx, 1
add edx, 0xb1d33179
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, 0xea20af2b
mov ecx, 0xd8611a0b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0xa9f17ed3
jmp 0x40860d
mov edx, dword [ebp - 0x3c]
mov esi, 0xffffffff
mov eax, 0x69f48f54
mov ecx, 0xb53dca00
cmp dword [edx], esi
cmove eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x54], 0xcae5d3ef
jmp 0x40860d
mov eax, dword [ebp - 0x4c]
mov byte [eax], 0
mov dword [ebp - 0x54], 0xab6ac35a
jmp 0x40860d
mov eax, dword [ebp - 0x38]
mov byte [eax], 0
mov dword [ebp - 0x54], 0x56eec53
jmp 0x40860d
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
sub edx, 0xd3fbc4fe
sub edx, 1
add edx, 0xd3fbc4fe
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, 0xff33e11e
mov ecx, 0xc17ee3e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x3f324d61
sub edx, 1
add edx, 0x3f324d61
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, 0xff33e11e
mov ecx, 0x697c629
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0x8bf069cf
jmp 0x40860d
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x54], 0x75695f46
jmp 0x40860d
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
add edx, 0xe8003c65
sub edx, 1
sub edx, 0xe8003c65
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, 0x575e49e9
mov ecx, 0x564d9875
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
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 - 0x1e], al
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
sub edx, 0xa2a74422
sub edx, 1
add edx, 0xa2a74422
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, 0x575e49e9
mov ecx, 0x3b04e019
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dl, byte [ebp - 0x1e]
mov eax, 0x2da3016c
mov ecx, 0x437a9a18
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x7b455ca2
sub edx, 1
add edx, 0x7b455ca2
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, 0x3c4c672c
mov ecx, 0x7d861f0b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x4fd58c12
sub edx, 1
add edx, 0x4fd58c12
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, 0x3c4c672c
mov ecx, 0xf93161ab
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0xe01f1984
jmp 0x40860d
mov eax, dword [ebp - 0x2c]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x54], 0xfbd3706b
jmp 0x40860d
mov dl, byte [ebp - 0x1d]
mov eax, 0x42e483ee
mov ecx, 0x2f53b872
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
add edx, 0x31061d78
sub edx, 1
sub edx, 0x31061d78
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, 0x3dd5973e
mov ecx, 0x723b8cb6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [ebp - 0x38]
mov byte [eax], 1
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x1dc02a10
sub edx, 1
add edx, 0x1dc02a10
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, 0x3dd5973e
mov ecx, 0xda420166
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0x71c2a77a
jmp 0x40860d
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
add edx, 0xbd58524b
sub edx, 1
sub edx, 0xbd58524b
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, 0xf101b3aa
mov ecx, 0x915b70ca
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
add edx, 0xafb37d56
sub edx, 1
sub edx, 0xafb37d56
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, 0xf101b3aa
mov ecx, 0xff567a05
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0xe01f1984
jmp 0x40860d
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x54], 0x5c500bb
jmp 0x40860d
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov esi, dword [eax]
mov eax, dword [ebp - 0x34]
mov ecx, 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, 0x1f71796a
mov ecx, 0x69e9598
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0xe01f1984
jmp 0x40860d
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x54], 0x3cf04903
jmp 0x40860d
mov eax, dword [ebp - 0x2c]
mov esi, dword [eax]
mov edx, dword [ebp - 0x18]
mov eax, 0x6dfdf7e3
mov ecx, 0xf221e751
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
sub edx, 0x658512a1
sub edx, 1
add edx, 0x658512a1
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, 0x5b571208
mov ecx, 0x56276e94
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
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, 0x5b571208
mov ecx, 0x4fd01e1e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0xe01f1984
jmp 0x40860d
mov dword [ebp - 0x54], 0x8bf069cf
jmp 0x40860d
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
add edx, 0x351cf8b8
sub edx, 1
sub edx, 0x351cf8b8
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, 0xd5193829
mov ecx, 0xf546555c
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x38]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x12], al
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
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, 0xd5193829
mov ecx, 0x4bbaf35d
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov dword [ebp - 0x54], 0x53d28c59
jmp 0x40860d
mov eax, dword [ebp - 0x4c]
mov cl, byte [ebp - 0x12]
and cl, 1
mov byte [eax], cl
mov dword [ebp - 0x54], 0xab6ac35a
jmp 0x40860d
mov eax, dword [ebp - 0x4c]
mov al, byte [eax]
and al, 1
mov byte [ebp - 0x11], al
mov dword [ebp - 0x54], 0x7d249617
jmp 0x40860d
mov ecx, dword [0x43557c]
mov eax, dword [0x435578]
mov edx, ecx
sub edx, 0xce9fcee5
sub edx, 1
add edx, 0xce9fcee5
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, 0xe328532b
mov ecx, 0xabc58b51
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov eax, dword [0x43557c]
mov ecx, dword [0x435578]
mov edx, eax
add edx, 0xdf27ef0d
sub edx, 1
sub edx, 0xdf27ef0d
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, 0xe328532b
mov ecx, 0xacd51e83
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x54], eax
jmp 0x40860d
mov al, byte [ebp - 0x11]
and al, 1
movzx eax, al
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e350
mov eax, dword [ebp - 0x64]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x54], 0x6b14c96a
jmp 0x40860d
mov dword [ebp - 0x54], 0x3d5dc07d
jmp 0x40860d
mov eax, dword [ebp - 0x48]
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 - 0x3c]
mov dword [eax], ecx
mov dword [ebp - 0x54], 0xe8c6db10
jmp 0x40860d
mov dword [ebp - 0x54], 0xc17ee3e5
jmp 0x40860d
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
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 - 0x54], 0x564d9875
jmp 0x40860d
mov dword [ebp - 0x54], 0x7d861f0b
jmp 0x40860d
mov eax, dword [ebp - 0x38]
mov byte [eax], 1
mov dword [ebp - 0x54], 0x723b8cb6
jmp 0x40860d
mov dword [ebp - 0x54], 0x915b70ca
jmp 0x40860d
mov dword [ebp - 0x54], 0x56276e94
jmp 0x40860d
mov eax, dword [ebp - 0x40]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x54], 0xf546555c
jmp 0x40860d
mov dword [ebp - 0x54], 0xabc58b51
jmp 0x4074ef