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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x1064
call fcn.0041f920
mov eax, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
mov eax, dword [0x436080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
xor ecx, ecx
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]
sub esp, 0x1c
mov dword [ebp - 0x1038], eax
mov dword [ebp - 0x104c], 0x8757f759
mov eax, dword [ebp - 0x104c]
mov dword [ebp - 0x1050], eax
sub eax, 0x81bf504f
je 0x40a790
jmp 0x409ced
mov eax, dword [ebp - 0x1050]
sub eax, 0x8757f759
je 0x40a0d0
jmp 0x409d03
mov eax, dword [ebp - 0x1050]
sub eax, 0x8a6aaf44
je 0x40a5a0
jmp 0x409d19
mov eax, dword [ebp - 0x1050]
sub eax, 0x92a69c4a
je 0x40a6e3
jmp 0x409d2f
mov eax, dword [ebp - 0x1050]
sub eax, 0x947000b9
je 0x40a6b9
jmp 0x409d45
mov eax, dword [ebp - 0x1050]
sub eax, 0x9b005197
je 0x40a299
jmp 0x409d5b
mov eax, dword [ebp - 0x1050]
sub eax, 0xa0dd53a1
je 0x40a2a8
jmp 0x409d71
mov eax, dword [ebp - 0x1050]
sub eax, 0xa0f2ce55
je 0x40a1fb
jmp 0x409d87
mov eax, dword [ebp - 0x1050]
sub eax, 0xb889cc06
je 0x40a79f
jmp 0x409d9d
mov eax, dword [ebp - 0x1050]
sub eax, 0xba993853
je 0x40a34f
jmp 0x409db3
mov eax, dword [ebp - 0x1050]
sub eax, 0xbd1f92cf
je 0x40a6c8
jmp 0x409dc9
mov eax, dword [ebp - 0x1050]
sub eax, 0xcd441188
je 0x40a5f2
jmp 0x409ddf
mov eax, dword [ebp - 0x1050]
sub eax, 0xcebb33df
je 0x40a146
jmp 0x409df5
mov eax, dword [ebp - 0x1050]
sub eax, 0xd27a6ecc
je 0x40a2fe
jmp 0x409e0b
mov eax, dword [ebp - 0x1050]
sub eax, 0xd2d64fe0
je 0x40a5bb
jmp 0x409e21
mov eax, dword [ebp - 0x1050]
sub eax, 0xd36f86e5
je 0x40a561
jmp 0x409e37
mov eax, dword [ebp - 0x1050]
sub eax, 0xe9f7b275
je 0x40a3e3
jmp 0x409e4d
mov eax, dword [ebp - 0x1050]
sub eax, 0xead87d00
je 0x40a43f
jmp 0x409e63
mov eax, dword [ebp - 0x1050]
sub eax, 0xf2b46efb
je 0x40a40b
jmp 0x409e79
mov eax, dword [ebp - 0x1050]
sub eax, 0xf56505f9
je 0x40a1b2
jmp 0x409e8f
mov eax, dword [ebp - 0x1050]
sub eax, 0xf79f28ba
je 0x40a929
jmp 0x409ea5
mov eax, dword [ebp - 0x1050]
sub eax, 0xfbe181fa
je 0x40a9a9
jmp 0x409ebb
mov eax, dword [ebp - 0x1050]
sub eax, 0x309546a
je 0x40a8a8
jmp 0x409ed1
mov eax, dword [ebp - 0x1050]
sub eax, 0x14e74604
je 0x40a668
jmp 0x409ee7
mov eax, dword [ebp - 0x1050]
sub eax, 0x22cc6bf4
je 0x40a7f0
jmp 0x409efd
mov eax, dword [ebp - 0x1050]
sub eax, 0x264dc282
je 0x40a570
jmp 0x409f13
mov eax, dword [ebp - 0x1050]
sub eax, 0x2766a1a7
je 0x40a749
jmp 0x409f29
mov eax, dword [ebp - 0x1050]
sub eax, 0x2b273b4f
je 0x40a90e
jmp 0x409f3f
mov eax, dword [ebp - 0x1050]
sub eax, 0x2daf4cc7
je 0x40a283
jmp 0x409f55
mov eax, dword [ebp - 0x1050]
sub eax, 0x353ca646
je 0x40a866
jmp 0x409f6b
mov eax, dword [ebp - 0x1050]
sub eax, 0x354aa3c3
je 0x40a1a3
jmp 0x409f81
mov eax, dword [ebp - 0x1050]
sub eax, 0x365307ba
je 0x40a4b5
jmp 0x409f97
mov eax, dword [ebp - 0x1050]
sub eax, 0x37d4b691
je 0x40a430
jmp 0x409fad
mov eax, dword [ebp - 0x1050]
sub eax, 0x3ef1aa42
je 0x40a262
jmp 0x409fc3
mov eax, dword [ebp - 0x1050]
sub eax, 0x40094419
je 0x40a3c2
jmp 0x409fd9
mov eax, dword [ebp - 0x1050]
sub eax, 0x42bba325
je 0x40a938
jmp 0x409fef
mov eax, dword [ebp - 0x1050]
sub eax, 0x4757d4c0
je 0x40a5dc
jmp 0x40a005
mov eax, dword [ebp - 0x1050]
sub eax, 0x492cd110
je 0x40a76f
jmp 0x40a01b
mov eax, dword [ebp - 0x1050]
sub eax, 0x4b6e1a8a
je 0x40a953
jmp 0x40a031
mov eax, dword [ebp - 0x1050]
sub eax, 0x5592e658
je 0x40a99a
jmp 0x40a047
mov eax, dword [ebp - 0x1050]
sub eax, 0x719852b3
je 0x40a73a
jmp 0x40a05d
mov eax, dword [ebp - 0x1050]
sub eax, 0x73cd1766
je 0x40a41a
jmp 0x40a073
mov eax, dword [ebp - 0x1050]
sub eax, 0x782fb226
je 0x40a8c5
jmp 0x40a089
mov eax, dword [ebp - 0x1050]
sub eax, 0x78cac0fb
je 0x40a591
jmp 0x40a09f
mov eax, dword [ebp - 0x1050]
sub eax, 0x79d14603
je 0x40a8e2
jmp 0x40a0b5
mov eax, dword [ebp - 0x1050]
sub eax, 0x7f8adf2d
je 0x40a875
jmp 0x40a0cb
jmp 0x40a9b3
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0xbb12d813
sub edx, 1
add edx, 0xbb12d813
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, 0x2b273b4f
mov ecx, 0xcebb33df
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov eax, dword [ebp - 0x1038]
mov dword [ebp - 0x1040], eax
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
sub edx, 0xe3108610
sub edx, 1
add edx, 0xe3108610
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, 0x2b273b4f
mov ecx, 0x354aa3c3
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0xf56505f9
jmp 0x40a9b3
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
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, 0xf79f28ba
mov ecx, 0xa0f2ce55
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov eax, 0xffffffff
cmp dword [ebp - 0x1040], eax
sete al
and al, 1
mov byte [ebp - 0x1031], al
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
sub edx, 0x7ded1b23
sub edx, 1
add edx, 0x7ded1b23
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, 0xf79f28ba
mov ecx, 0x3ef1aa42
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov dl, byte [ebp - 0x1031]
mov eax, 0xa0dd53a1
mov ecx, 0x2daf4cc7
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov byte [ebp - 0x1039], 0
mov dword [ebp - 0x104c], 0x9b005197
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0x782fb226
jmp 0x40a9b3
mov eax, dword [ebp + 0xc]
xor ecx, ecx
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]
sub esp, 0x1c
mov dword [ebp - 0x1030], eax
mov dword [ebp - 0x104c], 0xd27a6ecc
jmp 0x40a9b3
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
sub edx, 0x91811bbc
sub edx, 1
add edx, 0x91811bbc
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, 0x42bba325
mov ecx, 0xba993853
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov eax, dword [ebp - 0x1030]
mov dword [ebp - 0x1044], eax
mov eax, 0xffffffff
cmp dword [ebp - 0x1044], eax
sete al
and al, 1
mov byte [ebp - 0x1029], al
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
sub edx, 0x15c230f9
sub edx, 1
add edx, 0x15c230f9
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, 0x42bba325
mov ecx, 0x40094419
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov dl, byte [ebp - 0x1029]
mov eax, 0x73cd1766
mov ecx, 0xe9f7b275
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov eax, dword [ebp - 0x1040]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov byte [ebp - 0x1039], 0
mov dword [ebp - 0x104c], 0xf2b46efb
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0x782fb226
jmp 0x40a9b3
mov byte [ebp - 0x1045], 0
mov dword [ebp - 0x104c], 0x37d4b691
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0xead87d00
jmp 0x40a9b3
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
add edx, 0x40c993b5
sub edx, 1
sub edx, 0x40c993b5
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, 0x4b6e1a8a
mov ecx, 0x365307ba
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
lea ecx, [ebp - 0x1010]
mov edx, dword [ebp - 0x1040]
lea eax, [ebp - 0x1018]
xor esi, esi
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]
sub esp, 0x14
mov dword [ebp - 0x1028], eax
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
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, 0x4b6e1a8a
mov ecx, 0xd36f86e5
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0x264dc282
jmp 0x40a9b3
mov edx, dword [ebp - 0x1028]
mov eax, 0x78cac0fb
mov ecx, 0x8a6aaf44
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0x7f8adf2d
jmp 0x40a9b3
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x1024], eax
mov dword [ebp - 0x104c], 0xd2d64fe0
jmp 0x40a9b3
mov edx, dword [ebp - 0x1024]
mov eax, 0xbd1f92cf
mov ecx, 0x4757d4c0
cmp edx, 0
cmove eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov byte [ebp - 0x1045], 1
mov dword [ebp - 0x104c], 0xcd441188
jmp 0x40a9b3
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0xab3962fa
sub edx, 1
add edx, 0xab3962fa
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, 0x5592e658
mov ecx, 0x14e74604
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
sub edx, 0xa17dd5b6
sub edx, 1
add edx, 0xa17dd5b6
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, 0x5592e658
mov ecx, 0x947000b9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0x7f8adf2d
jmp 0x40a9b3
mov eax, dword [ebp - 0x1018]
mov dword [ebp - 0x1020], eax
mov dword [ebp - 0x104c], 0x92a69c4a
jmp 0x40a9b3
lea edx, [ebp - 0x1010]
mov esi, dword [ebp - 0x1044]
mov ecx, dword [ebp - 0x1020]
lea eax, [ebp - 0x1014]
xor edi, edi
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]
sub esp, 0x14
mov edx, eax
mov eax, 0x719852b3
mov ecx, 0x2766a1a7
cmp edx, 0
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0x7f8adf2d
jmp 0x40a9b3
mov eax, dword [ebp - 0x1014]
cmp eax, dword [ebp - 0x1018]
setne al
and al, 1
mov byte [ebp - 0x101a], al
mov dword [ebp - 0x104c], 0x492cd110
jmp 0x40a9b3
mov dl, byte [ebp - 0x101a]
mov eax, 0xb889cc06
mov ecx, 0x81bf504f
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0x7f8adf2d
jmp 0x40a9b3
mov eax, dword [0x4375c4]
mov ecx, dword [0x4375c0]
mov edx, eax
add edx, 0xed59856b
sub edx, 1
sub edx, 0xed59856b
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, 0xfbe181fa
mov ecx, 0x22cc6bf4
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov ecx, dword [0x4375c4]
mov eax, dword [0x4375c0]
mov edx, ecx
sub edx, 0xa27af924
sub edx, 1
add edx, 0xa27af924
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, 0xfbe181fa
mov ecx, 0x353ca646
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x104c], eax
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0xead87d00
jmp 0x40a9b3
mov eax, dword [ebp - 0x1040]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov eax, dword [ebp - 0x1044]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 4
mov dword [ebp - 0x104c], 0x309546a
jmp 0x40a9b3
mov al, byte [ebp - 0x1045]
and al, 1
mov byte [ebp - 0x1039], al
mov dword [ebp - 0x104c], 0x782fb226
jmp 0x40a9b3
mov al, byte [ebp - 0x1039]
and al, 1
mov byte [ebp - 0x1019], al
mov dword [ebp - 0x104c], 0x79d14603
jmp 0x40a9b3
mov al, byte [ebp - 0x1019]
and al, 1
movzx eax, al
mov dword [ebp - 0x1054], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041f910
mov eax, dword [ebp - 0x1054]
add esp, 0x1064
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x1038]
mov dword [ebp - 0x1040], eax
mov dword [ebp - 0x104c], 0xcebb33df
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0xa0f2ce55
jmp 0x40a9b3
mov eax, dword [ebp - 0x1030]
mov dword [ebp - 0x1044], eax
mov dword [ebp - 0x104c], 0xba993853
jmp 0x40a9b3
lea ecx, [ebp - 0x1010]
mov edx, dword [ebp - 0x1040]
lea eax, [ebp - 0x1018]
xor esi, esi
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]
sub esp, 0x14
mov dword [ebp - 0x104c], 0x365307ba
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0x14e74604
jmp 0x40a9b3
mov dword [ebp - 0x104c], 0x22cc6bf4
jmp 0x409cd1