Function at 0x4070a0
Capabilities:
Contain obfuscated stackstrings
Create process on windows
Delete file
Execute command
Get common file path
Parse pe header
Set console window title
Terminate process
Write and execute a file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4117b9
mov eax, dword fs:[0]
push eax
sub esp, 0x480
mov eax, dword [0x419008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.004088c0
mov ecx, eax
call fcn.0040a5e0
mov ecx, eax
call fcn.00404e10
call fcn.00408990
mov ecx, eax
call fcn.0040a5d0
mov ecx, eax
call fcn.00404e10
call fcn.00408a50
mov ecx, eax
call fcn.0040a5c0
push eax
call dword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x40
push 0x96
push 0x1f4
push 1
call esi
cdq
sub eax, edx
sar eax, 1
sub eax, 0x4b
push eax
push 0
call esi
mov esi, dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
cdq
sub eax, edx
sar eax, 1
sub eax, 0xfa
push eax
push 0
call esi
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
call fcn.00405160
call esi
mov ecx, eax
call fcn.00405240
call fcn.00408b20
mov ecx, eax
call fcn.0040a5b0
mov edx, eax
lea ecx, [ebp - 0x314]
call fcn.004041a0
mov dword [ebp - 4], 0
call fcn.00408c00
mov ecx, eax
call fcn.0040a5a0
mov edx, eax
lea ecx, [ebp - 0x32c]
call fcn.004041a0
mov byte [ebp - 4], 1
call fcn.00408cd0
mov ecx, eax
call fcn.0040a590
mov edx, eax
lea ecx, [ebp - 0x38c]
call fcn.004041a0
push 0x414414
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 2
call fcn.0040b9b0
push 0x414414
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 3
call fcn.0040b9b0
push 0x414414
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 4
call fcn.0040b9b0
mov byte [ebp - 4], 5
lea eax, [ebp - 0x1d4]
push eax
lea edx, [ebp - 0x314]
lea ecx, [ebp - 0x3c4]
call fcn.004012e0
mov edx, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x3ac]
call fcn.00404700
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 7
push ecx
mov edx, eax
lea ecx, [ebp - 0x23c]
call fcn.004012e0
mov edx, eax
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x224]
call fcn.004047d0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 9
push ecx
mov edx, eax
lea ecx, [ebp - 0x35c]
call fcn.004012e0
add esp, 0xc
lea ecx, [ebp - 0x224]
call fcn.0040b8e0
lea ecx, [ebp - 0x23c]
call fcn.0040b8e0
lea ecx, [ebp - 0x3ac]
call fcn.0040b8e0
lea ecx, [ebp - 0x3c4]
call fcn.0040b8e0
lea ecx, [ebp - 0x1d4]
call fcn.0040b8e0
lea ecx, [ebp - 0x18c]
call fcn.0040b8e0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x11
call fcn.0040b8e0
push 0x414414
lea ecx, [ebp - 0x18c]
call fcn.0040b9b0
push 0x414414
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x12
call fcn.0040b9b0
push 0x414414
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x13
call fcn.0040b9b0
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0x14
push eax
lea edx, [ebp - 0x32c]
lea ecx, [ebp - 0x26c]
call fcn.004012e0
mov edx, eax
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x3e0]
call fcn.00404700
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1d4]
push ecx
mov edx, eax
lea ecx, [ebp - 0x284]
call fcn.004012e0
mov edx, eax
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x3f8]
call fcn.004047d0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x18
push ecx
mov edx, eax
lea ecx, [ebp - 0x344]
call fcn.004012e0
add esp, 0xc
lea ecx, [ebp - 0x3f8]
call fcn.0040b8e0
lea ecx, [ebp - 0x284]
call fcn.0040b8e0
lea ecx, [ebp - 0x3e0]
call fcn.0040b8e0
lea ecx, [ebp - 0x26c]
call fcn.0040b8e0
lea ecx, [ebp - 0x12c]
call fcn.0040b8e0
lea ecx, [ebp - 0x1d4]
call fcn.0040b8e0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x20
call fcn.0040b8e0
push 0x414414
lea ecx, [ebp - 0x18c]
call fcn.0040b9b0
push 0x414414
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x21
call fcn.0040b9b0
push 0x414414
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x22
call fcn.0040b9b0
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0x23
push eax
lea edx, [ebp - 0x38c]
lea ecx, [ebp - 0x23c]
call fcn.004012e0
mov edx, eax
mov byte [ebp - 4], 0x24
lea ecx, [ebp - 0x224]
call fcn.00404700
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x25
push ecx
mov edx, eax
lea ecx, [ebp - 0x3ac]
call fcn.004012e0
mov edx, eax
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x3c4]
call fcn.004047d0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x27
push ecx
mov edx, eax
lea ecx, [ebp - 0x26c]
call fcn.004012e0
add esp, 0xc
lea ecx, [ebp - 0x3c4]
call fcn.0040b8e0
lea ecx, [ebp - 0x3ac]
call fcn.0040b8e0
lea ecx, [ebp - 0x224]
call fcn.0040b8e0
lea ecx, [ebp - 0x23c]
call fcn.0040b8e0
lea ecx, [ebp - 0x12c]
call fcn.0040b8e0
lea ecx, [ebp - 0x1d4]
call fcn.0040b8e0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x2f
call fcn.0040b8e0
lea eax, [ebp - 0x344]
push eax
lea edx, [ebp - 0x35c]
lea ecx, [ebp - 0x3e0]
call fcn.0040dd70
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0x30
push ecx
mov edx, eax
lea ecx, [ebp - 0x284]
call fcn.0040dc70
add esp, 8
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x32
call fcn.0040b8e0
sub esp, 0x18
lea eax, [ebp - 0x284]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0040ba10
mov ecx, esi
call fcn.0040f670
add esp, 0x18
lea ecx, [ebp - 0x20c]
call fcn.0040f670
add esp, 0x18
lea eax, [ebp - 0x394]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [ebp - 0x20c]
call fcn.0040b870
mov esi, eax
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x3fc]
push eax
call fcn.0040b850
mov edx, eax
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x3c8]
push eax
call fcn.0040b870
push dword [esi]
lea ecx, [ebp - 0x390]
push dword [edx]
mov edx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
push dword [eax]
call fcn.0040de80
call fcn.004012d0
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
push eax
call edi
add esp, 0x10
lea eax, [ebp - 0x114]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x1d4]
call fcn.0040b9b0
mov byte [ebp - 4], 0x34
call fcn.00408e60
mov ecx, eax
call fcn.0040a570
push eax
lea ecx, [ebp - 0x3ac]
call fcn.0040b9b0
mov esi, eax
mov byte [ebp - 4], 0x35
call fcn.00408da0
mov ecx, eax
call fcn.0040a580
push eax
lea ecx, [ebp - 0x3c4]
call fcn.0040b9b0
push eax
lea edx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x3f8]
call fcn.0040dd10
push 0x414418
mov edx, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x3e0]
call fcn.0040dbb0
push esi
mov edx, eax
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x2b4]
call fcn.0040dc50
add esp, 0xc
lea ecx, [ebp - 0x3e0]
call fcn.0040b8e0
lea ecx, [ebp - 0x3f8]
call fcn.0040b8e0
lea ecx, [ebp - 0x3c4]
call fcn.0040b8e0
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x3d
call fcn.0040b8e0
call fcn.00408f20
mov ecx, eax
call fcn.0040a560
push eax
lea ecx, [ebp - 0x374]
call fcn.0040b9b0
mov byte [ebp - 4], 0x3e
call fcn.00408fe0
mov ecx, eax
call fcn.0040a550
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0040b9b0
mov esi, eax
lea eax, [ebp - 0x374]
mov byte [ebp - 4], 0x3f
push eax
lea edx, [ebp - 0x1d4]
lea ecx, [ebp - 0x3e0]
call fcn.0040dd70
push esi
mov edx, eax
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x254]
call fcn.0040dc50
add esp, 8
lea ecx, [ebp - 0x3e0]
call fcn.0040b8e0
lea ecx, [ebp - 0x3f8]
mov byte [ebp - 4], 0x43
call fcn.0040b8e0
sub esp, 0x18
lea eax, [ebp - 0x1d4]
mov ecx, esp
push eax
call fcn.0040ba10
call fcn.00405260
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 0x18
call fcn.004051c0
call fcn.004090a0
mov ecx, eax
call fcn.0040a540
push eax
call ebx
sub esp, 0x14
lea ecx, [ebp - 0x2b4]
mov edx, esp
mov dword [ebp - 0x390], esp
call fcn.0040b840
push eax
mov ecx, edx
call fcn.0040b9b0
sub esp, 0x18
mov byte [ebp - 4], 0x44
mov esi, esp
call fcn.00409160
mov ecx, eax
call fcn.0040a530
push eax
mov ecx, esi
call fcn.0040b9b0
mov byte [ebp - 4], 0x43
call fcn.00405d30
add esp, 0x30
test al, al
je 0x4087b9
push 0x41441c
lea ecx, [ebp - 0x2b4]
call fcn.0040b840
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov esi, eax
call fcn.004012d0
push eax
call edi
add esp, 0xc
lea ecx, [ebp - 0x224]
call fcn.0040b9f0
xor edi, edi
mov byte [ebp - 4], 0x45
lea edx, [edi + 0x5a]
lea ecx, [edi + 0x32]
call fcn.00404dd0
test eax, eax
jle 0x4077ae
call fcn.00404d00
movzx eax, al
lea ecx, [ebp - 0x224]
push eax
call fcn.0040b890
mov edx, 0x5a
inc edi
lea ecx, [edx - 0x28]
call fcn.00404dd0
cmp edi, eax
jl 0x407788
lea ecx, [ebp - 0x174]
call fcn.0040b9f0
xor edi, edi
mov byte [ebp - 4], 0x46
lea edx, [edi + 0x32]
lea ecx, [edi + 0xa]
call fcn.00404dd0
test eax, eax
jle 0x4077f6
nop
call fcn.00404d30
movzx eax, al
lea ecx, [ebp - 0x174]
push eax
call fcn.0040b890
mov edx, 0x32
inc edi
lea ecx, [edx - 0x28]
call fcn.00404dd0
cmp edi, eax
jl 0x4077d0
lea ecx, [ebp - 0x1ec]
call fcn.0040b9f0
xor edi, edi
mov byte [ebp - 4], 0x47
lea edx, [edi + 0x64]
lea ecx, [edi + 0x3c]
call fcn.00404dd0
test eax, eax
jle 0x40783c
call fcn.00404d50
movzx eax, al
lea ecx, [ebp - 0x1ec]
push eax
call fcn.0040b890
mov edx, 0x64
inc edi
lea ecx, [edx - 0x28]
call fcn.00404dd0
cmp edi, eax
jl 0x407816
lea ecx, [ebp - 0x1bc]
call fcn.0040b9f0
xor edi, edi
mov byte [ebp - 4], 0x48
lea edx, [edi + 0x50]
lea ecx, [edi + 0x28]
call fcn.00404dd0
test eax, eax
jle 0x407886
nop dword [eax]
call fcn.00404d70
movzx eax, al
lea ecx, [ebp - 0x1bc]
push eax
call fcn.0040b890
mov edx, 0x50
inc edi
lea ecx, [edx - 0x28]
call fcn.00404dd0
cmp edi, eax
jl 0x407860
lea ecx, [ebp - 0x15c]
call fcn.0040b9f0
xor edi, edi
mov byte [ebp - 4], 0x49
lea edx, [edi + 0x64]
lea ecx, [edi + 0x28]
call fcn.00404dd0
test eax, eax
jle 0x4078cc
call fcn.00404d90
movzx eax, al
lea ecx, [ebp - 0x15c]
push eax
call fcn.0040b890
mov edx, 0x64
inc edi
lea ecx, [edx - 0x3c]
call fcn.00404dd0
cmp edi, eax
jl 0x4078a6
lea ecx, [ebp - 0x144]
call fcn.0040b9f0
xor edi, edi
mov byte [ebp - 4], 0x4a
lea edx, [edi + 0x46]
lea ecx, [edi + 0x3c]
call fcn.00404dd0
test eax, eax
jle 0x407916
nop dword [eax]
call fcn.00404db0
movzx eax, al
lea ecx, [ebp - 0x144]
push eax
call fcn.0040b890
mov edx, 0x46
inc edi
lea ecx, [edx - 0xa]
call fcn.00404dd0
cmp edi, eax
jl 0x4078f0
lea ecx, [ebp - 0x1a4]
call fcn.0040b9f0
mov byte [ebp - 4], 0x4b
call fcn.004012d0
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x1f4], eax
mov dword [ebp - 0x1f0], edx
call fcn.004012c0
push 0x100
mov edi, eax
call fcn.0040fbfd
mov ecx, dword [edi + 0x14]
add esp, 4
add ecx, 0x76c
mov ebx, eax
push ecx
mov ecx, dword [edi + 0x10]
inc ecx
push ecx
push dword [edi + 0xc]
call fcn.00409310
mov ecx, eax
call fcn.0040a510
push eax
push ebx
call fcn.00401070
add esp, 0x14
lea ecx, [ebp - 0x12c]
push 0x414414
call fcn.0040b9b0
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0x4c
push eax
sub esp, 0x18
mov ecx, esp
push ebx
call fcn.0040b9b0
lea ecx, [ebp - 0x3ac]
call fcn.0040f670
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x3c4]
call fcn.004012e0
add esp, 4
lea ecx, [ebp - 0x1a4]
push eax
call fcn.0040b930
lea ecx, [ebp - 0x3c4]
call fcn.0040b8e0
lea ecx, [ebp - 0x3ac]
call fcn.0040b8e0
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x4b
call fcn.0040b8e0
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
push 2
push 0
push esi
call ebx
add esp, 0xc
lea ecx, [ebp - 0x1a4]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a11
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040b840
mov edi, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fwrite]
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040b840
lea edx, [eax + 1]
nop word [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a50
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 4
mov ecx, esp
call fcn.00401730
lea ecx, [ebp - 0x414]
call fcn.0040f670
add esp, 0x18
mov ecx, eax
mov byte [ebp - 4], 0x4e
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a98
sub eax, edx
lea ecx, [ebp - 0x12c]
push 0x414414
mov dword [ebp - 0x394], eax
call fcn.0040b9b0
push esi
push 1
mov byte [ebp - 4], 0x4f
lea eax, [ebp - 0x12c]
push dword [ebp - 0x394]
push eax
sub esp, 0x18
mov ecx, esp
call fcn.00401730
lea ecx, [ebp - 0x3ac]
call fcn.0040f670
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x3c4]
call fcn.004012e0
add esp, 4
mov ecx, eax
call fcn.0040b840
push eax
call edi
add esp, 0x10
lea ecx, [ebp - 0x3c4]
call fcn.0040b8e0
lea ecx, [ebp - 0x3ac]
call fcn.0040b8e0
lea ecx, [ebp - 0x12c]
call fcn.0040b8e0
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 0x4b
call fcn.0040b8e0
push 2
push 0
push esi
call ebx
add esp, 0xc
lea ecx, [ebp - 0x1ec]
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407b50
push esi
sub eax, edx
lea ecx, [ebp - 0x1ec]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407b83
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407bb6
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407bf0
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1a4]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407c23
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407c56
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407c90
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407cc3
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1ec]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407cf6
push esi
sub eax, edx
lea ecx, [ebp - 0x1ec]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407d30
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1a4]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407d63
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407d96
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1ec]
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407dd0
push esi
sub eax, edx
lea ecx, [ebp - 0x1ec]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407e03
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1ec]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407e36
push esi
sub eax, edx
lea ecx, [ebp - 0x1ec]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407e70
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407ea3
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407ed6
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1a4]
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f10
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f43
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f76
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407fb0
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407fe3
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 4
mov ecx, esp
call fcn.00401730
lea ecx, [ebp - 0x3ac]
call fcn.0040f670
add esp, 0x18
mov ecx, eax
mov byte [ebp - 4], 0x51
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408030
sub eax, edx
lea ecx, [ebp - 0x12c]
push 0x414414
mov dword [ebp - 0x394], eax
call fcn.0040b9b0
push esi
push 1
mov byte [ebp - 4], 0x52
lea eax, [ebp - 0x12c]
push dword [ebp - 0x394]
push eax
sub esp, 0x18
mov ecx, esp
call fcn.00401730
lea ecx, [ebp - 0x3c4]
call fcn.0040f670
add esp, 0x18
mov edx, eax
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x414]
call fcn.004012e0
add esp, 4
mov ecx, eax
call fcn.0040b840
push eax
call edi
add esp, 0x10
lea ecx, [ebp - 0x414]
call fcn.0040b8e0
lea ecx, [ebp - 0x3c4]
call fcn.0040b8e0
lea ecx, [ebp - 0x12c]
call fcn.0040b8e0
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x4b
call fcn.0040b8e0
push 2
push 0
push esi
call ebx
add esp, 0xc
lea ecx, [ebp - 0x144]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4080e4
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408117
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040b840
lea edx, [eax + 1]
nop word [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408150
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408183
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4081b6
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040b840
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4081f0
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408223
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1a4]
call fcn.0040b840
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408256
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040b840
push eax
call edi
push 2
push 0
push esi
call ebx
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 0x20
push 0x40ddc0
call fcn.004093e0
mov ecx, eax
call fcn.0040a500
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040d970
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x40ddc0
call fcn.004094c0
mov ecx, eax
call fcn.0040a4f0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040d970
lea edx, [ebp - 0x20c]
mov ecx, eax
call fcn.0040ded0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
call fcn.00409590
mov ecx, eax
call fcn.0040a4e0
push eax
lea ecx, [ebp - 0x29c]
call fcn.0040b9b0
mov byte [ebp - 4], 0x54
call fcn.00409730
mov ecx, eax
call fcn.0040a4c0
push eax
lea ecx, [ebp - 0x3ac]
call fcn.0040b9b0
mov esi, eax
mov byte [ebp - 4], 0x55
call fcn.00409650
mov ecx, eax
call fcn.0040a4d0
push eax
lea ecx, [ebp - 0x3c4]
call fcn.0040b9b0
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x56
push ecx
mov edx, eax
lea ecx, [ebp - 0x414]
call fcn.0040dc70
push esi
mov edx, eax
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x2fc]
call fcn.0040dc50
add esp, 8
lea ecx, [ebp - 0x414]
call fcn.0040b8e0
lea ecx, [ebp - 0x3c4]
call fcn.0040b8e0
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x5b
call fcn.0040b8e0
push 0x41975c
sub esp, 8
lea ecx, [ebp - 0x2fc]
call fcn.0040b840
lea ecx, [ebp - 0x29c]
mov edx, eax
call fcn.0040b840
mov ecx, eax
call fcn.00405490
add esp, 0xc
call fcn.004097f0
mov ecx, eax
call fcn.0040a4b0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040d970
cmp dword [0x419758], 0
jne 0x40852e
call fcn.00409a40
mov ecx, eax
call fcn.0040a480
push eax
lea ecx, [ebp - 0x474]
call fcn.0040b9b0
mov edi, eax
mov byte [ebp - 4], 0x5c
call fcn.00409980
mov ecx, eax
call fcn.0040a490
push eax
lea ecx, [ebp - 0x45c]
call fcn.0040b9b0
mov esi, eax
mov byte [ebp - 4], 0x5d
call fcn.004098b0
mov ecx, eax
call fcn.0040a4a0
push eax
lea ecx, [ebp - 0x444]
call fcn.0040b9b0
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x5e
push ecx
mov edx, eax
lea ecx, [ebp - 0x42c]
call fcn.0040dc70
push esi
mov edx, eax
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x48c]
call fcn.0040dc50
push edi
mov edx, eax
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x12c]
call fcn.0040dc50
add esp, 0xc
lea ecx, [ebp - 0x48c]
call fcn.0040b8e0
lea ecx, [ebp - 0x42c]
call fcn.0040b8e0
lea ecx, [ebp - 0x444]
call fcn.0040b8e0
lea ecx, [ebp - 0x45c]
call fcn.0040b8e0
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x66
call fcn.0040b8e0
lea ecx, [ebp - 0x254]
call fcn.0040b840
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push eax
call edi
lea ecx, [ebp - 0x254]
call fcn.0040b840
push eax
call edi
lea ecx, [ebp - 0x254]
call fcn.0040b840
push eax
call edi
lea ecx, [ebp - 0x12c]
call fcn.0040b840
push eax
sub esp, 0x18
lea eax, [ebp - 0x254]
mov ecx, esp
push eax
call fcn.0040ba10
call fcn.00404930
add esp, 0x1c
lea ecx, [ebp - 0x254]
push 1
push 0
push 0
call fcn.0040b840
push eax
call fcn.00409b40
mov ecx, eax
call fcn.0040a470
push eax
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0x12c]
mov dword [0x419758], 1
call fcn.0040b8e0
lea ecx, [ebp - 0x18c]
call fcn.0040b9f0
mov byte [ebp - 4], 0x67
mov edx, ecx
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_istream_char__struct_std::char_traits_char___std::cin]
call fcn.0040def0
call fcn.00409ce0
mov ecx, eax
call fcn.0040a450
push eax
lea ecx, [ebp - 0x42c]
call fcn.0040b9b0
mov esi, eax
mov byte [ebp - 4], 0x68
call fcn.00409c00
mov ecx, eax
call fcn.0040a460
push eax
lea ecx, [ebp - 0x444]
call fcn.0040b9b0
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x69
push ecx
mov edx, eax
lea ecx, [ebp - 0x45c]
call fcn.0040dc70
push esi
mov edx, eax
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x474]
call fcn.0040dc50
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x6b
push ecx
mov edx, eax
lea ecx, [ebp - 0x2e4]
call fcn.0040dc70
add esp, 0xc
lea ecx, [ebp - 0x474]
call fcn.0040b8e0
lea ecx, [ebp - 0x45c]
call fcn.0040b8e0
lea ecx, [ebp - 0x444]
call fcn.0040b8e0
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0x70
call fcn.0040b8e0
push 0x419770
sub esp, 8
lea ecx, [ebp - 0x2e4]
call fcn.0040b840
lea ecx, [ebp - 0x29c]
mov edx, eax
call fcn.0040b840
mov ecx, eax
call fcn.00405490
add esp, 0xc
call fcn.00409da0
mov ecx, eax
call fcn.0040a440
push eax
lea ecx, [ebp - 0x48c]
call fcn.0040b9b0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x71
push ecx
mov edx, eax
lea ecx, [ebp - 0x23c]
call fcn.0040dc70
add esp, 4
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x73
call fcn.0040b8e0
sub esp, 0x18
lea eax, [ebp - 0x23c]
mov ecx, esp
push eax
call fcn.0040ba10
lea ecx, [ebp - 0x2cc]
call fcn.0040f670
add esp, 0x18
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 0x74
call fcn.0040b840
mov ecx, 0x419770
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4086b4
test dl, dl
je 0x4086b0
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4086b4
add ecx, 2
add eax, 2
test dl, dl
jne 0x408694
xor eax, eax
jmp 0x4086b9
sbb eax, eax
or eax, 1
test eax, eax
je 0x4087d0
call fcn.0040a180
mov ecx, eax
call fcn.0040a3f0
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push eax
call ebx
add esp, 4
call fcn.004051c0
push 0x40ddc0
call fcn.0040a240
mov ecx, eax
call fcn.0040a3e0
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040d970
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
call fcn.0040a310
mov ecx, eax
call fcn.0040a3d0
push eax
call ebx
add esp, 4
call fcn.004051c0
lea ecx, [ebp - 0x2cc]
call fcn.0040b8e0
lea ecx, [ebp - 0x23c]
call fcn.0040b8e0
lea ecx, [ebp - 0x2e4]
call fcn.0040b8e0
lea ecx, [ebp - 0x18c]
call fcn.0040b8e0
lea ecx, [ebp - 0x2fc]
call fcn.0040b8e0
lea ecx, [ebp - 0x29c]
call fcn.0040b8e0
lea ecx, [ebp - 0x1a4]
call fcn.0040b8e0
lea ecx, [ebp - 0x144]
call fcn.0040b8e0
lea ecx, [ebp - 0x15c]
call fcn.0040b8e0
lea ecx, [ebp - 0x1bc]
call fcn.0040b8e0
lea ecx, [ebp - 0x1ec]
call fcn.0040b8e0
lea ecx, [ebp - 0x174]
call fcn.0040b8e0
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0x43
call fcn.0040b8e0
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
jmp 0x4076e1
call fcn.00409250
mov ecx, eax
call fcn.0040a520
push eax
call ebx
add esp, 4
jmp 0x4076e1
call fcn.00409e60
mov ecx, eax
call fcn.0040a430
push eax
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 4
call fcn.004051c0
push 0x40ddc0
call fcn.00409f20
mov ecx, eax
call fcn.0040a420
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040d970
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
call fcn.00409ff0
mov ecx, eax
call fcn.0040a410
mov ecx, eax
call fcn.00402990
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
test eax, eax
jne 0x40884b
nop
push 0x64
call edi
call fcn.00409ff0
mov ecx, eax
call fcn.0040a410
mov ecx, eax
call fcn.00402990
test eax, eax
je 0x408830
call fcn.004025e0
mov esi, eax
push esi
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
lea ecx, [ebp - 0x2b4]
call fcn.0040b840
mov edx, eax
mov ecx, esi
call fcn.004029a0
test al, al
je 0x4088ac
push 0x40ddc0
call fcn.0040a0c0
mov ecx, eax
call fcn.0040a400
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040d970
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push 0x3e8
call edi
push 0x3e8
call edi
push 1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
int3