Function at 0x481440
Capabilities:
Create process on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x21a8
call fcn.004a9b70
mov eax, dword [0x4c32cc]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov ebx, ecx
mov ecx, 0xd
mov esi, str.http:__www.winpatrol.com_cgi_bin_plusinfo.pl_program
lea edi, [ebp - 0x1cc]
rep movsd dword es:[edi], dword [esi]
push eax
push str.Type_d
lea ecx, [ebp - 0x48]
push 0x20
push ecx
mov dword [ebp - 0x21a4], ebx
movsw word es:[edi], word [esi]
call fcn.00402830
push 0x4bb5f4
push str.Loc_s
lea edx, [ebp - 0x28]
push 0x20
push edx
call fcn.00402830
add esp, 0x20
cmp word [0x4d1e04], 7
jne 0x4814c4
push 0x4bbbb4
push str.Loc_s
lea eax, [ebp - 0x28]
push 0x20
push eax
call fcn.00402830
add esp, 0x10
cmp word [0x4d1e04], 0xc
jne 0x4814e6
push 0x4bbbb8
push str.Loc_s
lea ecx, [ebp - 0x28]
push 0x20
push ecx
call fcn.00402830
add esp, 0x10
lea edx, [ebp - 0x20c]
push edx
xor ecx, ecx
call fcn.0047ebe0
lea eax, [ebp - 0xd9c]
add esp, 4
push eax
mov ecx, ebx
call fcn.0047f1b0
add esp, 4
lea ecx, [ebp - 0xd9c]
push ecx
mov edx, 0x7ffffffe
mov eax, 0x104
lea ecx, [ebp - 0xaa4]
call fcn.00401000
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea edx, [ebp - 0xaa4]
push edx
call edi
test eax, eax
je 0x48154f
mov cl, 0x5c
lea esp, [esp]
cmp byte [ebp + eax - 0xaa4], cl
je 0x48154e
dec eax
jne 0x481540
jmp 0x48154f
inc eax
movzx eax, ax
movzx esi, ax
lea esi, [ebp + esi - 0xd9c]
push esi
mov dword [ebp - 0x21a0], esi
call edi
xor ecx, ecx
test eax, eax
jle 0x48157f
jmp 0x481570
cmp byte [esi + ecx], 0x2e
je 0x4815ff
inc ecx
cmp ecx, eax
jl 0x481570
push str.ext
mov edx, 0x7ffffffe
mov eax, 0x40
lea ecx, [ebp - 0x8c]
call fcn.00401000
push 0x1400
lea eax, [ebp - 0x219c]
push 0
push eax
call fcn.004a3190
add esp, 0xc
push ebx
lea ecx, [ebp - 0x219c]
call fcn.0048e9d0
add esp, 4
push str.vendor
mov edx, 0x7ffffffe
mov eax, 0x400
lea ecx, [ebp - 0x60c]
call fcn.00401000
lea ebx, [ebp - 0x199c]
lea esi, [ebp - 0x80c]
call fcn.00480750
mov edx, 0x400
lea eax, [ebp - 0x60c]
cmp byte [eax], 0
je 0x48163b
inc eax
dec edx
jne 0x4815f4
jmp 0x481665
lea eax, [esi + ecx + 1]
push eax
mov edx, 0x7ffffffe
mov eax, 0x104
lea ecx, [ebp - 0x80c]
call fcn.00401000
lea ecx, [ebp - 0x80c]
push ecx
push str.ext_s
lea edx, [ebp - 0x8c]
push 0x40
push edx
call fcn.00402830
add esp, 0x10
jmp 0x481599
test edx, edx
je 0x481665
mov ecx, 0x400
sub ecx, edx
lea edx, [ebp - 0x80c]
mov eax, 0x400
push edx
sub eax, ecx
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x400
lea eax, [ebp - 0x60c]
cmp byte [eax], 0
je 0x48167b
inc eax
dec edx
jne 0x481670
jmp 0x4816a3
test edx, edx
je 0x4816a3
mov ecx, 0x400
sub ecx, edx
mov eax, 0x400
sub eax, ecx
push str.version
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
lea ebx, [ebp - 0x1d9c]
lea esi, [ebp - 0x80c]
call fcn.00480750
mov edx, 0x400
lea eax, [ebp - 0x60c]
nop
cmp byte [eax], 0
je 0x4816cb
inc eax
dec edx
jne 0x4816c0
jmp 0x4816f5
test edx, edx
je 0x4816f5
lea eax, [ebp - 0x80c]
push eax
mov ecx, 0x400
sub ecx, edx
mov eax, 0x400
sub eax, ecx
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
push 0x4c7a9c
call edi
test eax, eax
jne 0x481745
push 0x20
push str.RegNumber
push str.SoftwareBillP_StudiosWinPatrol
mov ecx, 0x4c7a9c
mov edx, 0x80000002
mov byte [0x4c7a9c], al
call fcn.0048e050
add esp, 0xc
test eax, eax
jne 0x481745
push 0x20
push str.RegNumber
push str.SoftwareBillP_StudiosWinPatrol
mov ecx, 0x4c7a9c
mov edx, 0x80000001
call fcn.0048e050
add esp, 0xc
mov edx, 0x400
lea eax, [ebp - 0x60c]
cmp byte [eax], 0
je 0x48175b
inc eax
dec edx
jne 0x481750
jmp 0x481783
test edx, edx
je 0x481783
mov ecx, 0x400
sub ecx, edx
mov eax, 0x400
sub eax, ecx
push str.userid
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov eax, 0x400
lea ecx, [ebp - 0x60c]
mov edi, edi
cmp byte [ecx], 0
je 0x48179b
inc ecx
dec eax
jne 0x481790
jmp 0x4817c3
test eax, eax
je 0x4817c3
mov ecx, 0x400
sub ecx, eax
mov eax, 0x400
sub eax, ecx
push 0x4c7a9c
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x400
lea eax, [ebp - 0x60c]
mov edi, edi
cmp byte [eax], 0
je 0x4817db
inc eax
dec edx
jne 0x4817d0
jmp 0x481803
test edx, edx
je 0x481803
mov ecx, 0x400
sub ecx, edx
mov eax, 0x400
sub eax, ecx
push str.build
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x400
lea eax, [ebp - 0x60c]
mov edi, edi
cmp byte [eax], 0
je 0x48181b
inc eax
dec edx
jne 0x481810
jmp 0x481845
test edx, edx
je 0x481845
mov ecx, 0x400
sub ecx, edx
lea edx, [ebp - 0x20c]
mov eax, 0x400
push edx
sub eax, ecx
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov eax, dword [ebp - 0x21a4]
push eax
lea ecx, [ebp - 0xaa4]
call fcn.004840f0
add esp, 4
test eax, eax
jne 0x4818e5
mov edx, 0x400
lea eax, [ebp - 0x60c]
lea ecx, [ecx]
cmp byte [eax], 0
je 0x48187b
inc eax
dec edx
jne 0x481870
jmp 0x4818a3
test edx, edx
je 0x4818a3
mov ecx, 0x400
sub ecx, edx
mov eax, 0x400
sub eax, ecx
push str.hash
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x400
lea eax, [ebp - 0x60c]
mov edi, edi
cmp byte [eax], 0
je 0x4818bb
inc eax
dec edx
jne 0x4818b0
jmp 0x4818e5
test edx, edx
je 0x4818e5
mov ecx, 0x400
sub ecx, edx
lea edx, [ebp - 0xaa4]
mov eax, 0x400
push edx
sub eax, ecx
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x400
lea eax, [ebp - 0x60c]
cmp byte [eax], 0
je 0x4818fb
inc eax
dec edx
jne 0x4818f0
jmp 0x481922
test edx, edx
je 0x481922
lea eax, [ebp - 0x48]
push eax
mov ecx, 0x400
sub ecx, edx
mov eax, 0x400
sub eax, ecx
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x400
lea eax, [ebp - 0x60c]
lea ecx, [ecx]
cmp byte [eax], 0
je 0x48193b
inc eax
dec edx
jne 0x481930
jmp 0x481962
test edx, edx
je 0x481962
mov ecx, 0x400
sub ecx, edx
lea edx, [ebp - 0x28]
mov eax, 0x400
push edx
sub eax, ecx
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x400
lea eax, [ebp - 0x60c]
lea ecx, [ecx]
cmp byte [eax], 0
je 0x48197b
inc eax
dec edx
jne 0x481970
jmp 0x4819a5
test edx, edx
je 0x4819a5
lea eax, [ebp - 0x8c]
push eax
mov ecx, 0x400
sub ecx, edx
mov eax, 0x400
sub eax, ecx
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x400
lea eax, [ebp - 0x60c]
cmp byte [eax], 0
je 0x4819bb
inc eax
dec edx
jne 0x4819b0
jmp 0x4819e3
test edx, edx
je 0x4819e3
mov ecx, 0x400
sub ecx, edx
mov eax, 0x400
sub eax, ecx
push str.verify
lea ecx, [ebp + ecx - 0x60c]
mov edx, 0x7fffffff
call fcn.00401000
push 0x4c79e0
xor esi, esi
call edi
test eax, eax
jle 0x481a0b
mov cl, byte [esi + 0x4c79e0]
inc cl
mov byte [ebp + esi - 0x894], cl
push 0x4c79e0
inc esi
call edi
cmp esi, eax
jl 0x4819f0
mov byte [ebp + esi - 0x894], 0
mov eax, 0x400
lea ecx, [ebp - 0x60c]
mov edi, edi
cmp byte [ecx], 0
je 0x481a2b
inc ecx
dec eax
jne 0x481a20
jmp 0x481a71
test eax, eax
je 0x481a71
mov edx, 0x400
sub edx, eax
mov ecx, 0x400
sub ecx, edx
lea eax, [ebp + edx - 0x60c]
je 0x481a6d
lea ebx, [ebp - 0x894]
lea esi, [ecx + edx + 0x7ffffbff]
sub ebx, eax
test esi, esi
je 0x481a69
mov dl, byte [ebx + eax]
test dl, dl
je 0x481a69
mov byte [eax], dl
inc eax
dec esi
dec ecx
jne 0x481a55
jmp 0x481a6d
test ecx, ecx
jne 0x481a6e
dec eax
mov byte [eax], 0
lea eax, [ebp - 0x194]
lea esi, [ebp - 0x1cc]
mov ecx, eax
mov edx, 0x104
sub esi, ecx
lea ecx, [edx + 0x7ffffefa]
test ecx, ecx
je 0x481a9f
mov cl, byte [esi + eax]
test cl, cl
je 0x481a9f
mov byte [eax], cl
inc eax
dec edx
jne 0x481a86
jmp 0x481aa3
test edx, edx
jne 0x481aa4
dec eax
lea edx, [ebp - 0xd9c]
push edx
mov byte [eax], 0
call edi
test eax, eax
jne 0x481afc
mov edx, 0x104
lea eax, [ebp - 0x194]
nop
cmp byte [eax], 0
je 0x481ace
inc eax
dec edx
jne 0x481ac0
jmp 0x481b57
test edx, edx
je 0x481b57
mov ecx, 0x104
sub ecx, edx
mov eax, 0x104
sub eax, ecx
push 0x4c72a0
lea ecx, [ebp + ecx - 0x194]
mov edx, 0x7fffffff
call fcn.00401000
jmp 0x481b57
mov eax, dword [ebp - 0x21a0]
push eax
call edi
xor ecx, ecx
xor esi, esi
test eax, eax
jle 0x481b4f
mov edi, dword [ebp - 0x21a0]
mov bl, 0x30
mov dl, byte [esi + edi]
cmp dl, 0x20
jne 0x481b33
mov word [ebp + ecx - 0x80c], 0x3225
mov byte [ebp + ecx - 0x80a], bl
add ecx, 3
jmp 0x481b4a
cmp dl, 0x26
jne 0x481b42
mov byte [ebp + ecx - 0x80c], 0x2b
jmp 0x481b49
mov byte [ebp + ecx - 0x80c], dl
inc ecx
inc esi
cmp esi, eax
jl 0x481b15
mov byte [ebp + ecx - 0x80c], 0
mov eax, 0x104
lea ecx, [ebp - 0x194]
cmp byte [ecx], 0
je 0x481b6d
inc ecx
dec eax
jne 0x481b62
jmp 0x481bb3
test eax, eax
je 0x481bb3
mov edx, 0x104
sub edx, eax
mov ecx, 0x104
sub ecx, edx
lea eax, [ebp + edx - 0x194]
je 0x481baf
lea edi, [ebp - 0x80c]
lea esi, [ecx + edx + 0x7ffffefb]
sub edi, eax
test esi, esi
je 0x481bab
mov dl, byte [edi + eax]
test dl, dl
je 0x481bab
mov byte [eax], dl
inc eax
dec esi
dec ecx
jne 0x481b97
jmp 0x481baf
test ecx, ecx
jne 0x481bb0
dec eax
mov byte [eax], 0
mov eax, 0x104
lea ecx, [ebp - 0x194]
mov edi, edi
cmp byte [ecx], 0
je 0x481bcb
inc ecx
dec eax
jne 0x481bc0
jmp 0x481c11
test eax, eax
je 0x481c11
mov edx, 0x104
sub edx, eax
mov ecx, 0x104
sub ecx, edx
lea eax, [ebp + edx - 0x194]
je 0x481c0d
lea edi, [ebp - 0x60c]
lea esi, [ecx + edx + 0x7ffffefb]
sub edi, eax
test esi, esi
je 0x481c09
mov dl, byte [edi + eax]
test dl, dl
je 0x481c09
mov byte [eax], dl
inc eax
dec esi
dec ecx
jne 0x481bf5
jmp 0x481c0d
test ecx, ecx
jne 0x481c0e
dec eax
mov byte [eax], 0
mov edx, dword [0x4c78c4]
push 1
push 0x4b17de
push 0x4b17de
lea ecx, [ebp - 0x194]
push ecx
push str.open
push edx
call dword [sym.imp.SHELL32.dll_ShellExecuteA]
mov esi, eax
cmp esi, 0x20
jae 0x481d18
cmp dword [0x4c643c], 0x270f
jge 0x481c84
lea eax, [ebp - 0x194]
push eax
push str.GetPlusInfo
push str._s__s
lea ecx, [ebp - 0xb9c]
push 0x200
push ecx
call fcn.00402830
add esp, 0x14
push 0
lea edx, [ebp - 0xb9c]
mov ecx, esi
call fcn.00482f90
add esp, 4
lea ebx, [ebp - 0x99c]
call fcn.0047dfe0
mov edx, 0x104
mov eax, ebx
cmp byte [eax], 0
je 0x481ca1
inc eax
dec edx
jne 0x481c96
jmp 0x481cc9
test edx, edx
je 0x481cc9
mov ecx, 0x104
sub ecx, edx
mov eax, 0x104
sub eax, ecx
push 0x4b5e54
lea ecx, [ebp + ecx - 0x99c]
mov edx, 0x7fffffff
call fcn.00401000
mov edx, 0x104
lea eax, [ebp - 0x99c]
cmp byte [eax], 0
je 0x481cdf
inc eax
dec edx
jne 0x481cd4
jmp 0x481d09
test edx, edx
je 0x481d09
mov ecx, 0x104
sub ecx, edx
lea edx, [ebp - 0x194]
mov eax, 0x104
push edx
sub eax, ecx
lea ecx, [ebp + ecx - 0x99c]
mov edx, 0x7fffffff
call fcn.00401000
push 1
lea eax, [ebp - 0x99c]
push eax
call dword [sym.imp.KERNEL32.dll_WinExec]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.004a01d6
mov esp, ebp
pop ebp
ret