Function at 0x45c440
Capabilities:
Accept command line arguments
Check if file exists
Create thread
Delete registry value
Get file attributes
Initialize winhttp library

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
lea ecx, [ebp - 0x88]
push 0xffffffffffffffff
push 0x57d570
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push esi
push edi
call fcn.00468af0
push ecx
mov edx, 2
call fcn.0045e000
add esp, 4
or ebx, 0xffffffff
test al, al
je 0x45c519
mov dword [ebp - 4], 0
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x54], eax
call fcn.0045bd00
mov esi, dword [ebp - 0x54]
test al, al
je 0x45c4f6
push esi
call fcn.0055620f
add esp, 4
cmp eax, 0x55f0
jl 0x45c4d4
mov dword [0x5cc644], 4
jmp 0x45c500
push esi
call fcn.0055620f
xor ecx, ecx
add esp, 4
cmp eax, 0x2800
setge cl
lea ecx, [ecx*2 + 1]
mov dword [0x5cc644], ecx
jmp 0x45c500
mov dword [0x5cc644], 5
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x45c539
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45c539
push ecx
mov edx, 1
call fcn.0045e000
xor edx, edx
add esp, 4
test al, al
mov ecx, 5
cmovne ecx, edx
mov dword [0x5cc644], ecx
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x20]
push str.TDNPlZDxB5IAA59UDs
mov dword [ebp - 0x20], eax
call fcn.0042f410
test al, al
jne 0x45c573
push 0x13
push str.TDNPlZDxB5IAA59UDs
lea ecx, [ebp - 0x20]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x44]
push str.N2cwEUFQPDUT5Z8Alw
mov dword [ebp - 0x44], eax
call fcn.0042f410
test al, al
jne 0x45c5ad
push 0x13
push str.N2cwEUFQPDUT5Z8Alw
lea ecx, [ebp - 0x44]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x74]
push str.bmh29OQoNNEFgb7BAI
mov dword [ebp - 0x74], eax
call fcn.0042f410
test al, al
jne 0x45c5e7
push 0x13
push str.bmh29OQoNNEFgb7BAI
lea ecx, [ebp - 0x74]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x70]
push str.Uk1tSeDspJUFVj
mov dword [ebp - 0x70], eax
call fcn.0042f410
test al, al
jne 0x45c621
push 0xe
push str.Uk1tSeDspJUFVj
lea ecx, [ebp - 0x70]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x6c]
push str.MzRFPZ1pQceEoB
mov dword [ebp - 0x6c], eax
call fcn.0042f410
test al, al
jne 0x45c65b
push 0xe
push str.MzRFPZ1pQceEoB
lea ecx, [ebp - 0x6c]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x60]
push str.NWFDlN1wFYfhoG
mov dword [ebp - 0x60], eax
call fcn.0042f410
test al, al
jne 0x45c695
push 0xe
push str.NWFDlN1wFYfhoG
lea ecx, [ebp - 0x60]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x68]
push str.V1lVUThs2CNi87
mov dword [ebp - 0x68], eax
call fcn.0042f410
test al, al
jne 0x45c6cf
push 0xe
push str.V1lVUThs2CNi87
lea ecx, [ebp - 0x68]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x54]
push str.ODI20WFlRyQjFO9Vw
mov dword [ebp - 0x54], eax
call fcn.0042f410
test al, al
jne 0x45c709
push 0x13
push str.ODI20WFlRyQjFO9Vw
lea ecx, [ebp - 0x54]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x84]
push str.ZFlRUbEsrSNB8QhOCMY
mov dword [ebp - 0x84], eax
call fcn.0042f410
test al, al
jne 0x45c74c
push 0x13
push str.ZFlRUbEsrSNB8QhOCMY
lea ecx, [ebp - 0x84]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x80]
push str.clBDTdgE4gLAE_
mov dword [ebp - 0x80], eax
call fcn.0042f410
test al, al
jne 0x45c786
push 0xe
push str.clBDTdgE4gLAE_
lea ecx, [ebp - 0x80]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push str.a0R4DZT0haChYC9KxY
mov dword [ebp - 0x24], eax
call fcn.0042f410
test al, al
jne 0x45c7c0
push 0x13
push str.a0R4DZT0haChYC9KxY
lea ecx, [ebp - 0x24]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x64]
push str.a1R1NVjsXANCYb7BwE5nGTE
mov dword [ebp - 0x64], eax
call fcn.0042f410
test al, al
jne 0x45c7fa
push 0x18
push str.a1R1NVjsXANCYb7BwE5nGTE
lea ecx, [ebp - 0x64]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.bVQ1CSywEGZQ8sHAHQ
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45c834
push 0x13
push str.bVQ1CSywEGZQ8sHAHQ
lea ecx, [ebp - 0x10]
call fcn.0042f740
push ecx
mov edi, esp
push ecx
mov ecx, dword [0x5cc104]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445630
mov eax, dword [ebp - 0x24]
mov edi, esp
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x5c], eax
mov esi, esp
call fcn.0042eab0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445630
add esp, 4
lea ecx, [ebp - 0x14]
mov edx, SysReAllocString
call fcn.00448730
mov esi, dword [0x5cc0e8]
add esp, 8
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x45c8e3
mov eax, dword [esi + 0xc]
lea edi, [esi + 0xc]
shr eax, 0x1f
test al, al
jne 0x45c8d5
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x45c8d5
call fcn.0042eab0
mov dword [ebp - 0x18], eax
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x45c8cb
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov dword [0x5cc0e8], eax
jmp 0x45c8e3
push dword [edx - 0xc]
mov ecx, 0x5cc0e8
push edx
call fcn.0042f740
mov edx, dword [ebp - 0x14]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45c8fd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0045ac20
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x8c], eax
mov esi, esp
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445630
add esp, 4
push dword [eax]
call fcn.00560b18
add esp, 4
mov esi, eax
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push esi
mov dword [ebp - 0x24], eax
call fcn.0042f410
test al, al
jne 0x45c989
test esi, esi
jne 0x45c963
xor ecx, ecx
jmp 0x45c97f
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45c970
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x24]
call fcn.0042f740
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45c9a3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x24]
add eax, 0xfffffff0
mov dword [ebp - 0xa0], eax
cmp dword [eax + 4], 0
jne 0x45cab3
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp + 8]
push str.c3FUgMgQWAMUYWYHyJthFgMmYXQE
mov dword [ebp + 8], eax
call fcn.0042f410
test al, al
jne 0x45c9f3
push 0x1d
push str.c3FUgMgQWAMUYWYHyJthFgMmYXQE
lea ecx, [ebp + 8]
call fcn.0042f740
push ecx
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x5cc0ec
call fcn.0042eba0
mov ecx, esi
call fcn.00445250
add esp, 0x14
mov esi, esp
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, esi
push 0x596844
mov dword [esi], eax
call fcn.0042f410
test al, al
jne 0x45ca48
push 0
push 0x596844
mov ecx, esi
call fcn.0042f740
mov eax, dword [ebp + 8]
push ecx
add eax, 0xfffffff0
mov edi, esp
push ecx
mov ecx, eax
mov dword [ebp + 8], eax
mov esi, esp
call fcn.0042eab0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445630
mov edi, dword [ebp - 0x20]
mov ebx, esp
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
call fcn.0042eab0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445630
add esp, 4
call fcn.0045b470
mov edx, dword [ebp + 8]
or ebx, 0xffffffff
add esp, 0x10
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45caab
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
or esi, 0xffffffff
jmp 0x45dc79
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.RDVwbYRFmyNTMUQZz8nEDXk1
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45caed
push 0x18
push str.RDVwbYRFmyNTMUQZz8nEDXk1
lea ecx, [ebp - 0x10]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push str.RVpCVbhE_FLx4
mov dword [ebp - 0x24], eax
call fcn.0042f410
test al, al
jne 0x45cb27
push 0xe
push str.RVpCVbhE_FLx4
lea ecx, [ebp - 0x24]
call fcn.0042f740
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x38], eax
mov esi, esp
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445630
add esp, 4
push dword [eax]
call fcn.00560b18
mov edx, eax
add esp, 4
test edx, edx
jne 0x45cb5e
xor ecx, ecx
jmp 0x45cb72
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45cb63
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x5cc0e4
call fcn.0042f740
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45cb98
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5cc0e4]
mov edi, dword [eax - 0xc]
lea esi, [edi + 1]
test esi, esi
js 0x45de12
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x45cbcc
push esi
mov ecx, 0x5cc0e4
call fcn.0042f6a0
mov eax, dword [0x5cc0e4]
mov ecx, 0x5c
mov word [eax + edi*2], cx
mov eax, dword [0x5cc0e4]
cmp esi, dword [eax - 8]
jg 0x45de12
mov dword [eax - 0xc], esi
xor ecx, ecx
mov eax, dword [0x5cc0e4]
push ecx
mov word [eax + esi*2], cx
mov esi, esp
mov eax, dword [ebp - 0x64]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x28], eax
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445630
add esp, 4
mov ecx, 0x5cc0e4
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0042dea0
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45cc3e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [0x5cc0e4]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x45cdc3
test al, 0x10
je 0x45cdc3
push 0x596830
mov edx, 0x5cc0e4
lea ecx, [ebp - 0x14]
call fcn.0041fd00
mov ecx, dword [ebp - 0x24]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445630
add esp, 4
lea ecx, [ebp - 0x14]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0042dea0
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ccb2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de26
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.QmJOWUSYN3OT8uLDS81
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45ccec
push 0x13
push str.QmJOWUSYN3OT8uLDS81
lea ecx, [ebp - 0x10]
call fcn.0042f740
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x10], eax
mov esi, esp
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445630
mov ecx, dword [0x5cc0e4]
mov edi, eax
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.0045ba90
mov edx, dword [ebp - 0x18]
add esp, 4
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45cd45
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor edi, edi
cmp edi, 5
jge 0x45cd92
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x45cd92
test al, 0x10
je 0x45cd92
push ecx
mov ecx, dword [ebp - 0x14]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
mov dword [esi], eax
call fcn.0045c040
add esp, 4
test eax, eax
jne 0x45cd92
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0x1388
mov dword [ebp - 0x2c], eax
call fcn.0042da20
inc edi
jmp 0x45cd47
mov edx, dword [ebp - 0x10]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45cda9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45cdc3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push str.V3FFFUCcS4JCAnMXzYkVOAMg
mov dword [ebp - 0x14], eax
call fcn.0042f410
test al, al
jne 0x45cdfd
push 0x18
push str.V3FFFUCcS4JCAnMXzYkVOAMg
lea ecx, [ebp - 0x14]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.bFhXdNkMoxPk4JjNHlRhBT4
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45ce37
push 0x18
push str.bFhXdNkMoxPk4JjNHlRhBT4
lea ecx, [ebp - 0x10]
call fcn.0042f740
push ecx
mov ecx, dword [0x5cc0bc]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445630
add esp, 4
push dword [eax]
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edx, dword [ebp - 0x18]
mov dword [0x5cbe78], eax
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ce85
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x90
call fcn.0054fad4
mov edi, eax
mov esi, esp
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x9c], eax
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.00445630
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x58]
mov dword [esi], eax
call fcn.00445630
add esp, 4
mov esi, eax
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de30
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push 0x5cc848
mov dword [ebp - 0x14], eax
call fcn.0042f410
test al, al
jne 0x45cf2d
mov ecx, 0x5cc848
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45cf10
sub ecx, edx
sar ecx, 1
push ecx
push 0x5cc848
lea ecx, [ebp - 0x14]
call fcn.0042f740
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push esi
push ecx
push eax
mov ecx, edi
call fcn.00445cc0
mov edx, dword [ebp - 0x14]
mov dword [0x5cbab4], eax
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45cf5c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45cf76
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45cf90
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5cbab4]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x3c], eax
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.NURw0V2ItiHh9htECB3QBGpA
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45cfd9
push 0x18
push str.NURw0V2ItiHh9htECB3QBGpA
lea ecx, [ebp - 0x10]
call fcn.0042f740
mov edi, dword [ebp - 0x10]
push 0
push 0
push 0
push 0
push ecx
add edi, 0xfffffff0
mov esi, esp
mov ecx, edi
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x10]
mov dword [esi], eax
call fcn.00445630
add esp, 4
push dword [eax]
call dword [sym.imp.WINHTTP.dll_WinHttpOpen]
mov esi, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x10]
add edx, 0xfffffff0
mov dword [esi + 0x80], eax
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d02c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi + 0x80]
test eax, eax
jne 0x45d04c
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x45d093
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45d093
push 0x2710
push 0x2710
push 0x2710
push 0x2710
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
test eax, eax
mov eax, ebx
je 0x45d038
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x45d07f
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0x45ba80
call fcn.0055b0ca
add esp, 0xc
mov dword [ebp - 0x18], eax
call fcn.0045af20
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x94]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
mov dword [ebp - 0x48], esi
mov dword [ebp - 4], 1
call fcn.0042f1a0
test eax, eax
je 0x45de1c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov dword [ebp - 4], 0xffffffff
cmp dword [ebp - 0x94], 2
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x90], eax
jl 0x45d1cd
mov esi, dword [esi + 4]
push ecx
mov dword [ebp - 0x3c], esp
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebp - 0x3c]
add eax, 0x10
push esi
mov dword [ecx], eax
call fcn.0042f410
test al, al
jne 0x45d13f
test esi, esi
jne 0x45d121
xor ecx, ecx
jmp 0x45d135
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45d126
sub ecx, edx
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0x3c]
push esi
call fcn.0042f740
call fcn.00447990
add esp, 4
push ecx
mov esi, esp
cmp eax, 0x628374a0
je 0x45d1d5
sub esp, 0x18
mov ecx, esp
push 0x5cc0ec
call fcn.0042eba0
mov ecx, esi
call fcn.00445250
add esp, 0x14
mov ebx, esp
push ecx
mov ecx, dword [ebp - 0x70]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445630
mov ebx, esp
push ecx
mov ecx, dword [ebp - 0x44]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445630
mov ebx, esp
push ecx
lea ecx, [edi - 0x10]
mov esi, esp
call fcn.0042eab0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445630
add esp, 4
call fcn.0045b470
add esp, 0x10
or ebx, 0xffffffff
or esi, 0xffffffff
jmp 0x45dbfd
cmp dword [ebp - 0x94], 3
jge 0x45d25f
sub esp, 0x18
mov ecx, esp
push 0x5cc0ec
call fcn.0042eba0
mov ecx, esi
call fcn.00445250
add esp, 0x14
mov edi, esp
push ecx
mov ecx, dword [ebp - 0x60]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445630
mov edi, esp
push ecx
mov ecx, dword [ebp - 0x44]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445630
mov edi, dword [ebp - 0x20]
mov ebx, esp
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
call fcn.0042eab0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445630
add esp, 4
call fcn.0045b470
add esp, 0x10
jmp 0x45d6d8
mov ecx, dword [ebp - 0x74]
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.00445630
mov edi, dword [ebp - 0x48]
add esp, 4
mov eax, dword [eax]
mov ecx, dword [edi + 8]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45d2a8
test dx, dx
je 0x45d2a4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45d2a8
add eax, 4
add ecx, 4
test dx, dx
jne 0x45d282
xor esi, esi
jmp 0x45d2ad
sbb esi, esi
or esi, 1
mov edx, dword [ebp - 0x40]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d2c7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x45d575
mov dword [ebp - 4], 2
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 4], 0xffffffff
push ecx
mov dword [ebp - 0x10], eax
mov esi, esp
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, esi
push 0x5cc848
mov dword [esi], eax
call fcn.0042f410
test al, al
jne 0x45d34c
mov ecx, 0x5cc848
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45d330
sub ecx, edx
sar ecx, 1
push ecx
push 0x5cc848
mov ecx, esi
call fcn.0042f740
call fcn.00447990
mov esi, esp
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, esi
push 0x5cc848
mov dword [esi], eax
call fcn.0042f410
test al, al
jne 0x45d3a0
mov ecx, 0x5cc848
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45d384
sub ecx, edx
sar ecx, 1
push ecx
push 0x5cc848
mov ecx, esi
call fcn.0042f740
call fcn.00447990
add esp, 4
push eax
lea eax, [ebp - 0x10]
push 0x59ec38
push eax
call fcn.00421ac0
mov esi, dword [ebp - 0x10]
add esp, 0xc
mov ecx, dword [edi + 8]
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x45d3e8
test dx, dx
je 0x45d3e4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45d3e8
add eax, 4
add ecx, 4
test dx, dx
jne 0x45d3c2
xor eax, eax
jmp 0x45d3ed
sbb eax, eax
or eax, 1
mov edi, dword [ebp - 0x20]
test eax, eax
je 0x45d55a
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x20]
push 0x596844
mov dword [ebp - 0x20], eax
call fcn.0042f410
test al, al
jne 0x45d432
push 0
push 0x596844
lea ecx, [ebp - 0x20]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push 0x596844
mov dword [ebp - 0x14], eax
call fcn.0042f410
test al, al
jne 0x45d46c
push 0
push 0x596844
lea ecx, [ebp - 0x14]
call fcn.0042f740
push ecx
mov ecx, dword [ebp - 0x6c]
mov ebx, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [ebx], eax
call fcn.00445630
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [ebx], eax
call fcn.00445630
lea ecx, [edi - 0x10]
mov dword [ebp - 0x58], eax
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x10]
mov dword [ebx], eax
call fcn.00445630
mov edx, dword [ebp - 0x58]
lea ecx, [ebp - 0x20]
add esp, 4
push ecx
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp - 0x40]
mov ecx, eax
call fcn.0045b100
mov edx, dword [ebp - 0x10]
or ebx, 0xffffffff
add esp, 0xc
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d4f2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d50c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d526
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d540
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x20]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d55a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x45d6d8
mov ecx, dword [esi]
push esi
jmp 0x45d6d3
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push 0x596844
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45d5af
push 0
push 0x596844
lea ecx, [ebp - 0x10]
call fcn.0042f740
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push 0x596844
mov dword [ebp - 0x14], eax
call fcn.0042f410
test al, al
jne 0x45d5e9
push 0
push 0x596844
lea ecx, [ebp - 0x14]
call fcn.0042f740
push ecx
mov ecx, dword [ebp - 0x60]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x58]
mov dword [esi], eax
call fcn.00445630
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.00445630
mov edi, dword [ebp - 0x20]
mov ebx, eax
lea ecx, [edi - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [esi], eax
call fcn.00445630
add esp, 4
lea ecx, [ebp - 0x10]
mov edx, ebx
push ecx
lea ecx, [ebp - 0x14]
push ecx
push dword [ebp - 0x1c]
mov ecx, eax
call fcn.0045b100
mov edx, dword [ebp - 0x4c]
or ebx, 0xffffffff
add esp, 0xc
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d670
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x40]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d68a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x58]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d6a4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d6be
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d6d8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x48]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push ecx
mov ecx, dword [ebp - 0x28]
mov esi, esp
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [esi], eax
call fcn.00445630
add esp, 4
lea ecx, [ebp - 0x10]
mov ebx, eax
push 0x5a0904
call fcn.0042e150
lea eax, [ebp - 0x10]
push eax
push ecx
mov ecx, dword [ebp - 0x68]
mov esi, esp
add ecx, 0xfffffff0
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [esi], eax
call fcn.00445630
add esp, 4
lea ecx, [ebp - 0x28]
mov edx, eax
call fcn.0041fdc0
add esp, 4
lea ecx, [ebp - 0x7c]
mov edx, eax
push ebx
call fcn.0041fdc0
mov edx, dword [ebp - 0x28]
or ebx, 0xffffffff
add esp, 4
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d765
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x1c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d77f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x10]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d799
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d7b3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [ebp - 0x7c]
push 1
push 0x1f0003
call dword [sym.imp.KERNEL32.dll_OpenEventW]
mov esi, eax
call fcn.0042f1a0
test eax, eax
je 0x45de1c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push 0x5a0908
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45d7ff
push 0x1d
push 0x5a0908
lea ecx, [ebp - 0x10]
call fcn.0042f740
test esi, esi
mov esi, dword [ebp - 0x10]
je 0x45d8f1
cmp dword [ebp - 0x50], 2
je 0x45d8f1
call fcn.0042f1a0
test eax, eax
je 0x45de1c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp + 8]
push str.MjVmRRWJ2HRgRC8RUYW5RloUsIBJcxFWVH7RUYkcXFFG7N0dbxCCxcWUkpluUVkPIJlkVhCSsSOQQ4gDEmYSzJEBBaRgdHUQRIqWXA
mov dword [ebp + 8], eax
call fcn.0042f410
test al, al
jne 0x45d84e
push 0x68
push str.MjVmRRWJ2HRgRC8RUYW5RloUsIBJcxFWVH7RUYkcXFFG7N0dbxCCxcWUkpluUVkPIJlkVhCSsSOQQ4gDEmYSzJEBBaRgdHUQRIqWXA
lea ecx, [ebp + 8]
call fcn.0042f740
push ecx
lea ecx, [esi - 0x10]
mov ebx, esp
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [ebx], eax
call fcn.00445630
mov eax, dword [eax]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp + 8], eax
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [ebx], eax
call fcn.00445630
add esp, 4
push 0x40
push dword [ebp - 0x28]
push dword [eax]
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov edx, dword [ebp - 0x1c]
or ebx, 0xffffffff
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d8b7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x4c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45d8d1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp + 8]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dbca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45dbca
push dword [ebp - 0x7c]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
call fcn.0042f1a0
mov ecx, eax
test ecx, ecx
je 0x45de1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.ZlpQQVzQf5Awgl7FQUZcMg
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45d93a
push 0x18
push str.ZlpQQVzQf5Awgl7FQUZcMg
lea ecx, [ebp - 0x10]
call fcn.0042f740
push ecx
mov dword [ebp - 0x28], esp
push ecx
mov ecx, dword [0x5cc104]
mov ebx, esp
mov dword [ebp - 0x78], 0
lea ecx, [ecx - 0x10]
call fcn.0042eab0
mov ecx, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebx], eax
call fcn.00445630
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov dword [ebp - 0x28], esp
push ecx
mov ecx, eax
mov dword [ebp - 0x10], eax
mov ebx, esp
call fcn.0042eab0
mov ecx, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebx], eax
call fcn.00445630
add esp, 4
lea ecx, [ebp - 0x78]
mov edx, SysReAllocString
call fcn.004489b0
add esp, 8
test al, al
je 0x45da3b
push ecx
mov ecx, dword [0x5cc104]
mov ebx, esp
lea ecx, [ecx - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x48]
mov dword [ebx], eax
call fcn.00445630
mov ecx, dword [ebp - 0x10]
call fcn.0042eab0
add eax, 0x10
lea ecx, [ebp - 0x50]
mov dword [ebx], eax
call fcn.00445630
add esp, 4
lea eax, [ebp - 0x3c]
push eax
push dword [ebp - 0x48]
push SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x45da02
push dword [ebp - 0x50]
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov edx, dword [ebp - 0x50]
or ebx, 0xffffffff
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45da1f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x48]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45da3e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45da3e
or ebx, 0xffffffff
mov edx, dword [ebp - 0x10]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45da55
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb0], 1
push eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0xac], 0
push eax
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
call dword [sym.imp.gdiplus.dll_GdiplusStartup]
push 0x178
call fcn.0054fad4
mov ecx, dword [ebp - 0x88]
mov ebx, esp
mov dword [ebp - 0x1c], eax
add ecx, 0xfffffff0
mov eax, dword [0x5cc644]
mov dword [ebp - 0x28], eax
call fcn.0042eab0
push dword [ebp - 0x28]
add eax, 0x10
push ecx
mov dword [ebx], eax
mov ebx, esp
mov ecx, dword [0x5cc0e8]
add ecx, 0xfffffff0
call fcn.0042eab0
add eax, 0x10
push ecx
mov dword [ebx], eax
mov ebx, esp
mov ecx, dword [0x5cc0e4]
add ecx, 0xfffffff0
call fcn.0042eab0
add eax, 0x10
push ecx
mov dword [ebx], eax
mov ebx, esp
call fcn.0042f1a0
test eax, eax
je 0x45de1c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov ecx, ebx
push 0x5cc848
mov dword [ebx], eax
call fcn.0042f410
test al, al
jne 0x45db3c
mov ecx, 0x5cc848
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45db20
sub ecx, edx
sar ecx, 1
push ecx
push 0x5cc848
mov ecx, ebx
call fcn.0042f740
push dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
call fcn.00418ff0
push 0
push 0
mov ecx, eax
mov dword [0x5cbe74], eax
call fcn.0041c9d0
mov eax, dword [0x5cbe78]
test eax, eax
je 0x45db6c
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x5cbe78]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x45db84
push 0x1388
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x5cbe78]
test eax, eax
je 0x45db8f
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x5cbab8
push 2
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
push dword [ebp - 0x98]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov ebx, dword [0x5cbe74]
test ebx, ebx
je 0x45dbc7
mov ecx, ebx
call fcn.004198d0
push 0x178
push ebx
call fcn.0054fb04
add esp, 8
or ebx, 0xffffffff
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x45dbe1
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x7c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dbfb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor esi, esi
mov edx, dword [ebp - 0x90]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dc17
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x9c]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dc31
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x34]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dc48
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dc62
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dc79
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xa0]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dc93
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8c]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dcad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x64]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dcc7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x5c]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dcde
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x80]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dcf8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x84]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dd15
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x54]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dd2f
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x68]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dd49
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x60]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dd63
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x6c]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dd7d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x70]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45dd97
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x74]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ddb1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x44]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ddcb
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 0x45dde2
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0x88]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x45ddfd
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x80070057
call fcn.0042f720
push 0x80004005
call fcn.0042f720
push 0x80004005
call fcn.0042f720
push 0x80004005
call fcn.0042f720
int3