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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a2c82
mov eax, dword fs:[0]
push eax
sub esp, 0x2a8
mov eax, dword [0x4be0f0]
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
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2b0], eax
mov dword [ebp - method.COMM_MD_CURL::CComm_Curl.virtual_0], vtable.COMM_MD_CURL::CComm_Curl.0
mov dword [ebp - 4], 0
mov esi, dword [eax]
mov dword [ebp - 0x2a8], esi
cmp esi, dword [eax + 4]
jae 0x403e04
mov ebx, dword [esi + 0x10]
mov eax, ebx
cmp eax, ebx
jae 0x403a42
cmp dword [esi + 0x14], 0x10
jb 0x403a4c
mov edx, dword [esi]
jmp 0x403a4e
mov edx, esi
xor eax, eax
mov ecx, 0x4b2393
call section..text
test eax, eax
jne 0x403a65
test ebx, ebx
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
je 0x403dec
push 0xffffffffffffffff
push 0
mov edi, 0xf
push esi
lea ecx, [ebp - 0x250]
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x240], 0
mov byte [ebp - 0x250], 0
call fcn.00401120
mov ebx, 1
lea eax, [ebp - 0x250]
mov byte [ebp - 4], bl
call fcn.00404830
push 0xffffffffffffffff
lea ecx, [eax + 1]
lea esi, [ebp - 0x234]
lea edx, [ebp - 0x250]
call fcn.004045f0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x224]
test eax, eax
je 0x403b1f
mov edx, dword [ebp - 0x220]
mov esi, dword [ebp - 0x234]
mov ecx, esi
cmp edx, 0x10
jae 0x403af1
lea ecx, [ebp - 0x234]
lea ebx, [eax + ecx]
cmp edx, 0x10
jae 0x403aff
lea esi, [ebp - 0x234]
cmp esi, ebx
jae 0x403b1f
movsx eax, byte [esi]
push 1
push eax
push 0x4b25b8
call fcn.0044e950
add esp, 0xc
test eax, eax
jne 0x403b95
inc esi
cmp esi, ebx
jb 0x403b03
or esi, 0xffffffff
push esi
xor ecx, ecx
lea esi, [ebp - 0x288]
lea edx, [ebp - 0x234]
call fcn.004045f0
mov esi, eax
lea ecx, [ebp - 0x234]
mov ebx, 0x10
cmp ecx, esi
je 0x403bde
cmp dword [ebp - 0x220], ebx
jb 0x403b62
mov edx, dword [ebp - 0x234]
push edx
call fcn.0044de0c
add esp, 4
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x224], 0
mov byte [ebp - 0x234], 0
cmp dword [esi + 0x14], ebx
jae 0x403bb1
mov eax, dword [esi + 0x10]
inc eax
push eax
lea eax, [ebp - 0x234]
push esi
push eax
call fcn.0044e040
add esp, 0xc
jmp 0x403bbf
cmp dword [ebp - 0x220], 0x10
mov eax, dword [ebp - 0x234]
jae 0x403baa
lea eax, [ebp - 0x234]
sub esi, eax
jmp 0x403b22
mov ecx, dword [esi]
mov dword [ebp - 0x234], ecx
mov dword [esi], 0
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x224], edx
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x220], eax
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], 0
mov byte [esi], 0
mov byte [ebp - 4], 2
cmp dword [ebp - 0x274], ebx
jb 0x403bf9
mov ecx, dword [ebp - 0x288]
push ecx
call fcn.0044de0c
add esp, 4
xor edx, edx
push 0x206
push edx
lea eax, [ebp - 0x216]
push eax
mov word [ebp - 0x218], dx
call fcn.00458dc0
add esp, 0xc
lea ecx, [ebp - 0x218]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
sub esp, 0x1c
mov esi, esp
xor edx, edx
mov dword [esi + 0x14], 7
mov dword [esi + 0x10], 0
lea eax, [ebp - 0x218]
mov word [esi], dx
lea edi, [ebp - 0x234]
mov dword [ebp - 0x2ac], esp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x403c56
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x218]
call fcn.00401a50
lea ebx, [ebp - 0x288]
call fcn.00445f90
add esp, 0x1c
mov ecx, eax
mov eax, edi
lea ebx, [ebp - 0x26c]
mov byte [ebp - 4], 4
call fcn.00404ab0
mov esi, 0x10
mov byte [ebp - 4], 6
cmp dword [ebp - 0x274], esi
jb 0x403cb2
mov eax, dword [ebp - 0x288]
push eax
call fcn.0044de0c
add esp, 4
mov edi, dword [ebp - 0x26c]
xor ebx, ebx
mov dword [ebp - 0x274], 0xf
mov dword [ebp - 0x278], ebx
mov byte [ebp - 0x288], bl
cmp dword [ebp - 0x258], esi
jae 0x403cde
lea edi, [ebp - 0x26c]
cmp dword [ebp - 0x23c], esi
mov esi, dword [ebp - 0x250]
jae 0x403cf2
lea esi, [ebp - 0x250]
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
call sym.miniweather.exe_curl_easy_init
cmp eax, ebx
je 0x403d0e
push esi
mov esi, eax
xor ebx, ebx
mov eax, edi
call fcn.00448a70
push 5
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push 0xffffffffffffffff
push ebx
lea edx, [ebp - 0x26c]
mov edi, 0xf
mov dword [ecx + 0x14], edi
mov dword [ecx + 0x10], ebx
push edx
mov byte [ecx], bl
call fcn.00401120
lea ebx, [ebp - 0x2a4]
call fcn.004460e0
mov esi, 8
add esp, 0x1c
cmp dword [eax + 0x14], esi
jb 0x403d53
mov eax, dword [eax]
push eax
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp dword [ebp - 0x290], esi
jb 0x403d75
mov eax, dword [ebp - 0x2a4]
push eax
call fcn.0044de0c
add esp, 4
mov esi, 0x10
cmp dword [ebp - 0x258], esi
jb 0x403d91
mov ecx, dword [ebp - 0x26c]
push ecx
call fcn.0044de0c
add esp, 4
mov dword [ebp - 0x258], edi
mov dword [ebp - 0x25c], ebx
mov byte [ebp - 0x26c], bl
cmp dword [ebp - 0x220], esi
jb 0x403dba
mov edx, dword [ebp - 0x234]
push edx
call fcn.0044de0c
add esp, 4
mov byte [ebp - 4], bl
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x224], ebx
mov byte [ebp - 0x234], bl
cmp dword [ebp - 0x23c], esi
jb 0x403de6
mov eax, dword [ebp - 0x250]
push eax
call fcn.0044de0c
add esp, 4
mov esi, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2b0]
add esi, 0x1c
mov dword [ebp - 0x2a8], esi
cmp esi, dword [ecx + 4]
jb 0x403a39
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044de17
mov esp, ebp
pop ebp
ret