Function at 0x45a380
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 0x57b580
push eax
mov dword fs:[0], esp
sub esp, 0xa4
push ebx
push esi
push edi
call fcn.00466a30
push ecx
mov edx, 2
call fcn.0045bf40
add esp, 4
or ebx, 0xffffffff
test al, al
je 0x45a459
mov dword [ebp - 4], 0
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
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.00459c10
mov esi, dword [ebp - 0x54]
test al, al
je 0x45a436
push esi
call fcn.0055423f
add esp, 4
cmp eax, 0x55f0
jl 0x45a414
mov dword [0x5c9644], 4
jmp 0x45a440
push esi
call fcn.0055423f
xor ecx, ecx
add esp, 4
cmp eax, 0x2800
setge cl
lea ecx, [ecx*2 + 1]
mov dword [0x5c9644], ecx
jmp 0x45a440
mov dword [0x5c9644], 5
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x45a479
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45a479
push ecx
mov edx, 1
call fcn.0045bf40
xor edx, edx
add esp, 4
test al, al
mov ecx, 5
cmovne ecx, edx
mov dword [0x5c9644], ecx
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x20]
push str.OVg3AYkkqoWAZMYO0M
mov dword [ebp - 0x20], eax
call fcn.0042f250
test al, al
jne 0x45a4b3
push 0x13
push str.OVg3AYkkqoWAZMYO0M
lea ecx, [ebp - 0x20]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x44]
push str.UFd6adzM_UGxk4MhY
mov dword [ebp - 0x44], eax
call fcn.0042f250
test al, al
jne 0x45a4ed
push 0x13
push str.UFd6adzM_UGxk4MhY
lea ecx, [ebp - 0x44]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x74]
push str.V3BM4VTMVFKjQiHHDg
mov dword [ebp - 0x74], eax
call fcn.0042f250
test al, al
jne 0x45a527
push 0x13
push str.V3BM4VTMVFKjQiHHDg
lea ecx, [ebp - 0x74]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x70]
push str.WVRWfUjAwya39o
mov dword [ebp - 0x70], eax
call fcn.0042f250
test al, al
jne 0x45a561
push 0xe
push str.WVRWfUjAwya39o
lea ecx, [ebp - 0x70]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x6c]
push str.a25ZLdwIKgZFpZ
mov dword [ebp - 0x6c], eax
call fcn.0042f250
test al, al
jne 0x45a59b
push 0xe
push str.a25ZLdwIKgZFpZ
lea ecx, [ebp - 0x6c]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x60]
push str.Tk0yIbicpdD0N9
mov dword [ebp - 0x60], eax
call fcn.0042f250
test al, al
jne 0x45a5d5
push 0xe
push str.Tk0yIbicpdD0N9
lea ecx, [ebp - 0x60]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x68]
push str.WkZ6mchYp5GRM2
mov dword [ebp - 0x68], eax
call fcn.0042f250
test al, al
jne 0x45a60f
push 0xe
push str.WkZ6mchYp5GRM2
lea ecx, [ebp - 0x68]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x54]
push str.TjVpwZi9WIHQ84GUA
mov dword [ebp - 0x54], eax
call fcn.0042f250
test al, al
jne 0x45a649
push 0x13
push str.TjVpwZi9WIHQ84GUA
lea ecx, [ebp - 0x54]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x84]
push str.cEVJCT183yLDwEKJDs7
mov dword [ebp - 0x84], eax
call fcn.0042f250
test al, al
jne 0x45a68c
push 0x13
push str.cEVJCT183yLDwEKJDs7
lea ecx, [ebp - 0x84]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x80]
push str.dEx0GZwckKGxA5
mov dword [ebp - 0x80], eax
call fcn.0042f250
test al, al
jne 0x45a6c6
push 0xe
push str.dEx0GZwckKGxA5
lea ecx, [ebp - 0x80]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push str.bE9TtTToqqIT4FqID0
mov dword [ebp - 0x24], eax
call fcn.0042f250
test al, al
jne 0x45a700
push 0x13
push str.bE9TtTToqqIT4FqID0
lea ecx, [ebp - 0x24]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x64]
push str.QlBxtZAMgFASEvvIA
mov dword [ebp - 0x64], eax
call fcn.0042f250
test al, al
jne 0x45a73a
push 0x13
push str.QlBxtZAMgFASEvvIA
lea ecx, [ebp - 0x64]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.TmFLGTg8xBGwoPGNQo
mov dword [ebp - 0x10], eax
call fcn.0042f250
test al, al
jne 0x45a774
push 0x13
push str.TmFLGTg8xBGwoPGNQo
lea ecx, [ebp - 0x10]
call fcn.0042f580
push ecx
mov edi, esp
push ecx
mov ecx, dword [0x5c9104]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
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.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x14]
mov edx, SysReAllocString
call fcn.00448580
mov esi, dword [0x5c90e8]
add esp, 8
add esi, 0xfffffff0
mov edx, dword [eax]
lea ecx, [edx - 0x10]
cmp ecx, esi
je 0x45a823
mov eax, dword [esi + 0xc]
lea edi, [esi + 0xc]
shr eax, 0x1f
test al, al
jne 0x45a815
mov eax, dword [ecx]
cmp eax, dword [esi]
jne 0x45a815
call fcn.0042e8d0
mov dword [ebp - 0x18], eax
mov ecx, ebx
lock xadd dword [edi], ecx
dec ecx
test ecx, ecx
jg 0x45a80b
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 0x45a823
push dword [edx - 0xc]
mov ecx, 0x5c90e8
push edx
call fcn.0042f580
mov edx, dword [ebp - 0x14]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45a83d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00458b30
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x8c], eax
mov esi, esp
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445470
add esp, 4
push dword [eax]
call fcn.0055eb48
add esp, 4
mov esi, eax
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push esi
mov dword [ebp - 0x24], eax
call fcn.0042f250
test al, al
jne 0x45a8c9
test esi, esi
jne 0x45a8a3
xor ecx, ecx
jmp 0x45a8bf
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45a8b0
sub ecx, edx
sar ecx, 1
push ecx
push esi
lea ecx, [ebp - 0x24]
call fcn.0042f580
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45a8e3
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 0x45a9f3
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp + 8]
push str.MHJkfcUcVlAQVVxHBIuBVQAW9HkI
mov dword [ebp + 8], eax
call fcn.0042f250
test al, al
jne 0x45a933
push 0x1d
push str.MHJkfcUcVlAQVVxHBIuBVQAW9HkI
lea ecx, [ebp + 8]
call fcn.0042f580
push ecx
mov esi, esp
sub esp, 0x18
mov ecx, esp
push 0x5c90ec
call fcn.0042e9e0
mov ecx, esi
call fcn.00445090
add esp, 0x14
mov esi, esp
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, esi
push 0x594764
mov dword [esi], eax
call fcn.0042f250
test al, al
jne 0x45a988
push 0
push 0x594764
mov ecx, esi
call fcn.0042f580
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.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
mov edi, dword [ebp - 0x20]
mov ebx, esp
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445470
add esp, 4
call fcn.00459380
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 0x45a9eb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
or esi, 0xffffffff
jmp 0x45bbb9
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.bjRwwOTtnqNWswZj9_3J3g1
mov dword [ebp - 0x10], eax
call fcn.0042f250
test al, al
jne 0x45aa2d
push 0x18
push str.bjRwwOTtnqNWswZj9_3J3g1
lea ecx, [ebp - 0x10]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x24]
push str.NHl2eemAcPGwo
mov dword [ebp - 0x24], eax
call fcn.0042f250
test al, al
jne 0x45aa67
push 0xe
push str.NHl2eemAcPGwo
lea ecx, [ebp - 0x24]
call fcn.0042f580
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x38], eax
mov esi, esp
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445470
add esp, 4
push dword [eax]
call fcn.0055eb48
mov edx, eax
add esp, 4
test edx, edx
jne 0x45aa9e
xor ecx, ecx
jmp 0x45aab2
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45aaa3
sub ecx, esi
sar ecx, 1
push ecx
push edx
mov ecx, 0x5c90e4
call fcn.0042f580
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45aad8
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 0x45bd52
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x45ab0c
push esi
mov ecx, 0x5c90e4
call fcn.0042f4e0
mov eax, dword [0x5c90e4]
mov ecx, 0x5c
mov word [eax + edi*2], cx
mov eax, dword [0x5c90e4]
cmp esi, dword [eax - 8]
jg 0x45bd52
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.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445470
add esp, 4
mov ecx, 0x5c90e4
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0042dcc0
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ab7e
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 0x45ad03
test al, 0x10
je 0x45ad03
push 0x594750
mov edx, 0x5c90e4
lea ecx, [ebp - 0x14]
call fcn.0041fb10
mov ecx, dword [ebp - 0x24]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x14]
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0042dcc0
mov edx, dword [ebp - 0x18]
mov eax, ebx
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45abf2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd66
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.cDZo4ZxRZ5HwkceWQkD
mov dword [ebp - 0x10], eax
call fcn.0042f250
test al, al
jne 0x45ac2c
push 0x13
push str.cDZo4ZxRZ5HwkceWQkD
lea ecx, [ebp - 0x10]
call fcn.0042f580
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
push ecx
mov ecx, eax
mov dword [ebp - 0x10], eax
mov esi, esp
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445470
mov ecx, dword [0x5c90e4]
mov edi, eax
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.004599a0
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 0x45ac85
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor edi, edi
cmp edi, 5
jge 0x45acd2
push dword [ebp - 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x45acd2
test al, 0x10
je 0x45acd2
push ecx
mov ecx, dword [ebp - 0x14]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov dword [esi], eax
call fcn.00459f80
add esp, 4
test eax, eax
jne 0x45acd2
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], 0x1388
mov dword [ebp - 0x2c], eax
call fcn.0042d840
inc edi
jmp 0x45ac87
mov edx, dword [ebp - 0x10]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45ace9
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 0x45ad03
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push str.VXlJIRSUaUKDUloVzoxpOgss
mov dword [ebp - 0x14], eax
call fcn.0042f250
test al, al
jne 0x45ad3d
push 0x18
push str.VXlJIRSUaUKDUloVzoxpOgss
lea ecx, [ebp - 0x14]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.RUdhIM2o3nCEsgOK09USLCE
mov dword [ebp - 0x10], eax
call fcn.0042f250
test al, al
jne 0x45ad77
push 0x18
push str.RUdhIM2o3nCEsgOK09USLCE
lea ecx, [ebp - 0x10]
call fcn.0042f580
push ecx
mov ecx, dword [0x5c90bc]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x18]
mov dword [esi], eax
call fcn.00445470
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 0x45adc5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x90
call fcn.0054db04
mov edi, eax
mov esi, esp
mov eax, dword [ebp - 0x10]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x9c], eax
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.00445470
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov ecx, eax
mov dword [ebp - 0x34], eax
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x58]
mov dword [esi], eax
call fcn.00445470
add esp, 4
mov esi, eax
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd70
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push 0x5c9848
mov dword [ebp - 0x14], eax
call fcn.0042f250
test al, al
jne 0x45ae6d
mov ecx, 0x5c9848
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45ae50
sub ecx, edx
sar ecx, 1
push ecx
push 0x5c9848
lea ecx, [ebp - 0x14]
call fcn.0042f580
push dword [ebp - 0x18]
lea eax, [ebp - 0x14]
push esi
push ecx
push eax
mov ecx, edi
call fcn.00445b00
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 0x45ae9c
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 0x45aeb6
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 0x45aed0
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.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.dWNRnMyIKyP3sh4NwETARE1h
mov dword [ebp - 0x10], eax
call fcn.0042f250
test al, al
jne 0x45af19
push 0x18
push str.dWNRnMyIKyP3sh4NwETARE1h
lea ecx, [ebp - 0x10]
call fcn.0042f580
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.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x10]
mov dword [esi], eax
call fcn.00445470
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 0x45af6c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi + 0x80]
test eax, eax
jne 0x45af8c
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x45afd3
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45afd3
push 0x2710
push 0x2710
push 0x2710
push 0x2710
push eax
call dword [sym.imp.WINHTTP.dll_WinHttpSetTimeouts]
test eax, eax
mov eax, ebx
je 0x45af78
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x45afbf
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0
push 0x459990
call fcn.005590fa
add esp, 0xc
mov dword [ebp - 0x18], eax
call fcn.00458e30
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.0042efe0
test eax, eax
je 0x45bd5c
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 0x45b10d
mov esi, dword [esi + 4]
push ecx
mov dword [ebp - 0x3c], esp
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
mov ecx, dword [ebp - 0x3c]
add eax, 0x10
push esi
mov dword [ecx], eax
call fcn.0042f250
test al, al
jne 0x45b07f
test esi, esi
jne 0x45b061
xor ecx, ecx
jmp 0x45b075
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45b066
sub ecx, edx
sar ecx, 1
push ecx
mov ecx, dword [ebp - 0x3c]
push esi
call fcn.0042f580
call fcn.004477e0
add esp, 4
push ecx
mov esi, esp
cmp eax, 0x628374a0
je 0x45b115
sub esp, 0x18
mov ecx, esp
push 0x5c90ec
call fcn.0042e9e0
mov ecx, esi
call fcn.00445090
add esp, 0x14
mov ebx, esp
push ecx
mov ecx, dword [ebp - 0x70]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445470
mov ebx, esp
push ecx
mov ecx, dword [ebp - 0x44]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445470
mov ebx, esp
push ecx
lea ecx, [edi - 0x10]
mov esi, esp
call fcn.0042e8d0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445470
add esp, 4
call fcn.00459380
add esp, 0x10
or ebx, 0xffffffff
or esi, 0xffffffff
jmp 0x45bb3d
cmp dword [ebp - 0x94], 3
jge 0x45b19f
sub esp, 0x18
mov ecx, esp
push 0x5c90ec
call fcn.0042e9e0
mov ecx, esi
call fcn.00445090
add esp, 0x14
mov edi, esp
push ecx
mov ecx, dword [ebp - 0x60]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
mov edi, esp
push ecx
mov ecx, dword [ebp - 0x44]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, edi
mov dword [esi], eax
call fcn.00445470
mov edi, dword [ebp - 0x20]
mov ebx, esp
push ecx
mov esi, esp
lea ecx, [edi - 0x10]
call fcn.0042e8d0
add eax, 0x10
mov ecx, ebx
mov dword [esi], eax
call fcn.00445470
add esp, 4
call fcn.00459380
add esp, 0x10
jmp 0x45b618
mov ecx, dword [ebp - 0x74]
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.00445470
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 0x45b1e8
test dx, dx
je 0x45b1e4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45b1e8
add eax, 4
add ecx, 4
test dx, dx
jne 0x45b1c2
xor esi, esi
jmp 0x45b1ed
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 0x45b207
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
test esi, esi
je 0x45b4b5
mov dword [ebp - 4], 2
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
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.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, esi
push 0x5c9848
mov dword [esi], eax
call fcn.0042f250
test al, al
jne 0x45b28c
mov ecx, 0x5c9848
lea edx, [ecx + 2]
nop dword [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45b270
sub ecx, edx
sar ecx, 1
push ecx
push 0x5c9848
mov ecx, esi
call fcn.0042f580
call fcn.004477e0
mov esi, esp
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov ecx, esi
push 0x5c9848
mov dword [esi], eax
call fcn.0042f250
test al, al
jne 0x45b2e0
mov ecx, 0x5c9848
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45b2c4
sub ecx, edx
sar ecx, 1
push ecx
push 0x5c9848
mov ecx, esi
call fcn.0042f580
call fcn.004477e0
add esp, 4
push eax
lea eax, [ebp - 0x10]
push 0x59cb58
push eax
call fcn.004218d0
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 0x45b328
test dx, dx
je 0x45b324
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x45b328
add eax, 4
add ecx, 4
test dx, dx
jne 0x45b302
xor eax, eax
jmp 0x45b32d
sbb eax, eax
or eax, 1
mov edi, dword [ebp - 0x20]
test eax, eax
je 0x45b49a
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x20]
push 0x594764
mov dword [ebp - 0x20], eax
call fcn.0042f250
test al, al
jne 0x45b372
push 0
push 0x594764
lea ecx, [ebp - 0x20]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push 0x594764
mov dword [ebp - 0x14], eax
call fcn.0042f250
test al, al
jne 0x45b3ac
push 0
push 0x594764
lea ecx, [ebp - 0x14]
call fcn.0042f580
push ecx
mov ecx, dword [ebp - 0x6c]
mov ebx, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [ebx], eax
call fcn.00445470
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x40], eax
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [ebx], eax
call fcn.00445470
lea ecx, [edi - 0x10]
mov dword [ebp - 0x58], eax
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x10]
mov dword [ebx], eax
call fcn.00445470
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.00459010
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 0x45b432
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 0x45b44c
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 0x45b466
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 0x45b480
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 0x45b49a
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 0x45b618
mov ecx, dword [esi]
push esi
jmp 0x45b613
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push 0x594764
mov dword [ebp - 0x10], eax
call fcn.0042f250
test al, al
jne 0x45b4ef
push 0
push 0x594764
lea ecx, [ebp - 0x10]
call fcn.0042f580
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x14]
push 0x594764
mov dword [ebp - 0x14], eax
call fcn.0042f250
test al, al
jne 0x45b529
push 0
push 0x594764
lea ecx, [ebp - 0x14]
call fcn.0042f580
push ecx
mov ecx, dword [ebp - 0x60]
mov esi, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x58]
mov dword [esi], eax
call fcn.00445470
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x1c], eax
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x40]
mov dword [esi], eax
call fcn.00445470
mov edi, dword [ebp - 0x20]
mov ebx, eax
lea ecx, [edi - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [esi], eax
call fcn.00445470
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.00459010
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 0x45b5b0
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 0x45b5ca
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 0x45b5e4
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 0x45b5fe
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 0x45b618
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.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [esi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x10]
mov ebx, eax
push 0x59e3f8
call fcn.0042df70
lea eax, [ebp - 0x10]
push eax
push ecx
mov ecx, dword [ebp - 0x68]
mov esi, esp
add ecx, 0xfffffff0
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [esi], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x28]
mov edx, eax
call fcn.0041fbd0
add esp, 4
lea ecx, [ebp - 0x7c]
mov edx, eax
push ebx
call fcn.0041fbd0
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 0x45b6a5
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 0x45b6bf
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 0x45b6d9
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 0x45b6f3
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.0042efe0
test eax, eax
je 0x45bd5c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push 0x59e3fc
mov dword [ebp - 0x10], eax
call fcn.0042f250
test al, al
jne 0x45b73f
push 0x1d
push 0x59e3fc
lea ecx, [ebp - 0x10]
call fcn.0042f580
test esi, esi
mov esi, dword [ebp - 0x10]
je 0x45b831
cmp dword [ebp - 0x50], 2
je 0x45b831
call fcn.0042efe0
test eax, eax
je 0x45bd5c
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
lea ecx, [ebp + 8]
push str.ODlu4TWh6eTgxI7SU4elTFYcrKBhQZHW1NkSU4s0Vl1OcP01XKACRWoXkJt8W1UHVLlMZeASMYeTQYoKGGoakLEpNXTg9NKTRoiiVg
mov dword [ebp + 8], eax
call fcn.0042f250
test al, al
jne 0x45b78e
push 0x68
push str.ODlu4TWh6eTgxI7SU4elTFYcrKBhQZHW1NkSU4s0Vl1OcP01XKACRWoXkJt8W1UHVLlMZeASMYeTQYoKGGoakLEpNXTg9NKTRoiiVg
lea ecx, [ebp + 8]
call fcn.0042f580
push ecx
lea ecx, [esi - 0x10]
mov ebx, esp
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x4c]
mov dword [ebx], eax
call fcn.00445470
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.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x1c]
mov dword [ebx], eax
call fcn.00445470
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 0x45b7f7
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 0x45b811
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 0x45bb0a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45bb0a
push dword [ebp - 0x7c]
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
call fcn.0042efe0
mov ecx, eax
test ecx, ecx
je 0x45bd5c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
lea ecx, [ebp - 0x10]
push str.c1EznOCEUFYGcwWHmZ2kJw
mov dword [ebp - 0x10], eax
call fcn.0042f250
test al, al
jne 0x45b87a
push 0x18
push str.c1EznOCEUFYGcwWHmZ2kJw
lea ecx, [ebp - 0x10]
call fcn.0042f580
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.0042e8d0
mov ecx, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebx], eax
call fcn.00445470
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.0042e8d0
mov ecx, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebx], eax
call fcn.00445470
add esp, 4
lea ecx, [ebp - 0x78]
mov edx, SysReAllocString
call fcn.00448800
add esp, 8
test al, al
je 0x45b97b
push ecx
mov ecx, dword [0x5c9104]
mov ebx, esp
lea ecx, [ecx - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x48]
mov dword [ebx], eax
call fcn.00445470
mov ecx, dword [ebp - 0x10]
call fcn.0042e8d0
add eax, 0x10
lea ecx, [ebp - 0x50]
mov dword [ebx], eax
call fcn.00445470
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 0x45b942
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 0x45b95f
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 0x45b97e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x45b97e
or ebx, 0xffffffff
mov edx, dword [ebp - 0x10]
mov eax, ebx
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x45b995
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.0054db04
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.0042e8d0
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.0042e8d0
add eax, 0x10
push ecx
mov dword [ebx], eax
mov ebx, esp
mov ecx, dword [0x5c90e4]
add ecx, 0xfffffff0
call fcn.0042e8d0
add eax, 0x10
push ecx
mov dword [ebx], eax
mov ebx, esp
call fcn.0042efe0
test eax, eax
je 0x45bd5c
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.0042f250
test al, al
jne 0x45ba7c
mov ecx, 0x5c9848
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x45ba60
sub ecx, edx
sar ecx, 1
push ecx
push 0x5c9848
mov ecx, ebx
call fcn.0042f580
push dword [ebp + 8]
mov ecx, dword [ebp - 0x1c]
call fcn.00418e20
push 0
push 0
mov ecx, eax
mov dword [0x5c8e74], eax
call fcn.0041c7e0
mov eax, dword [0x5c8e78]
test eax, eax
je 0x45baac
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x5c8e78]
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x45bac4
push 0x1388
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [0x5c8e78]
test eax, eax
je 0x45bacf
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 0x45bb07
mov ecx, ebx
call fcn.00419700
push 0x178
push ebx
call fcn.0054db34
add esp, 8
or ebx, 0xffffffff
add esi, 0xfffffff0
mov eax, ebx
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x45bb21
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 0x45bb3b
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 0x45bb57
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 0x45bb71
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 0x45bb88
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 0x45bba2
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 0x45bbb9
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 0x45bbd3
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 0x45bbed
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 0x45bc07
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 0x45bc1e
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 0x45bc38
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 0x45bc55
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 0x45bc6f
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 0x45bc89
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 0x45bca3
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 0x45bcbd
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 0x45bcd7
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 0x45bcf1
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 0x45bd0b
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 0x45bd22
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 0x45bd3d
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.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
push 0x80004005
call fcn.0042f560
int3