Function at 0x45a480
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 0x57b6d0
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push esi
push edi
call fcn.00466b40
push ecx
mov edx, 2
call fcn.0045c040
add esp, 4
or ebx, 0xffffffff
test al, al
je 0x45a559
mov dword [ebp - 4], 0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
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.00459d30
mov esi, dword [ebp - 0x54]
test al, al
je 0x45a536
push esi
call fcn.0055436f
add esp, 4
cmp eax, 0x55f0
jl 0x45a514
mov dword [0x5c9644], 4
jmp 0x45a540
push esi
call fcn.0055436f
xor ecx, ecx
add esp, 4
cmp eax, 0x2800
setge cl
lea ecx, [ecx*2 + 1]
mov dword [0x5c9644], ecx
jmp 0x45a540
mov dword [0x5c9644], 5
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x45a579
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45a579
push ecx
mov edx, 1
call fcn.0045c040
xor edx, edx
add esp, 4
test al, al
mov ecx, 5
cmovne ecx, edx
mov dword [0x5c9644], ecx
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x20]
push str.dkFVhUgYzAOjYDfIiE
mov dword [ebp - 0x20], eax
call fcn.0042f380
test al, al
jne 0x45a5b3
push 0x13
push str.dkFVhUgYzAOjYDfIiE
lea ecx, [ebp - 0x20]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x44]
push str.MjVCmclFdRIxxcTUC4
mov dword [ebp - 0x44], eax
call fcn.0042f380
test al, al
jne 0x45a5ed
push 0x13
push str.MjVCmclFdRIxxcTUC4
lea ecx, [ebp - 0x44]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x74]
push str.dm5UVZhIL3MgcDtAiA
mov dword [ebp - 0x74], eax
call fcn.0042f380
test al, al
jne 0x45a627
push 0x13
push str.dm5UVZhIL3MgcDtAiA
lea ecx, [ebp - 0x74]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x70]
push str.RFE03RC01cCWl1
mov dword [ebp - 0x70], eax
call fcn.0042f380
test al, al
jne 0x45a661
push 0xe
push str.RFE03RC01cCWl1
lea ecx, [ebp - 0x70]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x6c]
push str.cDdQYVBlTCbXlC
mov dword [ebp - 0x6c], eax
call fcn.0042f380
test al, al
jne 0x45a69b
push 0xe
push str.cDdQYVBlTCbXlC
lea ecx, [ebp - 0x6c]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x60]
push str.RDI2PYS1WsC0x3
mov dword [ebp - 0x60], eax
call fcn.0042f380
test al, al
jne 0x45a6d5
push 0xe
push str.RDI2PYS1WsC0x3
lea ecx, [ebp - 0x60]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x68]
push str.Ylhazdi43FORcO
mov dword [ebp - 0x68], eax
call fcn.0042f380
test al, al
jne 0x45a70f
push 0xe
push str.Ylhazdi43FORcO
lea ecx, [ebp - 0x68]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x54]
push str.QVZTWeCA1kJxE39Mw
mov dword [ebp - 0x54], eax
call fcn.0042f380
test al, al
jne 0x45a749
push 0x13
push str.QVZTWeCA1kJxE39Mw
lea ecx, [ebp - 0x54]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x84]
push str.QWhZ1R24a4PDQ1ZCSsz
mov dword [ebp - 0x84], eax
call fcn.0042f380
test al, al
jne 0x45a78c
push 0x13
push str.QWhZ1R24a4PDQ1ZCSsz
lea ecx, [ebp - 0x84]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x80]
push str.ZVIwFMhY6OX0Uo
mov dword [ebp - 0x80], eax
call fcn.0042f380
test al, al
jne 0x45a7c6
push 0xe
push str.ZVIwFMhY6OX0Uo
lea ecx, [ebp - 0x80]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push str.S0J28dx0nOBAQiNLRg
mov dword [ebp - 0x24], eax
call fcn.0042f380
test al, al
jne 0x45a800
push 0x13
push str.S0J28dx0nOBAQiNLRg
lea ecx, [ebp - 0x24]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x64]
push str.SGdoAYxgkIOxc6BAg
mov dword [ebp - 0x64], eax
call fcn.0042f380
test al, al
jne 0x45a83a
push 0x13
push str.SGdoAYxgkIOxc6BAg
lea ecx, [ebp - 0x64]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.WjNtZMRtjMPXUbjZyw
mov dword [ebp - 0x10], eax
call fcn.0042f380
test al, al
jne 0x45a874
push 0x13
push str.WjNtZMRtjMPXUbjZyw
lea ecx, [ebp - 0x10]
call fcn.0042f6b0
push ecx
mov edi, esp
push ecx
mov ecx, dword [0x5c9104]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004455a0
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.0042ea10
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004455a0
add esp, 4
lea ecx, [ebp - 0x14]
mov edx, SysReAllocString
call fcn.004486a0
mov esi, dword [0x5c90e8]
add esp, 8
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x45a923
mov eax, dword [esi + 0xc]
lea edi, [esi + 0xc]
shr eax, 0x1f
test al, al
jne 0x45a915
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x45a915
call fcn.0042ea10
mov dword [ebp - 0x18], eax
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x45a90b
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x18]
add eax, 0x10
mov dword [0x5c90e8], eax
jmp 0x45a923
push dword [edx - 0xc]
mov ecx, 0x5c90e8
push edx
call fcn.0042f6b0
mov edx, dword [ebp - 0x14]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45a93d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00458c50
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x8c], eax
mov esi, esp
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.004455a0
add esp, 4
push dword [eax]
call fcn.0055ec78
add esp, 4
mov esi, eax
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push esi
mov dword [ebp - 0x24], eax
call fcn.0042f380
test al, al
jne 0x45a9c9
test esi, esi
jne 0x45a9a3
xor ecx, ecx
jmp 0x45a9bf
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45a9b0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x24]
call fcn.0042f6b0
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45a9e3
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 0x45aaf3
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp + 8]
push str.TG04DRTsKOXTEplA04anKR9KeKj4
mov dword [ebp + 8], eax
call fcn.0042f380
test al, al
jne 0x45aa33
push 0x1d
push str.TG04DRTsKOXTEplA04anKR9KeKj4
lea ecx, [ebp + 8]
call fcn.0042f6b0
push ecx
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x5c90ec
call fcn.0042eb20
mov ecx, esi
call fcn.004451c0
add esp, 0x14
mov esi, esp
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, esi
push 0x594824
mov dword [esi], eax
call fcn.0042f380
test al, al
jne 0x45aa88
push 0
push 0x594824
mov ecx, esi
call fcn.0042f6b0
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.0042ea10
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004455a0
mov edi, dword [ebp - 0x20]
mov ebx, esp
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
call fcn.0042ea10
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.004455a0
add esp, 4
call fcn.004594a0
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 0x45aaeb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
or esi, 0xffffffff
jmp 0x45bcb9
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.ck1jqMyce6JmEi8Hyx16OwEm
mov dword [ebp - 0x10], eax
call fcn.0042f380
test al, al
jne 0x45ab2d
push 0x18
push str.ck1jqMyce6JmEi8Hyx16OwEm
lea ecx, [ebp - 0x10]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push str.VGUwLRwAAeXTc
mov dword [ebp - 0x24], eax
call fcn.0042f380
test al, al
jne 0x45ab67
push 0xe
push str.VGUwLRwAAeXTc
lea ecx, [ebp - 0x24]
call fcn.0042f6b0
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x38], eax
mov esi, esp
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.004455a0
add esp, 4
push dword [eax]
call fcn.0055ec78
mov edx, eax
add esp, 4
test edx, edx
jne 0x45ab9e
xor ecx, ecx
jmp 0x45abb2
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45aba3
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x5c90e4
call fcn.0042f6b0
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45abd8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5c90e4]
mov edi, dword [eax - 0xc]
lea esi, [edi + 1]
test esi, esi
js 0x45be52
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x45ac0c
push esi
mov ecx, 0x5c90e4
call fcn.0042f610
mov eax, dword [0x5c90e4]
mov ecx, 0x5c
mov word [eax + edi*2], cx
mov eax, dword [0x5c90e4]
cmp esi, dword [eax - 8]
jg 0x45be52
mov dword [eax - 0xc], esi
xor ecx, ecx
mov eax, dword [0x5c90e4]
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.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.004455a0
add esp, 4
mov ecx, 0x5c90e4
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0042de00
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ac7e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [0x5c90e4]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x45ae03
test al, 0x10
je 0x45ae03
push 0x594810
mov edx, 0x5c90e4
lea ecx, [ebp - 0x14]
call fcn.0041fc50
mov ecx, dword [ebp - 0x24]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.004455a0
add esp, 4
lea ecx, [ebp - 0x14]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0042de00
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45acf2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be66
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.TjVo1cipamHxwiyWgkW
mov dword [ebp - 0x10], eax
call fcn.0042f380
test al, al
jne 0x45ad2c
push 0x13
push str.TjVo1cipamHxwiyWgkW
lea ecx, [ebp - 0x10]
call fcn.0042f6b0
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x10], eax
mov esi, esp
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.004455a0
mov ecx, dword [0x5c90e4]
mov edi, eax
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00459ac0
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 0x45ad85
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor edi, edi
cmp edi, 5
jge 0x45add2
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x45add2
test al, 0x10
je 0x45add2
push ecx
mov ecx, dword [ebp - 0x14]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
mov dword [esi], eax
call fcn.0045a070
add esp, 4
test eax, eax
jne 0x45add2
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0x1388
mov dword [ebp - 0x2c], eax
call fcn.0042d980
inc edi
jmp 0x45ad87
mov edx, dword [ebp - 0x10]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ade9
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 0x45ae03
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push str.b1U01Vh828VSYfIe0ci1ACdR
mov dword [ebp - 0x14], eax
call fcn.0042f380
test al, al
jne 0x45ae3d
push 0x18
push str.b1U01Vh828VSYfIe0ci1ACdR
lea ecx, [ebp - 0x14]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.QjBJYeG1AbIAAnwXGcftK1Y
mov dword [ebp - 0x10], eax
call fcn.0042f380
test al, al
jne 0x45ae77
push 0x18
push str.QjBJYeG1AbIAAnwXGcftK1Y
lea ecx, [ebp - 0x10]
call fcn.0042f6b0
push ecx
mov ecx, dword [0x5c90bc]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.004455a0
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 [0x5c8e78], eax
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45aec5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x90
call fcn.0054dc34
mov edi, eax
mov esi, esp
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x9c], eax
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.004455a0
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x58]
mov dword [esi], eax
call fcn.004455a0
add esp, 4
mov esi, eax
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be70
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push 0x5c9848
mov dword [ebp - 0x14], eax
call fcn.0042f380
test al, al
jne 0x45af6d
mov ecx, 0x5c9848
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45af50
sub ecx, edx
sar ecx, 1
push ecx
push 0x5c9848
lea ecx, [ebp - 0x14]
call fcn.0042f6b0
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push esi
push ecx
push eax
mov ecx, edi
call fcn.00445c30
mov edx, dword [ebp - 0x14]
mov dword [0x5c8ab4], eax
add edx, 0xfffffff0
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45af9c
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 0x45afb6
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 0x45afd0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x5c8ab4]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x3c], eax
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.QXRoQVBYdBBhwVhIDh0xcFpY
mov dword [ebp - 0x10], eax
call fcn.0042f380
test al, al
jne 0x45b019
push 0x18
push str.QXRoQVBYdBBhwVhIDh0xcFpY
lea ecx, [ebp - 0x10]
call fcn.0042f6b0
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.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x10]
mov dword [esi], eax
call fcn.004455a0
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 0x45b06c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi + 0x80]
test eax, eax
jne 0x45b08c
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x45b0d3
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45b0d3
push 0x2710
push 0x2710
push 0x2710
push 0x2710
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
test eax, eax
mov eax, ebx
je 0x45b078
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x45b0bf
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0x459ab0
call fcn.0055922a
add esp, 0xc
mov dword [ebp - 0x18], eax
call fcn.00458f50
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.0042f110
test eax, eax
je 0x45be5c
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 0x45b20d
mov esi, dword [esi + 4]
push ecx
mov dword [ebp - 0x3c], esp
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebp - 0x3c]
add eax, 0x10
push esi
mov dword [ecx], eax
call fcn.0042f380
test al, al
jne 0x45b17f
test esi, esi
jne 0x45b161
xor ecx, ecx
jmp 0x45b175
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45b166
sub ecx, edx
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0x3c]
push esi
call fcn.0042f6b0
call fcn.00447900
add esp, 4
push ecx
mov esi, esp
cmp eax, 0x628374a0
je 0x45b215
sub esp, 0x18
mov ecx, esp
push 0x5c90ec
call fcn.0042eb20
mov ecx, esi
call fcn.004451c0
add esp, 0x14
mov ebx, esp
push ecx
mov ecx, dword [ebp - 0x70]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.004455a0
mov ebx, esp
push ecx
mov ecx, dword [ebp - 0x44]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.004455a0
mov ebx, esp
push ecx
lea ecx, [edi - 0x10]
mov esi, esp
call fcn.0042ea10
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.004455a0
add esp, 4
call fcn.004594a0
add esp, 0x10
or ebx, 0xffffffff
or esi, 0xffffffff
jmp 0x45bc3d
cmp dword [ebp - 0x94], 3
jge 0x45b29f
sub esp, 0x18
mov ecx, esp
push 0x5c90ec
call fcn.0042eb20
mov ecx, esi
call fcn.004451c0
add esp, 0x14
mov edi, esp
push ecx
mov ecx, dword [ebp - 0x60]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004455a0
mov edi, esp
push ecx
mov ecx, dword [ebp - 0x44]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004455a0
mov edi, dword [ebp - 0x20]
mov ebx, esp
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
call fcn.0042ea10
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.004455a0
add esp, 4
call fcn.004594a0
add esp, 0x10
jmp 0x45b718
mov ecx, dword [ebp - 0x74]
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.004455a0
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 0x45b2e8
test dx, dx
je 0x45b2e4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45b2e8
add eax, 4
add ecx, 4
test dx, dx
jne 0x45b2c2
xor esi, esi
jmp 0x45b2ed
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 0x45b307
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x45b5b5
mov dword [ebp - 4], 2
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
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.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, esi
push 0x5c9848
mov dword [esi], eax
call fcn.0042f380
test al, al
jne 0x45b38c
mov ecx, 0x5c9848
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45b370
sub ecx, edx
sar ecx, 1
push ecx
push 0x5c9848
mov ecx, esi
call fcn.0042f6b0
call fcn.00447900
mov esi, esp
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, esi
push 0x5c9848
mov dword [esi], eax
call fcn.0042f380
test al, al
jne 0x45b3e0
mov ecx, 0x5c9848
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45b3c4
sub ecx, edx
sar ecx, 1
push ecx
push 0x5c9848
mov ecx, esi
call fcn.0042f6b0
call fcn.00447900
add esp, 4
push eax
lea eax, [ebp - 0x10]
push 0x59cc18
push eax
call fcn.00421a10
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 0x45b428
test dx, dx
je 0x45b424
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45b428
add eax, 4
add ecx, 4
test dx, dx
jne 0x45b402
xor eax, eax
jmp 0x45b42d
sbb eax, eax
or eax, 1
mov edi, dword [ebp - 0x20]
test eax, eax
je 0x45b59a
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x20]
push 0x594824
mov dword [ebp - 0x20], eax
call fcn.0042f380
test al, al
jne 0x45b472
push 0
push 0x594824
lea ecx, [ebp - 0x20]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push 0x594824
mov dword [ebp - 0x14], eax
call fcn.0042f380
test al, al
jne 0x45b4ac
push 0
push 0x594824
lea ecx, [ebp - 0x14]
call fcn.0042f6b0
push ecx
mov ecx, dword [ebp - 0x6c]
mov ebx, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [ebx], eax
call fcn.004455a0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [ebx], eax
call fcn.004455a0
lea ecx, [edi - 0x10]
mov dword [ebp - 0x58], eax
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x10]
mov dword [ebx], eax
call fcn.004455a0
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.00459130
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 0x45b532
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 0x45b54c
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 0x45b566
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 0x45b580
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 0x45b59a
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 0x45b718
mov ecx, dword [esi]
push esi
jmp 0x45b713
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push 0x594824
mov dword [ebp - 0x10], eax
call fcn.0042f380
test al, al
jne 0x45b5ef
push 0
push 0x594824
lea ecx, [ebp - 0x10]
call fcn.0042f6b0
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push 0x594824
mov dword [ebp - 0x14], eax
call fcn.0042f380
test al, al
jne 0x45b629
push 0
push 0x594824
lea ecx, [ebp - 0x14]
call fcn.0042f6b0
push ecx
mov ecx, dword [ebp - 0x60]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x58]
mov dword [esi], eax
call fcn.004455a0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.004455a0
mov edi, dword [ebp - 0x20]
mov ebx, eax
lea ecx, [edi - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [esi], eax
call fcn.004455a0
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.00459130
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 0x45b6b0
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 0x45b6ca
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 0x45b6e4
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 0x45b6fe
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 0x45b718
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.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [esi], eax
call fcn.004455a0
add esp, 4
lea ecx, [ebp - 0x10]
mov ebx, eax
push 0x59e4b8
call fcn.0042e0b0
lea eax, [ebp - 0x10]
push eax
push ecx
mov ecx, dword [ebp - 0x68]
mov esi, esp
add ecx, 0xfffffff0
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [esi], eax
call fcn.004455a0
add esp, 4
lea ecx, [ebp - 0x28]
mov edx, eax
call fcn.0041fd10
add esp, 4
lea ecx, [ebp - 0x7c]
mov edx, eax
push ebx
call fcn.0041fd10
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 0x45b7a5
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 0x45b7bf
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 0x45b7d9
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 0x45b7f3
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.0042f110
test eax, eax
je 0x45be5c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push 0x59e4bc
mov dword [ebp - 0x10], eax
call fcn.0042f380
test al, al
jne 0x45b83f
push 0x1d
push 0x59e4bc
lea ecx, [ebp - 0x10]
call fcn.0042f6b0
test esi, esi
mov esi, dword [ebp - 0x10]
je 0x45b931
cmp dword [ebp - 0x50], 2
je 0x45b931
call fcn.0042f110
test eax, eax
je 0x45be5c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp + 8]
push str.ZFBhtaTQT7QSgUtIEE6zED8TJDEQ5gEkkR8IEEITCjRBgGxEMDwAKzN01JHBzwIGCg9wnDgdE4JAkMkRAMV9CBYkJQSsRuJBUG0Cg
mov dword [ebp + 8], eax
call fcn.0042f380
test al, al
jne 0x45b88e
push 0x68
push str.ZFBhtaTQT7QSgUtIEE6zED8TJDEQ5gEkkR8IEEITCjRBgGxEMDwAKzN01JHBzwIGCg9wnDgdE4JAkMkRAMV9CBYkJQSsRuJBUG0Cg
lea ecx, [ebp + 8]
call fcn.0042f6b0
push ecx
lea ecx, [esi - 0x10]
mov ebx, esp
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [ebx], eax
call fcn.004455a0
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.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [ebx], eax
call fcn.004455a0
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 0x45b8f7
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 0x45b911
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 0x45bc0a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45bc0a
push dword [ebp - 0x7c]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
call fcn.0042f110
mov ecx, eax
test ecx, ecx
je 0x45be5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.WExPmRwoJ5HBgbiAxoJHDA
mov dword [ebp - 0x10], eax
call fcn.0042f380
test al, al
jne 0x45b97a
push 0x18
push str.WExPmRwoJ5HBgbiAxoJHDA
lea ecx, [ebp - 0x10]
call fcn.0042f6b0
push ecx
mov dword [ebp - 0x28], esp
push ecx
mov ecx, dword [0x5c9104]
mov ebx, esp
mov dword [ebp - 0x78], 0
lea ecx, [ecx - 0x10]
call fcn.0042ea10
mov ecx, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebx], eax
call fcn.004455a0
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.0042ea10
mov ecx, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebx], eax
call fcn.004455a0
add esp, 4
lea ecx, [ebp - 0x78]
mov edx, SysReAllocString
call fcn.00448920
add esp, 8
test al, al
je 0x45ba7b
push ecx
mov ecx, dword [0x5c9104]
mov ebx, esp
lea ecx, [ecx - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x48]
mov dword [ebx], eax
call fcn.004455a0
mov ecx, dword [ebp - 0x10]
call fcn.0042ea10
add eax, 0x10
lea ecx, [ebp - 0x50]
mov dword [ebx], eax
call fcn.004455a0
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 0x45ba42
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 0x45ba5f
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 0x45ba7e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45ba7e
or ebx, 0xffffffff
mov edx, dword [ebp - 0x10]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ba95
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.0054dc34
mov ecx, dword [ebp - 0x88]
mov ebx, esp
mov dword [ebp - 0x1c], eax
add ecx, 0xfffffff0
mov eax, dword [0x5c9644]
mov dword [ebp - 0x28], eax
call fcn.0042ea10
push dword [ebp - 0x28]
add eax, 0x10
push ecx
mov dword [ebx], eax
mov ebx, esp
mov ecx, dword [0x5c90e8]
add ecx, 0xfffffff0
call fcn.0042ea10
add eax, 0x10
push ecx
mov dword [ebx], eax
mov ebx, esp
mov ecx, dword [0x5c90e4]
add ecx, 0xfffffff0
call fcn.0042ea10
add eax, 0x10
push ecx
mov dword [ebx], eax
mov ebx, esp
call fcn.0042f110
test eax, eax
je 0x45be5c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov ecx, ebx
push 0x5c9848
mov dword [ebx], eax
call fcn.0042f380
test al, al
jne 0x45bb7c
mov ecx, 0x5c9848
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45bb60
sub ecx, edx
sar ecx, 1
push ecx
push 0x5c9848
mov ecx, ebx
call fcn.0042f6b0
push dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
call fcn.00418f60
push 0
push 0
mov ecx, eax
mov dword [0x5c8e74], eax
call fcn.0041c920
mov eax, dword [0x5c8e78]
test eax, eax
je 0x45bbac
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x5c8e78]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x45bbc4
push 0x1388
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x5c8e78]
test eax, eax
je 0x45bbcf
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x5c8ab8
push 2
call dword [sym.imp.SHELL32.dll_Shell_NotifyIconW]
push dword [ebp - 0x98]
call dword [sym.imp.gdiplus.dll_GdiplusShutdown]
mov ebx, dword [0x5c8e74]
test ebx, ebx
je 0x45bc07
mov ecx, ebx
call fcn.00419840
push 0x178
push ebx
call fcn.0054dc64
add esp, 8
or ebx, 0xffffffff
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x45bc21
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 0x45bc3b
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 0x45bc57
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 0x45bc71
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 0x45bc88
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 0x45bca2
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 0x45bcb9
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 0x45bcd3
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 0x45bced
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 0x45bd07
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 0x45bd1e
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 0x45bd38
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 0x45bd55
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 0x45bd6f
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 0x45bd89
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 0x45bda3
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 0x45bdbd
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 0x45bdd7
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 0x45bdf1
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 0x45be0b
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 0x45be22
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 0x45be3d
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.0042f690
push 0x80004005
call fcn.0042f690
push 0x80004005
call fcn.0042f690
push 0x80004005
call fcn.0042f690
int3