Function at 0x41b880
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x560
mov eax, dword [0x49106c]
xor eax, ebp
mov dword [ebp - 4], eax
movups xmm0, xmmword [0x485f4c]
mov ecx, dword [0x491bf8]
push ebx
push esi
mov esi, dword [0x491bf4]
mov dword [0x493fec], 0
push edi
movups xmmword [0x493f84], xmm0
cmp esi, ecx
jae 0x41b8da
nop
mov eax, dword [esi]
test eax, eax
je 0x41b8d3
mov eax, dword [eax + 0x1c]
push 1
call eax
mov ecx, dword [0x491bf8]
add esi, 4
cmp esi, ecx
jb 0x41b8c0
call fcn.00401640
mov ecx, eax
test ecx, ecx
je 0x41c219
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x55c], eax
call fcn.00401640
mov ecx, eax
test ecx, ecx
je 0x41c223
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x558], eax
call fcn.00401640
mov ecx, eax
test ecx, ecx
je 0x41c22d
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x554], eax
call fcn.00401640
mov ecx, eax
test ecx, ecx
je 0x41c237
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x550], eax
call fcn.00401640
mov ecx, eax
test ecx, ecx
je 0x41c241
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x54c], eax
call fcn.00401640
mov ecx, eax
test ecx, ecx
je 0x41c24b
mov eax, dword [ecx]
call dword [eax + 0xc]
lea edi, [eax + 0x10]
mov dword [ebp - 0x560], edi
call fcn.00401640
mov ecx, eax
test ecx, ecx
je 0x41c255
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x548], eax
call fcn.00401640
mov ecx, eax
test ecx, ecx
je 0x41c25f
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x540], esi
test eax, eax
je 0x41bce0
cmp byte [eax], 0
je 0x41bce0
lea eax, [ebp - 0x544]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov dword [ebp - 0x53c], eax
test eax, eax
je 0x41bce0
xor ebx, ebx
cmp dword [ebp - 0x544], ebx
jle 0x41bcd9
mov esi, eax
nop dword [eax + eax]
push str._home
push dword [esi + ebx*4]
call fcn.004446e4
add esp, 8
test eax, eax
jne 0x41ba5c
mov eax, dword [ebp - 0x544]
dec eax
cmp ebx, eax
jge 0x41ba5c
mov edx, dword [esi + ebx*4 + 4]
test edx, edx
jne 0x41ba3b
xor ecx, ecx
jmp 0x41ba4f
mov ecx, edx
lea edi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ba40
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x55c]
call fcn.004076f0
push 0x47ba08
push dword [esi + ebx*4]
call fcn.004446e4
add esp, 8
test eax, eax
jne 0x41baac
mov eax, dword [ebp - 0x544]
dec eax
cmp ebx, eax
jge 0x41baac
mov edx, dword [esi + ebx*4 + 4]
test edx, edx
jne 0x41ba87
xor ecx, ecx
jmp 0x41ba9f
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41ba90
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x558]
call fcn.004076f0
push str._env
push dword [esi + ebx*4]
call fcn.004446e4
add esp, 8
test eax, eax
jne 0x41bafc
mov eax, dword [ebp - 0x544]
dec eax
cmp ebx, eax
jge 0x41bafc
mov edx, dword [esi + ebx*4 + 4]
test edx, edx
jne 0x41bad7
xor ecx, ecx
jmp 0x41baef
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41bae0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x554]
call fcn.004076f0
push str._pnid
push dword [esi + ebx*4]
call fcn.004446e4
add esp, 8
test eax, eax
jne 0x41bb4c
mov eax, dword [ebp - 0x544]
dec eax
cmp ebx, eax
jge 0x41bb4c
mov edx, dword [esi + ebx*4 + 4]
test edx, edx
jne 0x41bb27
xor ecx, ecx
jmp 0x41bb3f
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41bb30
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x550]
call fcn.004076f0
push str._fileid
push dword [esi + ebx*4]
call fcn.004446e4
add esp, 8
test eax, eax
jne 0x41bb9c
mov eax, dword [ebp - 0x544]
dec eax
cmp ebx, eax
jge 0x41bb9c
mov edx, dword [esi + ebx*4 + 4]
test edx, edx
jne 0x41bb77
xor ecx, ecx
jmp 0x41bb8f
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41bb80
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x54c]
call fcn.004076f0
push str._appid
push dword [esi + ebx*4]
call fcn.004446e4
add esp, 8
test eax, eax
jne 0x41bbec
mov eax, dword [ebp - 0x544]
dec eax
cmp ebx, eax
jge 0x41bbec
mov edx, dword [esi + ebx*4 + 4]
test edx, edx
jne 0x41bbc7
xor ecx, ecx
jmp 0x41bbdf
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41bbd0
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x560]
call fcn.004076f0
push str._apiurl
push dword [esi + ebx*4]
call fcn.004446e4
add esp, 8
test eax, eax
jne 0x41bc3c
mov eax, dword [ebp - 0x544]
dec eax
cmp ebx, eax
jge 0x41bc3c
mov edx, dword [esi + ebx*4 + 4]
test edx, edx
jne 0x41bc17
xor ecx, ecx
jmp 0x41bc2f
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41bc20
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x548]
call fcn.004076f0
push str._resume
push dword [esi + ebx*4]
call fcn.004446e4
add esp, 8
test eax, eax
jne 0x41bc8c
mov eax, dword [ebp - 0x544]
dec eax
cmp ebx, eax
jge 0x41bc8c
mov edx, dword [esi + ebx*4 + 4]
test edx, edx
jne 0x41bc67
xor ecx, ecx
jmp 0x41bc7f
mov ecx, edx
lea edi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x41bc70
sub ecx, edi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x540]
call fcn.004076f0
push str._version
push dword [esi + ebx*4]
call fcn.004446e4
add esp, 8
test eax, eax
jne 0x41bcba
cmp ebx, dword [ebp - 0x544]
jge 0x41bcba
push eax
push 0x47ba7c
push str.4.2.0.13
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
inc ebx
cmp ebx, dword [ebp - 0x544]
jl 0x41ba10
mov edi, dword [ebp - 0x560]
mov esi, dword [ebp - 0x540]
mov eax, dword [ebp - 0x53c]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
lea ecx, [ebp - 0x538]
call fcn.0041ed00
mov eax, dword [ebp - 0x55c]
or ebx, 0xffffffff
cmp dword [eax - 0xc], 0
je 0x41bd3f
lea ecx, [eax - 0x10]
call fcn.00407630
push ecx
mov ecx, eax
mov dword [ebp - 0x53c], eax
mov ebx, esp
call fcn.00407630
add eax, 0x10
lea ecx, [ebp - 0x4e0]
mov dword [ebx], eax
call fcn.00429490
mov edx, dword [ebp - 0x53c]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41bd3f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x558]
cmp dword [eax - 0xc], 0
je 0x41bdaf
lea ecx, [eax - 0x10]
call fcn.00407630
mov ecx, eax
mov dword [ebp - 0x540], eax
call fcn.00407630
lea ecx, [ebp - 0x4dc]
lea ebx, [eax + 0x10]
lea eax, [ebp - 0x53c]
mov dword [ebp - 0x53c], ebx
push eax
call fcn.00406690
lea edx, [ebx - 0x10]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41bd95
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x540]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41bdaf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x554]
cmp dword [eax - 0xc], 0
je 0x41be1f
lea ecx, [eax - 0x10]
call fcn.00407630
mov ecx, eax
mov dword [ebp - 0x540], eax
call fcn.00407630
lea ecx, [ebp - 0x4d8]
lea ebx, [eax + 0x10]
lea eax, [ebp - 0x53c]
mov dword [ebp - 0x53c], ebx
push eax
call fcn.00406690
lea edx, [ebx - 0x10]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41be05
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x540]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41be1f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x550]
cmp dword [eax - 0xc], 0
je 0x41be8f
lea ecx, [eax - 0x10]
call fcn.00407630
mov ecx, eax
mov dword [ebp - 0x540], eax
call fcn.00407630
lea ecx, [ebp - 0x4d4]
lea ebx, [eax + 0x10]
lea eax, [ebp - 0x53c]
mov dword [ebp - 0x53c], ebx
push eax
call fcn.00406690
lea edx, [ebx - 0x10]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41be75
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x540]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41be8f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x548]
cmp dword [eax - 0xc], 0
je 0x41bf1a
lea ecx, [eax - 0x10]
call fcn.00407630
push ecx
mov ecx, eax
mov dword [ebp - 0x53c], eax
mov ebx, esp
call fcn.00407630
add eax, 0x10
push ecx
mov dword [ebx], eax
mov ebx, esp
call fcn.00401640
mov ecx, eax
test ecx, ecx
je 0x41c269
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, ebx
push str.URL_API_ROOT
mov dword [ebx], eax
call fcn.00407020
test al, al
jne 0x41bef2
push 0xc
push str.URL_API_ROOT
mov ecx, ebx
call fcn.004076f0
lea ecx, [ebp - 0x4e0]
call fcn.00425b20
mov edx, dword [ebp - 0x53c]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41bf1a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x54c]
cmp dword [eax - 0xc], 0
je 0x41bf8a
lea ecx, [eax - 0x10]
call fcn.00407630
mov ecx, eax
mov dword [ebp - 0x540], eax
call fcn.00407630
lea ecx, [ebp - 0x4d0]
lea ebx, [eax + 0x10]
lea eax, [ebp - 0x53c]
mov dword [ebp - 0x53c], ebx
push eax
call fcn.00406690
lea edx, [ebx - 0x10]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41bf70
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x540]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41bf8a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [edi - 0xc], 0
je 0x41bff4
lea ecx, [edi - 0x10]
call fcn.00407630
mov ecx, eax
mov dword [ebp - 0x540], eax
call fcn.00407630
lea ecx, [ebp - 0x4c0]
lea ebx, [eax + 0x10]
lea eax, [ebp - 0x53c]
mov dword [ebp - 0x53c], ebx
push eax
call fcn.00406690
lea edx, [ebx - 0x10]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41bfda
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x540]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41bff4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp dword [esi - 0xc], 0
je 0x41c05e
lea ecx, [esi - 0x10]
call fcn.00407630
mov ecx, eax
mov dword [ebp - 0x540], eax
call fcn.00407630
lea ecx, [ebp - 0x480]
lea ebx, [eax + 0x10]
lea eax, [ebp - 0x53c]
mov dword [ebp - 0x53c], ebx
push eax
call fcn.00406690
lea edx, [ebx - 0x10]
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c044
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x540]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c05e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x544]
push eax
call fcn.0041f3f0
mov eax, dword [ebp - 0x544]
cmp dword [eax - 0xc], 0
je 0x41c088
lea eax, [ebp - 0x544]
push eax
lea ecx, [ebp - 0x538]
call fcn.0041f650
push ecx
lea ecx, [ebp - 0x538]
call fcn.00417ce0
mov edx, dword [ebp - 0x544]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c0b1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x538]
call fcn.0041f250
mov ebx, dword [0x493fec]
test ebx, ebx
je 0x41c0f3
cmp dword [ebx], 0
je 0x41c0f3
nop dword [eax + eax]
mov ecx, dword [ebx + 0x10]
test ecx, ecx
je 0x41c0dd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebx + 0x20]
push 0
mov dword [ebx + 0x10], 0
call eax
add ebx, 0x24
cmp dword [ebx], 0
jne 0x41c0d0
mov ebx, dword [0x491bf4]
mov ecx, dword [0x491bf8]
cmp ebx, ecx
jae 0x41c11d
mov eax, dword [ebx]
test eax, eax
je 0x41c116
mov eax, dword [eax + 0x1c]
push 0
call eax
mov ecx, dword [0x491bf8]
add ebx, 4
cmp ebx, ecx
jb 0x41c103
mov ecx, 0x493fc0
call fcn.0041b4e0
or ebx, 0xffffffff
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x41c141
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x548]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c15e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x41c175
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x54c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c192
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x550]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c1af
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x554]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c1cc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x558]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x41c1e9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x55c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x41c204
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 4]
xor eax, eax
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043c397
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.004012a0
push 0x80004005
call fcn.004012a0
push 0x80004005
call fcn.004012a0
push 0x80004005
call fcn.004012a0
push 0x80004005
call fcn.004012a0
push 0x80004005
call fcn.004012a0
push 0x80004005
call fcn.004012a0
push 0x80004005
call fcn.004012a0
push 0x80004005
call fcn.004012a0
int3