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.bzczZZh9FxXAIabVEc
mov dword [ebp - 0x20], eax
call fcn.0042f410
test al, al
jne 0x45c573
push 0x13
push str.bzczZZh9FxXAIabVEc
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.WkFJDbjkpCKAA0ZJCU
mov dword [ebp - 0x44], eax
call fcn.0042f410
test al, al
jne 0x45c5ad
push 0x13
push str.WkFJDbjkpCKAA0ZJCU
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.VzdG2UzNSvIDIivWzI
mov dword [ebp - 0x74], eax
call fcn.0042f410
test al, al
jne 0x45c5e7
push 0x13
push str.VzdG2UzNSvIDIivWzI
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.bXZwVVQQSTTXhc
mov dword [ebp - 0x70], eax
call fcn.0042f410
test al, al
jne 0x45c621
push 0xe
push str.bXZwVVQQSTTXhc
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.cjRrkbhtQyVkNA
mov dword [ebp - 0x6c], eax
call fcn.0042f410
test al, al
jne 0x45c65b
push 0xe
push str.cjRrkbhtQyVkNA
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.cVhundxg8xU1pC
mov dword [ebp - 0x60], eax
call fcn.0042f410
test al, al
jne 0x45c695
push 0xe
push str.cVhundxg8xU1pC
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.OUFplMHUu9ClFV
mov dword [ebp - 0x68], eax
call fcn.0042f410
test al, al
jne 0x45c6cf
push 0xe
push str.OUFplMHUu9ClFV
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.YURWbMwAnuIloXSIQ
mov dword [ebp - 0x54], eax
call fcn.0042f410
test al, al
jne 0x45c709
push 0x13
push str.YURWbMwAnuIloXSIQ
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.TFdaBN2MlDP0Q4UNihD
mov dword [ebp - 0x84], eax
call fcn.0042f410
test al, al
jne 0x45c74c
push 0x13
push str.TFdaBN2MlDP0Q4UNihD
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.MmJ56U0EKUFiR_
mov dword [ebp - 0x80], eax
call fcn.0042f410
test al, al
jne 0x45c786
push 0xe
push str.MmJ56U0EKUFiR_
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.OEsxVOW4u4Q0pR1JF8
mov dword [ebp - 0x24], eax
call fcn.0042f410
test al, al
jne 0x45c7c0
push 0x13
push str.OEsxVOW4u4Q0pR1JF8
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.S3N13dhswNNAY7kIAEZmORY
mov dword [ebp - 0x64], eax
call fcn.0042f410
test al, al
jne 0x45c7fa
push 0x18
push str.S3N13dhswNNAY7kIAEZmORY
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.ek9F1NTsfMFXE7DGwQ
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45c834
push 0x13
push str.ek9F1NTsfMFXE7DGwQ
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.cm9hzQgUIABDYX7ARcdbFx0TXLQA
mov dword [ebp + 8], eax
call fcn.0042f410
test al, al
jne 0x45c9f3
push 0x1d
push str.cm9hzQgUIABDYX7ARcdbFx0TXLQA
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.SlhvHZx8L5KjUalCiAh8AxQq
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45caed
push 0x18
push str.SlhvHZx8L5KjUalCiAh8AxQq
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.ZmJPcdzIHPIgc
mov dword [ebp - 0x24], eax
call fcn.0042f410
test al, al
jne 0x45cb27
push 0xe
push str.ZmJPcdzIHPIgc
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.R3hpqcyMXyHh0rEFwgX
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45ccec
push 0x13
push str.R3hpqcyMXyHh0rEFwgX
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.MnlVhd0IaTNAdCxVyYDfXQsw
mov dword [ebp - 0x14], eax
call fcn.0042f410
test al, al
jne 0x45cdfd
push 0x18
push str.MnlVhd0IaTNAdCxVyYDfXQsw
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.R05trTGgxBDQiJIkMrGLig
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45ce37
push 0x18
push str.R05trTGgxBDQiJIkMrGLig
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.bDc3lVDteRWRw4bY2d0bXRkH
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45cfd9
push 0x18
push str.bDc3lVDteRWRw4bY2d0bXRkH
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.RTlk5bRV6DRCw15SUQlMVYWfCGVQTF00wASUQMSK11EwHzBXRCgQrmXkhNoJlUN0Di4ZkCwNl3TQwIcZWoQ1DDdNrRC8wRTRAChKw
mov dword [ebp + 8], eax
call fcn.0042f410
test al, al
jne 0x45d84e
push 0x68
push str.RTlk5bRV6DRCw15SUQlMVYWfCGVQTF00wASUQMSK11EwHzBXRCgQrmXkhNoJlUN0Di4ZkCwNl3TQwIcZWoQ1DDdNrRC8wRTRAChKw
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.UFA1DNgIV5ZmkTiH2B47BA
mov dword [ebp - 0x10], eax
call fcn.0042f410
test al, al
jne 0x45d93a
push 0x18
push str.UFA1DNgIV5ZmkTiH2B47BA
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