Function at 0x4070d0
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 0x412039
mov eax, dword fs:[0]
push eax
sub esp, 0x480
mov eax, dword [0x41a008]
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.00408920
mov ecx, eax
call fcn.0040a960
mov ecx, eax
call fcn.00404e10
call fcn.004089f0
mov ecx, eax
call fcn.0040a950
mov ecx, eax
call fcn.00404e10
call fcn.00408ab0
mov ecx, eax
call fcn.0040a940
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.004051c0
call fcn.00408b80
mov ecx, eax
call fcn.0040a930
mov edx, eax
lea ecx, [ebp - 0x314]
call fcn.004041a0
mov dword [ebp - 4], 0
call fcn.00408c60
mov ecx, eax
call fcn.0040a920
mov edx, eax
lea ecx, [ebp - 0x32c]
call fcn.004041a0
mov byte [ebp - 4], 1
call fcn.00408d30
mov ecx, eax
call fcn.0040a910
mov edx, eax
lea ecx, [ebp - 0x38c]
call fcn.004041a0
push 0x415404
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 2
call fcn.0040bd30
push 0x415404
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 3
call fcn.0040bd30
push 0x415404
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 4
call fcn.0040bd30
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.0040bc60
lea ecx, [ebp - 0x23c]
call fcn.0040bc60
lea ecx, [ebp - 0x3ac]
call fcn.0040bc60
lea ecx, [ebp - 0x3c4]
call fcn.0040bc60
lea ecx, [ebp - 0x1d4]
call fcn.0040bc60
lea ecx, [ebp - 0x18c]
call fcn.0040bc60
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x11
call fcn.0040bc60
push 0x415404
lea ecx, [ebp - 0x18c]
call fcn.0040bd30
push 0x415404
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x12
call fcn.0040bd30
push 0x415404
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x13
call fcn.0040bd30
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.0040bc60
lea ecx, [ebp - 0x284]
call fcn.0040bc60
lea ecx, [ebp - 0x3e0]
call fcn.0040bc60
lea ecx, [ebp - 0x26c]
call fcn.0040bc60
lea ecx, [ebp - 0x12c]
call fcn.0040bc60
lea ecx, [ebp - 0x1d4]
call fcn.0040bc60
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x20
call fcn.0040bc60
push 0x415404
lea ecx, [ebp - 0x18c]
call fcn.0040bd30
push 0x415404
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x21
call fcn.0040bd30
push 0x415404
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x22
call fcn.0040bd30
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.0040bc60
lea ecx, [ebp - 0x3ac]
call fcn.0040bc60
lea ecx, [ebp - 0x224]
call fcn.0040bc60
lea ecx, [ebp - 0x23c]
call fcn.0040bc60
lea ecx, [ebp - 0x12c]
call fcn.0040bc60
lea ecx, [ebp - 0x1d4]
call fcn.0040bc60
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x2f
call fcn.0040bc60
lea eax, [ebp - 0x344]
push eax
lea edx, [ebp - 0x35c]
lea ecx, [ebp - 0x3e0]
call fcn.0040e510
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 0x30
push ecx
mov edx, eax
lea ecx, [ebp - 0x284]
call fcn.0040e410
add esp, 8
lea ecx, [ebp - 0x3e0]
mov byte [ebp - 4], 0x32
call fcn.0040bc60
sub esp, 0x18
lea eax, [ebp - 0x284]
mov esi, esp
sub esp, 0x18
mov ecx, esp
push eax
call fcn.0040bd90
mov ecx, esi
call fcn.0040fe00
add esp, 0x18
lea ecx, [ebp - 0x20c]
call fcn.0040fe00
add esp, 0x18
lea eax, [ebp - 0x394]
mov byte [ebp - 4], 0x33
push eax
lea ecx, [ebp - 0x20c]
call fcn.0040bbf0
mov esi, eax
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x3fc]
push eax
call fcn.0040bbd0
mov edx, eax
lea ecx, [ebp - 0x20c]
lea eax, [ebp - 0x3c8]
push eax
call fcn.0040bbf0
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.0040e620
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.0040bd30
mov byte [ebp - 4], 0x34
call fcn.00408ec0
mov ecx, eax
call fcn.0040a8f0
push eax
lea ecx, [ebp - 0x3ac]
call fcn.0040bd30
mov esi, eax
mov byte [ebp - 4], 0x35
call fcn.00408e00
mov ecx, eax
call fcn.0040a900
push eax
lea ecx, [ebp - 0x3c4]
call fcn.0040bd30
push eax
lea edx, [ebp - 0x1d4]
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x3f8]
call fcn.0040e4b0
push 0x415408
mov edx, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x3e0]
call fcn.0040e350
push esi
mov edx, eax
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0x2b4]
call fcn.0040e3f0
add esp, 0xc
lea ecx, [ebp - 0x3e0]
call fcn.0040bc60
lea ecx, [ebp - 0x3f8]
call fcn.0040bc60
lea ecx, [ebp - 0x3c4]
call fcn.0040bc60
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x3d
call fcn.0040bc60
call fcn.00408f80
mov ecx, eax
call fcn.0040a8e0
push eax
lea ecx, [ebp - 0x374]
call fcn.0040bd30
mov byte [ebp - 4], 0x3e
call fcn.00409040
mov ecx, eax
call fcn.0040a8d0
push eax
lea ecx, [ebp - 0x3f8]
call fcn.0040bd30
mov esi, eax
lea eax, [ebp - 0x374]
mov byte [ebp - 4], 0x3f
push eax
lea edx, [ebp - 0x1d4]
lea ecx, [ebp - 0x3e0]
call fcn.0040e510
push esi
mov edx, eax
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x254]
call fcn.0040e3f0
add esp, 8
lea ecx, [ebp - 0x3e0]
call fcn.0040bc60
lea ecx, [ebp - 0x3f8]
mov byte [ebp - 4], 0x43
call fcn.0040bc60
sub esp, 0x18
lea eax, [ebp - 0x1d4]
mov ecx, esp
push eax
call fcn.0040bd90
call fcn.004051e0
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
add esp, 0x18
call fcn.00409100
mov ecx, eax
call fcn.0040a8c0
push eax
call ebx
add esp, 4
call fcn.004091c0
mov ecx, eax
call fcn.0040a8b0
push eax
call ebx
sub esp, 0x14
lea ecx, [ebp - 0x2b4]
mov edx, esp
mov dword [ebp - 0x390], esp
call fcn.0040bbc0
push eax
mov ecx, edx
call fcn.0040bd30
sub esp, 0x18
mov byte [ebp - 4], 0x44
mov esi, esp
call fcn.00409280
mov ecx, eax
call fcn.0040a8a0
push eax
mov ecx, esi
call fcn.0040bd30
mov byte [ebp - 4], 0x43
call fcn.00405cb0
add esp, 0x30
test al, al
je 0x408813
push 0x41540c
lea ecx, [ebp - 0x2b4]
call fcn.0040bbc0
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.0040bd70
xor edi, edi
mov byte [ebp - 4], 0x45
lea edx, [edi + 0x5a]
lea ecx, [edi + 0x32]
call fcn.00404dd0
test eax, eax
jle 0x4077eb
call fcn.00404d00
movzx eax, al
lea ecx, [ebp - 0x224]
push eax
call fcn.0040bc10
mov edx, 0x5a
inc edi
lea ecx, [edx - 0x28]
call fcn.00404dd0
cmp edi, eax
jl 0x4077c5
lea ecx, [ebp - 0x174]
call fcn.0040bd70
xor edi, edi
mov byte [ebp - 4], 0x46
lea edx, [edi + 0x32]
lea ecx, [edi + 0xa]
call fcn.00404dd0
test eax, eax
jle 0x407836
nop dword [eax + eax]
call fcn.00404d30
movzx eax, al
lea ecx, [ebp - 0x174]
push eax
call fcn.0040bc10
mov edx, 0x32
inc edi
lea ecx, [edx - 0x28]
call fcn.00404dd0
cmp edi, eax
jl 0x407810
lea ecx, [ebp - 0x1ec]
call fcn.0040bd70
xor edi, edi
mov byte [ebp - 4], 0x47
lea edx, [edi + 0x64]
lea ecx, [edi + 0x3c]
call fcn.00404dd0
test eax, eax
jle 0x40787c
call fcn.00404d50
movzx eax, al
lea ecx, [ebp - 0x1ec]
push eax
call fcn.0040bc10
mov edx, 0x64
inc edi
lea ecx, [edx - 0x28]
call fcn.00404dd0
cmp edi, eax
jl 0x407856
lea ecx, [ebp - 0x1bc]
call fcn.0040bd70
xor edi, edi
mov byte [ebp - 4], 0x48
lea edx, [edi + 0x50]
lea ecx, [edi + 0x28]
call fcn.00404dd0
test eax, eax
jle 0x4078c6
nop dword [eax]
call fcn.00404d70
movzx eax, al
lea ecx, [ebp - 0x1bc]
push eax
call fcn.0040bc10
mov edx, 0x50
inc edi
lea ecx, [edx - 0x28]
call fcn.00404dd0
cmp edi, eax
jl 0x4078a0
lea ecx, [ebp - 0x15c]
call fcn.0040bd70
xor edi, edi
mov byte [ebp - 4], 0x49
lea edx, [edi + 0x64]
lea ecx, [edi + 0x28]
call fcn.00404dd0
test eax, eax
jle 0x40790c
call fcn.00404d90
movzx eax, al
lea ecx, [ebp - 0x15c]
push eax
call fcn.0040bc10
mov edx, 0x64
inc edi
lea ecx, [edx - 0x3c]
call fcn.00404dd0
cmp edi, eax
jl 0x4078e6
lea ecx, [ebp - 0x144]
call fcn.0040bd70
xor edi, edi
mov byte [ebp - 4], 0x4a
lea edx, [edi + 0x46]
lea ecx, [edi + 0x3c]
call fcn.00404dd0
test eax, eax
jle 0x407956
nop dword [eax]
call fcn.00404db0
movzx eax, al
lea ecx, [ebp - 0x144]
push eax
call fcn.0040bc10
mov edx, 0x46
inc edi
lea ecx, [edx - 0xa]
call fcn.00404dd0
cmp edi, eax
jl 0x407930
lea ecx, [ebp - 0x1a4]
call fcn.0040bd70
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.00410390
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.00409420
mov ecx, eax
call fcn.0040a880
push eax
push ebx
call fcn.00401070
add esp, 0x14
lea ecx, [ebp - 0x12c]
push 0x415404
call fcn.0040bd30
lea eax, [ebp - 0x12c]
mov byte [ebp - 4], 0x4c
push eax
sub esp, 0x18
mov ecx, esp
push ebx
call fcn.0040bd30
lea ecx, [ebp - 0x3ac]
call fcn.0040fe00
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.0040bcb0
lea ecx, [ebp - 0x3c4]
call fcn.0040bc60
lea ecx, [ebp - 0x3ac]
call fcn.0040bc60
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x4b
call fcn.0040bc60
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.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a51
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040bbc0
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.0040bbc0
lea edx, [eax + 1]
nop word [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407a90
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040bbc0
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.0040fe00
add esp, 0x18
mov ecx, eax
mov byte [ebp - 4], 0x4e
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407ad8
sub eax, edx
lea ecx, [ebp - 0x12c]
push 0x415404
mov dword [ebp - 0x394], eax
call fcn.0040bd30
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.0040fe00
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.0040bbc0
push eax
call edi
add esp, 0x10
lea ecx, [ebp - 0x3c4]
call fcn.0040bc60
lea ecx, [ebp - 0x3ac]
call fcn.0040bc60
lea ecx, [ebp - 0x12c]
call fcn.0040bc60
lea ecx, [ebp - 0x414]
mov byte [ebp - 4], 0x4b
call fcn.0040bc60
push 2
push 0
push esi
call ebx
add esp, 0xc
lea ecx, [ebp - 0x1ec]
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407b90
push esi
sub eax, edx
lea ecx, [ebp - 0x1ec]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407bc3
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407bf6
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407c30
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1a4]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407c63
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407c96
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407cd0
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407d03
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1ec]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407d36
push esi
sub eax, edx
lea ecx, [ebp - 0x1ec]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407d70
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1a4]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407da3
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407dd6
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1ec]
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407e10
push esi
sub eax, edx
lea ecx, [ebp - 0x1ec]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407e43
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1ec]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407e76
push esi
sub eax, edx
lea ecx, [ebp - 0x1ec]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407eb0
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407ee3
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f16
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1a4]
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f50
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407f83
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407fb6
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x407ff0
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408023
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040bbc0
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.0040fe00
add esp, 0x18
mov ecx, eax
mov byte [ebp - 4], 0x51
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408070
sub eax, edx
lea ecx, [ebp - 0x12c]
push 0x415404
mov dword [ebp - 0x394], eax
call fcn.0040bd30
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.0040fe00
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.0040bbc0
push eax
call edi
add esp, 0x10
lea ecx, [ebp - 0x414]
call fcn.0040bc60
lea ecx, [ebp - 0x3c4]
call fcn.0040bc60
lea ecx, [ebp - 0x12c]
call fcn.0040bc60
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x4b
call fcn.0040bc60
push 2
push 0
push esi
call ebx
add esp, 0xc
lea ecx, [ebp - 0x144]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408124
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408157
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040bbc0
lea edx, [eax + 1]
nop word [eax + eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408190
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x15c]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4081c3
push esi
sub eax, edx
lea ecx, [ebp - 0x15c]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1bc]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4081f6
push esi
sub eax, edx
lea ecx, [ebp - 0x1bc]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x144]
call fcn.0040bbc0
lea edx, [eax + 1]
nop dword [eax]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408230
push esi
sub eax, edx
lea ecx, [ebp - 0x144]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x174]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408263
push esi
sub eax, edx
lea ecx, [ebp - 0x174]
push 1
push eax
call fcn.0040bbc0
push eax
call edi
push 2
push 0
push esi
call ebx
add esp, 0x1c
lea ecx, [ebp - 0x1a4]
call fcn.0040bbc0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408296
push esi
sub eax, edx
lea ecx, [ebp - 0x1a4]
push 1
push eax
call fcn.0040bbc0
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 0x40e560
call fcn.004094f0
mov ecx, eax
call fcn.0040a870
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040e110
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 0x40e560
call fcn.004095d0
mov ecx, eax
call fcn.0040a860
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040e110
lea edx, [ebp - 0x20c]
mov ecx, eax
call fcn.0040e670
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.004096a0
mov ecx, eax
call fcn.0040a850
push eax
lea ecx, [ebp - 0x29c]
call fcn.0040bd30
mov byte [ebp - 4], 0x54
call fcn.00409840
mov ecx, eax
call fcn.0040a830
push eax
lea ecx, [ebp - 0x3ac]
call fcn.0040bd30
mov esi, eax
mov byte [ebp - 4], 0x55
call fcn.00409770
mov ecx, eax
call fcn.0040a840
push eax
lea ecx, [ebp - 0x3c4]
call fcn.0040bd30
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x56
push ecx
mov edx, eax
lea ecx, [ebp - 0x414]
call fcn.0040e410
push esi
mov edx, eax
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x2fc]
call fcn.0040e3f0
add esp, 8
lea ecx, [ebp - 0x414]
call fcn.0040bc60
lea ecx, [ebp - 0x3c4]
call fcn.0040bc60
lea ecx, [ebp - 0x3ac]
mov byte [ebp - 4], 0x5b
call fcn.0040bc60
push 0x41a75c
sub esp, 8
lea ecx, [ebp - 0x2fc]
call fcn.0040bbc0
lea ecx, [ebp - 0x29c]
mov edx, eax
call fcn.0040bbc0
mov ecx, eax
call fcn.00405410
add esp, 0xc
call fcn.00409900
mov ecx, eax
call fcn.0040a820
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040e110
cmp dword [0x41a758], 0
jne 0x40856e
call fcn.00409b50
mov ecx, eax
call fcn.0040a7f0
push eax
lea ecx, [ebp - 0x474]
call fcn.0040bd30
mov edi, eax
mov byte [ebp - 4], 0x5c
call fcn.00409a90
mov ecx, eax
call fcn.0040a800
push eax
lea ecx, [ebp - 0x45c]
call fcn.0040bd30
mov esi, eax
mov byte [ebp - 4], 0x5d
call fcn.004099c0
mov ecx, eax
call fcn.0040a810
push eax
lea ecx, [ebp - 0x444]
call fcn.0040bd30
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x5e
push ecx
mov edx, eax
lea ecx, [ebp - 0x42c]
call fcn.0040e410
push esi
mov edx, eax
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x48c]
call fcn.0040e3f0
push edi
mov edx, eax
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x12c]
call fcn.0040e3f0
add esp, 0xc
lea ecx, [ebp - 0x48c]
call fcn.0040bc60
lea ecx, [ebp - 0x42c]
call fcn.0040bc60
lea ecx, [ebp - 0x444]
call fcn.0040bc60
lea ecx, [ebp - 0x45c]
call fcn.0040bc60
lea ecx, [ebp - 0x474]
mov byte [ebp - 4], 0x66
call fcn.0040bc60
lea ecx, [ebp - 0x254]
call fcn.0040bbc0
mov edi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push eax
call edi
lea ecx, [ebp - 0x254]
call fcn.0040bbc0
push eax
call edi
lea ecx, [ebp - 0x254]
call fcn.0040bbc0
push eax
call edi
lea ecx, [ebp - 0x12c]
call fcn.0040bbc0
push eax
sub esp, 0x18
lea eax, [ebp - 0x254]
mov ecx, esp
push eax
call fcn.0040bd90
call fcn.00404930
add esp, 0x1c
lea ecx, [ebp - 0x254]
push 1
push 0
push 0
call fcn.0040bbc0
push eax
call fcn.00409c50
mov ecx, eax
call fcn.0040a7e0
push eax
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
lea ecx, [ebp - 0x12c]
mov dword [0x41a758], 1
call fcn.0040bc60
lea ecx, [ebp - 0x18c]
call fcn.0040bd70
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.0040e690
call fcn.00409de0
mov ecx, eax
call fcn.0040a7c0
push eax
lea ecx, [ebp - 0x42c]
call fcn.0040bd30
mov esi, eax
mov byte [ebp - 4], 0x68
call fcn.00409d10
mov ecx, eax
call fcn.0040a7d0
push eax
lea ecx, [ebp - 0x444]
call fcn.0040bd30
lea ecx, [ebp - 0x20c]
mov byte [ebp - 4], 0x69
push ecx
mov edx, eax
lea ecx, [ebp - 0x45c]
call fcn.0040e410
push esi
mov edx, eax
mov byte [ebp - 4], 0x6a
lea ecx, [ebp - 0x474]
call fcn.0040e3f0
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x6b
push ecx
mov edx, eax
lea ecx, [ebp - 0x2e4]
call fcn.0040e410
add esp, 0xc
lea ecx, [ebp - 0x474]
call fcn.0040bc60
lea ecx, [ebp - 0x45c]
call fcn.0040bc60
lea ecx, [ebp - 0x444]
call fcn.0040bc60
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0x70
call fcn.0040bc60
push 0x41a770
sub esp, 8
lea ecx, [ebp - 0x2e4]
call fcn.0040bbc0
lea ecx, [ebp - 0x29c]
mov edx, eax
call fcn.0040bbc0
mov ecx, eax
call fcn.00405410
add esp, 0xc
call fcn.00409ea0
mov ecx, eax
call fcn.0040a7b0
push eax
lea ecx, [ebp - 0x48c]
call fcn.0040bd30
lea ecx, [ebp - 0x18c]
mov byte [ebp - 4], 0x71
push ecx
mov edx, eax
lea ecx, [ebp - 0x23c]
call fcn.0040e410
add esp, 4
lea ecx, [ebp - 0x48c]
mov byte [ebp - 4], 0x73
call fcn.0040bc60
sub esp, 0x18
lea eax, [ebp - 0x23c]
mov ecx, esp
push eax
call fcn.0040bd90
lea ecx, [ebp - 0x2cc]
call fcn.0040fe00
add esp, 0x18
lea ecx, [ebp - 0x2cc]
mov byte [ebp - 4], 0x74
call fcn.0040bbc0
mov ecx, 0x41a770
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x4086f4
test dl, dl
je 0x4086f0
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x4086f4
add ecx, 2
add eax, 2
test dl, dl
jne 0x4086d4
xor eax, eax
jmp 0x4086f9
sbb eax, eax
or eax, 1
test eax, eax
je 0x40882a
call fcn.0040a340
mov ecx, eax
call fcn.0040a750
mov ebx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push eax
call ebx
add esp, 4
call fcn.0040a400
mov ecx, eax
call fcn.0040a740
push eax
call ebx
add esp, 4
push 0x40e560
call fcn.0040a4c0
mov ecx, eax
call fcn.0040a730
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040e110
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.0040a590
mov ecx, eax
call fcn.0040a720
push eax
call ebx
add esp, 4
call fcn.0040a650
mov ecx, eax
call fcn.0040a710
push eax
call ebx
add esp, 4
lea ecx, [ebp - 0x2cc]
call fcn.0040bc60
lea ecx, [ebp - 0x23c]
call fcn.0040bc60
lea ecx, [ebp - 0x2e4]
call fcn.0040bc60
lea ecx, [ebp - 0x18c]
call fcn.0040bc60
lea ecx, [ebp - 0x2fc]
call fcn.0040bc60
lea ecx, [ebp - 0x29c]
call fcn.0040bc60
lea ecx, [ebp - 0x1a4]
call fcn.0040bc60
lea ecx, [ebp - 0x144]
call fcn.0040bc60
lea ecx, [ebp - 0x15c]
call fcn.0040bc60
lea ecx, [ebp - 0x1bc]
call fcn.0040bc60
lea ecx, [ebp - 0x1ec]
call fcn.0040bc60
lea ecx, [ebp - 0x174]
call fcn.0040bc60
lea ecx, [ebp - 0x224]
mov byte [ebp - 4], 0x43
call fcn.0040bc60
mov edi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
jmp 0x407711
call fcn.00409360
mov ecx, eax
call fcn.0040a890
push eax
call ebx
add esp, 4
jmp 0x407711
call fcn.00409f60
mov ecx, eax
call fcn.0040a7a0
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_system]
push eax
call esi
add esp, 4
call fcn.0040a020
mov ecx, eax
call fcn.0040a790
push eax
call esi
add esp, 4
push 0x40e560
call fcn.0040a0e0
mov ecx, eax
call fcn.0040a780
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040e110
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.0040a1b0
mov ecx, eax
call fcn.0040a770
mov ecx, eax
call fcn.00402990
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
test eax, eax
jne 0x4088b2
push 0x64
call edi
call fcn.0040a1b0
mov ecx, eax
call fcn.0040a770
mov ecx, eax
call fcn.00402990
test eax, eax
je 0x408897
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.0040bbc0
mov edx, eax
mov ecx, esi
call fcn.004029a0
test al, al
je 0x408913
push 0x40e560
call fcn.0040a280
mov ecx, eax
call fcn.0040a760
mov ecx, dword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
mov edx, eax
call fcn.0040e110
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