Function at 0x484560
Capabilities:
Accept command line arguments

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push 0xffffffffffffffff
xor ebp, ebp
push eax
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebp
call fcn.0049d940
lea ecx, [esp + 0x30]
call fcn.004d4b70
mov eax, dword [esp + 0x10]
cmp eax, ebp
je 0x484595
add eax, 4
jmp 0x484597
xor eax, eax
push eax
lea ecx, [esp + 0x34]
call fcn.004d4b90
test eax, eax
je 0x4845da
lea ecx, [esp + 0x40]
call fcn.00484240
lea ecx, [esp + 0x38]
call fcn.00437be0
lea ecx, [esp + 0x34]
call fcn.004039f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebp
call fcn.004039f0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret
or ecx, 0xffffffff
xor eax, eax
mov edi, str._config
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str._config
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], ebp
call fcn.0049d9d0
mov edi, dword [esp + 0x3c]
shr edi, 1
xor ebx, ebx
cmp edi, ebp
jbe 0x48469c
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
je 0x484619
add ecx, 4
jmp 0x48461b
xor ecx, ecx
mov eax, dword [esp + 0x38]
mov eax, dword [eax + ebx*4]
cmp eax, ebp
je 0x484681
cmp ecx, ebp
je 0x484685
cmp eax, ebp
je 0x484633
lea esi, [eax + 4]
jmp 0x484635
xor esi, esi
cmp ecx, esi
mov edx, ecx
je 0x484693
cmp esi, ebp
je 0x484689
cmp byte [ecx], 0
je 0x484677
mov cl, byte [esi]
test cl, cl
je 0x484677
mov al, byte [edx]
cmp al, 0x41
jl 0x484656
cmp al, 0x5a
jg 0x484656
add al, 0x20
cmp cl, 0x41
jl 0x484663
cmp cl, 0x5a
jg 0x484663
add cl, 0x20
cmp al, cl
jl 0x484689
jg 0x484689
mov al, byte [edx + 1]
inc edx
inc esi
test al, al
jne 0x484644
cmp byte [esi], 0
jmp 0x484687
cmp byte [edx], 0
jne 0x484689
cmp byte [esi], 0
jmp 0x484687
cmp ecx, ebp
jne 0x484689
cmp eax, ebp
je 0x484693
inc ebx
cmp ebx, edi
jae 0x48469c
jmp 0x48460c
cmp ebx, 0xffffffff
jne 0x48491b
or ecx, 0xffffffff
xor eax, eax
mov edi, str._reconfig
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str._reconfig
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], ebp
call fcn.0049d9d0
mov ebx, dword [esp + 0x3c]
shr ebx, 1
xor esi, esi
cmp ebx, ebp
jbe 0x484751
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x4846df
add ecx, 4
jmp 0x4846e1
xor ecx, ecx
mov eax, dword [ebp + esi*4]
test eax, eax
je 0x484744
test ecx, ecx
je 0x484748
test eax, eax
je 0x4846f6
lea edi, [eax + 4]
jmp 0x4846f8
xor edi, edi
cmp ecx, edi
mov edx, ecx
je 0x484754
test edi, edi
je 0x48474c
cmp byte [ecx], 0
je 0x48473a
mov cl, byte [edi]
test cl, cl
je 0x48473a
mov al, byte [edx]
cmp al, 0x41
jl 0x484719
cmp al, 0x5a
jg 0x484719
add al, 0x20
cmp cl, 0x41
jl 0x484726
cmp cl, 0x5a
jg 0x484726
add cl, 0x20
cmp al, cl
jl 0x48474c
jg 0x48474c
mov al, byte [edx + 1]
inc edx
inc edi
test al, al
jne 0x484707
cmp byte [edi], 0
jmp 0x48474a
cmp byte [edx], 0
jne 0x48474c
cmp byte [edi], 0
jmp 0x48474a
test ecx, ecx
jne 0x48474c
test eax, eax
je 0x484754
inc esi
cmp esi, ebx
jb 0x4846d2
or esi, 0xffffffff
lea ecx, [esp + 0x14]
call fcn.004039f0
xor ebp, ebp
cmp esi, 0xffffffff
mov dword [esp + 0x14], ebp
jne 0x48491b
or ecx, esi
xor eax, eax
mov edi, str._uninstall
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push str._uninstall
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], ebp
call fcn.0049d9d0
mov ebx, dword [esp + 0x3c]
shr ebx, 1
xor esi, esi
cmp ebx, ebp
jbe 0x484820
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x4847ae
add ecx, 4
jmp 0x4847b0
xor ecx, ecx
mov eax, dword [ebp + esi*4]
test eax, eax
je 0x484813
test ecx, ecx
je 0x484817
test eax, eax
je 0x4847c5
lea edi, [eax + 4]
jmp 0x4847c7
xor edi, edi
cmp ecx, edi
mov edx, ecx
je 0x484823
test edi, edi
je 0x48481b
cmp byte [ecx], 0
je 0x484809
mov cl, byte [edi]
test cl, cl
je 0x484809
mov al, byte [edx]
cmp al, 0x41
jl 0x4847e8
cmp al, 0x5a
jg 0x4847e8
add al, 0x20
cmp cl, 0x41
jl 0x4847f5
cmp cl, 0x5a
jg 0x4847f5
add cl, 0x20
cmp al, cl
jl 0x48481b
jg 0x48481b
mov al, byte [edx + 1]
inc edx
inc edi
test al, al
jne 0x4847d6
cmp byte [edi], 0
jmp 0x484819
cmp byte [edx], 0
jne 0x48481b
cmp byte [edi], 0
jmp 0x484819
test ecx, ecx
jne 0x48481b
test eax, eax
je 0x484823
inc esi
cmp esi, ebx
jb 0x4847a1
or esi, 0xffffffff
lea ecx, [esp + 0x18]
call fcn.004039f0
cmp esi, 0xffffffff
mov dword [esp + 0x18], 0
jne 0x48491b
mov edx, dword [str._upload]
xor ebp, ebp
test edx, edx
mov dword [esp + 0x1c], ebp
je 0x484867
or ecx, esi
xor eax, eax
mov edi, edx
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
lea ecx, [esp + 0x24]
call fcn.0049d9d0
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
shr ebx, 1
xor esi, esi
test ebx, ebx
jbe 0x4848fe
test ebp, ebp
je 0x484880
lea ecx, [ebp + 4]
jmp 0x484882
xor ecx, ecx
mov edx, dword [esp + 0x38]
mov eax, dword [edx + esi*4]
test eax, eax
je 0x4848ed
test ecx, ecx
je 0x4848f1
test eax, eax
je 0x48489a
lea edi, [eax + 4]
jmp 0x48489c
xor edi, edi
cmp ecx, edi
mov edx, ecx
je 0x484901
test edi, edi
je 0x4848f5
cmp byte [ecx], 0
je 0x4848e3
nop
lea esp, [esp]
mov cl, byte [edi]
test cl, cl
je 0x4848e3
mov al, byte [edx]
cmp al, 0x41
jl 0x4848c2
cmp al, 0x5a
jg 0x4848c2
add al, 0x20
cmp cl, 0x41
jl 0x4848cf
cmp cl, 0x5a
jg 0x4848cf
add cl, 0x20
cmp al, cl
jl 0x4848f5
jg 0x4848f5
mov al, byte [edx + 1]
inc edx
inc edi
test al, al
jne 0x4848b0
cmp byte [edi], 0
jmp 0x4848f3
cmp byte [edx], 0
jne 0x4848f5
cmp byte [edi], 0
jmp 0x4848f3
test ecx, ecx
jne 0x4848f5
test eax, eax
je 0x484901
inc esi
cmp esi, ebx
jb 0x484877
or esi, 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.004039f0
cmp esi, 0xffffffff
mov dword [esp + 0x1c], 0
jne 0x48491b
xor bl, bl
jmp 0x48491d
mov bl, 1
lea ecx, [esp + 0x20]
call fcn.004039f0
test bl, bl
je 0x484963
lea ecx, [esp + 0x40]
call fcn.00484240
lea ecx, [esp + 0x38]
call fcn.00437be0
lea ecx, [esp + 0x34]
call fcn.004039f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], 0
call fcn.004039f0
pop edi
pop esi
pop ebp
mov eax, 0xf4241
pop ebx
add esp, 0x38
ret
call fcn.00484ad0
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
mov esi, eax
xor ebx, ebx
cmp esi, ebx
jne 0x4849c5
push 0xfa
call ebp
call fcn.00484ad0
inc edi
cmp edi, 4
mov esi, eax
jl 0x484974
cmp esi, ebx
jne 0x4849c5
lea ecx, [esp + 0x40]
call fcn.00484240
lea ecx, [esp + 0x38]
call fcn.00437be0
lea ecx, [esp + 0x34]
call fcn.004039f0
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call fcn.004039f0
pop edi
pop esi
pop ebp
mov eax, 0xf4241
pop ebx
add esp, 0x38
ret
push esi
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov edi, dword [esp + 0x10]
cmp edi, ebx
mov dword [esp + 0x24], 0x6f70656e
je 0x4849ef
add edi, 4
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x2c], edi
repne scasb al, byte es:[edi]
not ecx
dec ecx
jmp 0x4849f9
mov dword [esp + 0x2c], 0x6b6e10
xor ecx, ecx
lea eax, [esp + 0x24]
push eax
push ebx
push 0x4a
inc ecx
push esi
mov dword [esp + 0x38], ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esp + 0x40]
cmp ecx, ebx
je 0x484a1c
push 3
call fcn.00486630
mov ecx, dword [esp + 0x44]
mov esi, 1
and ecx, esi
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
mov dword [esp + 0x40], ebx
je 0x484a3e
push 3
call fcn.00430c60
mov edx, dword [esp + 0x3c]
and edx, esi
lea ecx, [esp + 0x34]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], edx
call fcn.004039f0
mov eax, dword [esp + 0x10]
cmp eax, ebx
mov dword [esp + 0x34], ebx
je 0x484ab8
mov ecx, dword [eax]
and ecx, 0xff
cmp ecx, 0x80
mov esi, eax
jae 0x484ab8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
and eax, 0xff
cmp eax, 0x7f
jne 0x484aa7
mov edx, dword [esi]
and edx, 0xff
cmp edx, 0x80
jae 0x484aa2
push esi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
and eax, 0xff
jmp 0x484aa7
mov eax, 0xff
cmp eax, ebx
jne 0x484ab8
mov eax, dword [esp + 0x10]
push eax
call fcn.00499410
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret