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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
mov eax, 0x104c
call fcn.004253a0
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x1050], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x104c], eax
mov eax, dword [0x43c080]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1048], 0x169d5951
mov eax, dword [ebp - 0x1048]
mov dword [ebp - 0x1054], eax
sub eax, 0x958a00c6
je 0x40ad75
jmp 0x40a5f2
mov eax, dword [ebp - 0x1054]
sub eax, 0x988d873a
je 0x40b031
jmp 0x40a608
mov eax, dword [ebp - 0x1054]
sub eax, 0x9af9a871
je 0x40ae2f
jmp 0x40a61e
mov eax, dword [ebp - 0x1054]
sub eax, 0xa7543a77
je 0x40ae96
jmp 0x40a634
mov eax, dword [ebp - 0x1054]
sub eax, 0xa8a0923d
je 0x40b251
jmp 0x40a64a
mov eax, dword [ebp - 0x1054]
sub eax, 0xafc45415
je 0x40ab2b
jmp 0x40a660
mov eax, dword [ebp - 0x1054]
sub eax, 0xb8c91215
je 0x40ab7c
jmp 0x40a676
mov eax, dword [ebp - 0x1054]
sub eax, 0xb93ca3d2
je 0x40b082
jmp 0x40a68c
mov eax, dword [ebp - 0x1054]
sub eax, 0xb9e387b4
je 0x40ad98
jmp 0x40a6a2
mov eax, dword [ebp - 0x1054]
sub eax, 0xbdfad48c
je 0x40ac4e
jmp 0x40a6b8
mov eax, dword [ebp - 0x1054]
sub eax, 0xbee501ef
je 0x40ad45
jmp 0x40a6ce
mov eax, dword [ebp - 0x1054]
sub eax, 0xd1b3f850
je 0x40af71
jmp 0x40a6e4
mov eax, dword [ebp - 0x1054]
sub eax, 0xde89ff3e
je 0x40ac04
jmp 0x40a6fa
mov eax, dword [ebp - 0x1054]
sub eax, 0xe301ce89
je 0x40ac29
jmp 0x40a710
mov eax, dword [ebp - 0x1054]
sub eax, 0xeada536f
je 0x40ad66
jmp 0x40a726
mov eax, dword [ebp - 0x1054]
sub eax, 0xf1298a01
je 0x40ac13
jmp 0x40a73c
mov eax, dword [ebp - 0x1054]
sub eax, 0xf5232000
je 0x40aca3
jmp 0x40a752
mov eax, dword [ebp - 0x1054]
sub eax, 0xf59cbaa9
je 0x40af49
jmp 0x40a768
mov eax, dword [ebp - 0x1054]
sub eax, 0xf7bdcf2e
je 0x40b207
jmp 0x40a77e
mov eax, dword [ebp - 0x1054]
sub eax, 0xf9571f64
je 0x40b119
jmp 0x40a794
mov eax, dword [ebp - 0x1054]
sub eax, 0xf9e4187d
je 0x40b276
jmp 0x40a7aa
mov eax, dword [ebp - 0x1054]
sub eax, 0xfc795e62
je 0x40aa11
jmp 0x40a7c0
mov eax, dword [ebp - 0x1054]
sub eax, 0x66dc0bb
je 0x40aa7e
jmp 0x40a7d6
mov eax, dword [ebp - 0x1054]
sub eax, 0xfa2d4a2
je 0x40b022
jmp 0x40a7ec
mov eax, dword [ebp - 0x1054]
sub eax, 0x14a005b2
je 0x40afd1
jmp 0x40a802
mov eax, dword [ebp - 0x1054]
sub eax, 0x169d5951
je 0x40a9d5
jmp 0x40a818
mov eax, dword [ebp - 0x1054]
sub eax, 0x17642429
je 0x40ae87
jmp 0x40a82e
mov eax, dword [ebp - 0x1054]
sub eax, 0x1ca7bac1
je 0x40af1f
jmp 0x40a844
mov eax, dword [ebp - 0x1054]
sub eax, 0x217ce325
je 0x40aa94
jmp 0x40a85a
mov eax, dword [ebp - 0x1054]
sub eax, 0x243e3514
je 0x40aea5
jmp 0x40a870
mov eax, dword [ebp - 0x1054]
sub eax, 0x262cbea8
je 0x40ac3f
jmp 0x40a886
mov eax, dword [ebp - 0x1054]
sub eax, 0x2994a0f1
je 0x40af2e
jmp 0x40a89c
mov eax, dword [ebp - 0x1054]
sub eax, 0x3364fa1f
je 0x40aabe
jmp 0x40a8b2
mov eax, dword [ebp - 0x1054]
sub eax, 0x36d9295e
je 0x40b2a6
jmp 0x40a8c8
mov eax, dword [ebp - 0x1054]
sub eax, 0x3a4b2ebd
je 0x40b260
jmp 0x40a8de
mov eax, dword [ebp - 0x1054]
sub eax, 0x402e7939
je 0x40b285
jmp 0x40a8f4
mov eax, dword [ebp - 0x1054]
sub eax, 0x407045f1
je 0x40aefe
jmp 0x40a90a
mov eax, dword [ebp - 0x1054]
sub eax, 0x47387ac5
je 0x40af80
jmp 0x40a920
mov eax, dword [ebp - 0x1054]
sub eax, 0x4a6d5f61
je 0x40adb9
jmp 0x40a936
mov eax, dword [ebp - 0x1054]
sub eax, 0x4ba922d6
je 0x40b199
jmp 0x40a94c
mov eax, dword [ebp - 0x1054]
sub eax, 0x4c3c5300
je 0x40b10a
jmp 0x40a962
mov eax, dword [ebp - 0x1054]
sub eax, 0x56b83de9
je 0x40acf4
jmp 0x40a978
mov eax, dword [ebp - 0x1054]
sub eax, 0x5745dd31
je 0x40aaa3
jmp 0x40a98e
mov eax, dword [ebp - 0x1054]
sub eax, 0x58a25946
je 0x40b230
jmp 0x40a9a4
mov eax, dword [ebp - 0x1054]
sub eax, 0x77141a2b
je 0x40b1f8
jmp 0x40a9ba
mov eax, dword [ebp - 0x1054]
sub eax, 0x788350a9
je 0x40b148
jmp 0x40a9d0
jmp 0x40b2b0
mov eax, dword [ebp - 0x104c]
mov ecx, dword [ebp - 0x1050]
push eax
mov edx, esp
mov dword [ebp - 0x102c], edx
mov dword [ebp - 0x1034], ecx
mov dword [ebp - 0x1038], eax
mov eax, dword [ebp - 0x1038]
mov dword [ebp - 0x1028], eax
mov dword [ebp - 0x1048], 0xfc795e62
jmp 0x40b2b0
mov eax, dword [ebp - 0x1028]
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 - 0x103c], eax
mov edx, 0xffffffff
mov eax, 0x5745dd31
mov ecx, 0x66dc0bb
cmp dword [ebp - 0x103c], edx
cmove eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov byte [ebp - 0x102d], 0
mov dword [ebp - 0x1048], 0x217ce325
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0x788350a9
jmp 0x40b2b0
mov eax, dword [ebp - 0x1034]
mov dword [ebp - 0x1024], eax
mov dword [ebp - 0x1048], 0x3364fa1f
jmp 0x40b2b0
mov eax, dword [ebp - 0x1024]
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 - 0x1040], eax
mov edx, 0xffffffff
mov eax, 0xe301ce89
mov ecx, 0xafc45415
cmp dword [ebp - 0x1040], edx
cmove eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov eax, dword [0x43d594]
mov ecx, dword [0x43d590]
mov edx, eax
add edx, 0xae095888
sub edx, 1
sub edx, 0xae095888
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, 0x58a25946
mov ecx, 0xb8c91215
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov eax, dword [ebp - 0x103c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43d594]
mov eax, dword [0x43d590]
mov edx, ecx
sub edx, 0xcce1aa09
sub edx, 1
add edx, 0xcce1aa09
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, 0x58a25946
mov ecx, 0xde89ff3e
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0xf1298a01
jmp 0x40b2b0
mov byte [ebp - 0x102d], 0
mov dword [ebp - 0x1048], 0x788350a9
jmp 0x40b2b0
mov byte [ebp - 0x1041], 0
mov dword [ebp - 0x1048], 0x262cbea8
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0xbdfad48c
jmp 0x40b2b0
lea ecx, [ebp - 0x1010]
mov edx, dword [ebp - 0x103c]
mov eax, dword [ebp - 0x102c]
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 - 0x101f], al
mov dword [ebp - 0x1048], 0xf5232000
jmp 0x40b2b0
mov eax, dword [0x43d594]
mov ecx, dword [0x43d590]
mov edx, eax
add edx, 0xc9577a78
sub edx, 1
sub edx, 0xc9577a78
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, 0xa8a0923d
mov ecx, 0x56b83de9
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov eax, dword [0x43d594]
mov ecx, dword [0x43d590]
mov edx, eax
sub edx, 0x518593b6
sub edx, 1
add edx, 0x518593b6
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, 0xa8a0923d
mov ecx, 0xbee501ef
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov dl, byte [ebp - 0x101f]
mov eax, 0xeada536f
mov ecx, 0x958a00c6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0x988d873a
jmp 0x40b2b0
mov eax, dword [ebp - 0x102c]
cmp dword [eax], 0
sete al
and al, 1
mov byte [ebp - 0x101e], al
mov dword [ebp - 0x1048], 0xb9e387b4
jmp 0x40b2b0
mov dl, byte [ebp - 0x101e]
mov eax, 0x243e3514
mov ecx, 0x4a6d5f61
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov ecx, dword [0x43d594]
mov eax, dword [0x43d590]
mov edx, ecx
add edx, 0x84f3ee41
sub edx, 1
sub edx, 0x84f3ee41
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, 0x3a4b2ebd
mov ecx, 0x9af9a871
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov byte [ebp - 0x1041], 1
mov eax, dword [0x43d594]
mov ecx, dword [0x43d590]
mov edx, eax
sub edx, 0x959e189f
sub edx, 1
add edx, 0x959e189f
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, 0x3a4b2ebd
mov ecx, 0x17642429
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0xa7543a77
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0x988d873a
jmp 0x40b2b0
mov eax, dword [ebp - 0x102c]
mov ecx, dword [eax]
lea edx, [ebp - 0x1010]
mov esi, dword [ebp - 0x1040]
lea eax, [ebp - 0x1014]
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 - 0x101d], al
mov dword [ebp - 0x1048], 0x407045f1
jmp 0x40b2b0
mov dl, byte [ebp - 0x101d]
mov eax, 0x1ca7bac1
mov ecx, 0x2994a0f1
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0x988d873a
jmp 0x40b2b0
mov eax, dword [ebp - 0x1014]
mov dword [ebp - 0x101c], eax
mov dword [ebp - 0x1048], 0xf59cbaa9
jmp 0x40b2b0
mov eax, dword [ebp - 0x102c]
mov esi, dword [eax]
mov edx, dword [ebp - 0x101c]
mov eax, 0x47387ac5
mov ecx, 0xd1b3f850
cmp edx, esi
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0x988d873a
jmp 0x40b2b0
mov eax, dword [0x43d594]
mov ecx, dword [0x43d590]
mov edx, eax
add edx, 0x7bed62ab
sub edx, 1
sub edx, 0x7bed62ab
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, 0xf9e4187d
mov ecx, 0x14a005b2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov eax, dword [0x43d594]
mov ecx, dword [0x43d590]
mov edx, eax
sub edx, 0x5a6ae65d
sub edx, 1
add edx, 0x5a6ae65d
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, 0xf9e4187d
mov ecx, 0xfa2d4a2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0xbdfad48c
jmp 0x40b2b0
mov eax, dword [0x43d594]
mov ecx, dword [0x43d590]
mov edx, eax
sub edx, 0xe4984f37
sub edx, 1
add edx, 0xe4984f37
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, 0x402e7939
mov ecx, 0xb93ca3d2
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov eax, dword [ebp - 0x103c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [0x43d594]
mov eax, dword [0x43d590]
mov edx, ecx
add edx, 0xca388125
sub edx, 1
sub edx, 0xca388125
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, 0x402e7939
mov ecx, 0x4c3c5300
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0xf9571f64
jmp 0x40b2b0
mov eax, dword [ebp - 0x1040]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov al, byte [ebp - 0x1041]
and al, 1
mov byte [ebp - 0x102d], al
mov dword [ebp - 0x1048], 0x788350a9
jmp 0x40b2b0
mov eax, dword [0x43d594]
mov ecx, dword [0x43d590]
mov edx, eax
add edx, 0x62f4f118
sub edx, 1
sub edx, 0x62f4f118
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, 0x36d9295e
mov ecx, 0x4ba922d6
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov al, byte [ebp - 0x102d]
and al, 1
mov byte [ebp - 0x1015], al
mov eax, dword [0x43d594]
mov ecx, dword [0x43d590]
mov edx, eax
add edx, 0x8c18882d
sub edx, 1
sub edx, 0x8c18882d
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, 0x36d9295e
mov ecx, 0x77141a2b
test dl, 1
cmovne eax, ecx
mov dword [ebp - 0x1048], eax
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0xf7bdcf2e
jmp 0x40b2b0
mov al, byte [ebp - 0x1015]
and al, 1
movzx eax, al
mov dword [ebp - 0x1058], eax
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00425390
mov eax, dword [ebp - 0x1058]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp - 0x103c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1048], 0xb8c91215
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0x56b83de9
jmp 0x40b2b0
mov byte [ebp - 0x1041], 1
mov dword [ebp - 0x1048], 0x9af9a871
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0x14a005b2
jmp 0x40b2b0
mov eax, dword [ebp - 0x103c]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x1048], 0xb93ca3d2
jmp 0x40b2b0
mov dword [ebp - 0x1048], 0x4ba922d6
jmp 0x40a5d6