Function at 0x45e122
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov eax, 0x487001
call fcn.00486b34
sub esp, 0x2d4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x14], esi
and dword [ebp - 4], 0
push 0x494070
lea ecx, [ebp - 0x128]
call fcn.00403ae8
movaps xmm0, xmmword [0x49db70]
movups xmmword [ebp - 0x199], xmm0
movaps xmm0, xmmword [0x49db90]
movups xmmword [ebp - 0x189], xmm0
movaps xmm0, xmmword [0x49db80]
movups xmmword [ebp - 0x179], xmm0
movaps xmm0, xmmword [0x49d8c0]
movups xmmword [ebp - 0x169], xmm0
movaps xmm0, xmmword [0x49dac0]
movups xmmword [ebp - 0x159], xmm0
movaps xmm0, xmmword [str.___P_W_VWnLz__]
movups xmmword [ebp - 0x149], xmm0
xor ecx, ecx
mov dword [ebp - 0xe0], ecx
cmp ecx, 0x5e
jae 0x45e1c9
mov al, byte [ebp + ecx - 0x198]
xor al, byte [ebp - 0x199]
mov byte [ebp + ecx - 0x198], al
inc ecx
jmp 0x45e1a7
mov byte [ebp - 0x13a], 0
mov dl, 0x73
mov dword [ebp - 0x42], 0x5173273
mov dword [ebp - 0x3e], 0x401a0312
mov byte [ebp - 0x3a], 0x41
push 0x5d
pop ebx
mov byte [ebp - 0x39], bl
mov dword [ebp - 0x38], 0x1f1f17
xor ecx, ecx
mov dword [ebp - 0xe4], ecx
cmp ecx, 0xc
jae 0x45e214
mov al, byte [ebp + ecx - 0x41]
xor al, dl
mov byte [ebp + ecx - 0x41], al
inc ecx
mov dword [ebp - 0xe4], ecx
mov dl, byte [ebp - 0x42]
jmp 0x45e1f9
mov byte [ebp - 0x35], 0
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x198]
push eax
push 0x80000001
mov edx, str.RegOpenKeyA
lea ecx, [ebp - 0x41]
call fcn.004014d2
call eax
push 0x18
pop eax
mov dword [ebp - 0x9c], eax
mov dl, al
mov byte [ebp - 0x19], dl
mov byte [ebp - 0x18], bl
mov word [ebp - 0x17], 0x4a4a
mov byte [ebp - 0x15], 0
xor ecx, ecx
mov dword [ebp - 0xe8], ecx
cmp ecx, 3
jae 0x45e278
mov al, byte [ebp + ecx - 0x18]
xor al, dl
mov byte [ebp + ecx - 0x18], al
inc ecx
mov dword [ebp - 0xe8], ecx
mov dl, byte [ebp - 0x19]
jmp 0x45e25d
mov byte [ebp - 0x15], 0
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0xb4]
call fcn.00403ae8
movaps xmm0, xmmword [0x49d960]
movups xmmword [ebp - 0x139], xmm0
mov byte [ebp - 0x129], 0
xor ecx, ecx
mov dword [ebp - 0xec], ecx
cmp ecx, 0xf
jae 0x45e2c4
mov al, byte [ebp + ecx - 0x138]
xor al, byte [ebp - 0x139]
mov byte [ebp + ecx - 0x138], al
inc ecx
jmp 0x45e2a2
mov byte [ebp - 0x129], 0
lea eax, [ebp - 0x138]
push eax
lea ecx, [ebp - 0x94]
call fcn.00403ae8
lea eax, [ebp - 0xb4]
push eax
lea eax, [ebp - 0x128]
push eax
lea eax, [ebp - 0x94]
push eax
push dword [ebp - 0x98]
mov ecx, esi
call fcn.00458a0c
lea ecx, [ebp - 0x94]
call fcn.00403b2e
lea ecx, [ebp - 0xb4]
call fcn.00403b2e
mov dl, 0xc
mov dword [ebp - 0x50], 0x7a684d0c
mov dword [ebp - 0x4c], 0x3f657c6d
mov dword [ebp - 0x48], 0x6068223e
mov word [ebp - 0x44], 0x60
xor ecx, ecx
mov dword [ebp - 0xf0], ecx
cmp ecx, 0xc
jae 0x45e355
mov al, byte [ebp + ecx - 0x4f]
xor al, dl
mov byte [ebp + ecx - 0x4f], al
inc ecx
mov dword [ebp - 0xf0], ecx
mov dl, byte [ebp - 0x50]
jmp 0x45e33a
mov byte [ebp - 0x43], 0
push dword [ebp - 0x98]
mov edx, str.RegCloseKey
lea ecx, [ebp - 0x4f]
call fcn.004014d2
call eax
mov byte [ebp - 0x1e], bl
mov dword [ebp - 0x1d], 0xf0f18
xor ecx, ecx
mov dword [ebp - 0xf4], ecx
cmp ecx, 3
jae 0x45e39b
mov al, byte [ebp + ecx - 0x1d]
xor al, bl
mov byte [ebp + ecx - 0x1d], al
inc ecx
mov dword [ebp - 0xf4], ecx
mov bl, byte [ebp - 0x1e]
jmp 0x45e380
xor ebx, ebx
mov byte [ebp - 0x1a], bl
lea eax, [ebp - 0x1d]
push eax
lea ecx, [ebp - 0x128]
call fcn.0040412c
mov ecx, ebx
test al, al
je 0x45e4c2
movaps xmm0, xmmword [0x49da80]
movups xmmword [ebp - 0xcd], xmm0
mov dword [ebp - 0xbd], 0x4e664a55
mov byte [ebp - 0xb9], 0x5e
push 0x5b
pop edx
mov byte [ebp - 0xb8], dl
mov byte [ebp - 0xb7], 0x4e
mov byte [ebp - 0xb6], dl
mov byte [ebp - 0xb5], bl
mov dword [ebp - 0xf8], ecx
cmp ecx, 0x17
jae 0x45e416
mov al, byte [ebp + ecx - 0xcc]
xor al, byte [ebp - 0xcd]
mov byte [ebp + ecx - 0xcc], al
inc ecx
jmp 0x45e3f4
mov byte [ebp - 0xb5], bl
mov byte [ebp - 0x34], dl
mov dword [ebp - 0x33], 0x1f2b2b1a
mov dword [ebp - 0x2f], 0x3a2f3a
mov ecx, ebx
mov dword [ebp - 0xfc], ecx
cmp ecx, 7
jae 0x45e450
mov al, byte [ebp + ecx - 0x33]
xor al, dl
mov byte [ebp + ecx - 0x33], al
inc ecx
mov dword [ebp - 0xfc], ecx
mov dl, byte [ebp - 0x34]
jmp 0x45e435
mov byte [ebp - 0x2c], bl
lea eax, [ebp - 0x33]
push eax
call fcn.0046e9c4
pop ecx
push eax
lea ecx, [ebp - 0xb4]
call fcn.00403ae8
mov edx, eax
lea ecx, [ebp - 0xcc]
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45e474
sub ecx, esi
push ecx
lea eax, [ebp - 0xcc]
push eax
mov ecx, edx
call fcn.00403c55
push eax
lea ecx, [ebp - 0x94]
call fcn.00403ab7
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x128]
call fcn.00403a82
lea ecx, [ebp - 0x94]
call fcn.00403b2e
lea ecx, [ebp - 0xb4]
call fcn.00403b2e
jmp 0x45e517
mov dl, 0x2d
mov dword [ebp - 0x25], 0x4c49592d
mov word [ebp - 0x21], 0x4c59
mov byte [ebp - 0x1f], bl
mov dword [ebp - 0x100], ecx
cmp ecx, 5
jae 0x45e4f5
mov al, byte [ebp + ecx - 0x24]
xor al, dl
mov byte [ebp + ecx - 0x24], al
inc ecx
mov dword [ebp - 0x100], ecx
mov dl, byte [ebp - 0x25]
jmp 0x45e4da
mov byte [ebp - 0x1f], bl
lea ecx, [ebp - 0x24]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x45e4fe
sub ecx, edx
push ecx
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x128]
call fcn.00403c55
lea eax, [ebp - 0x128]
push eax
mov ebx, dword [ebp - 0x14]
mov ecx, ebx
call fcn.00401522
test eax, eax
jne 0x45e548
push 1
push dword [ebp + 8]
mov ecx, ebx
call fcn.00401604
lea ecx, [ebp - 0x128]
call fcn.00403b2e
jmp 0x45e849
movaps xmm0, xmmword [0x49dc30]
movups xmmword [ebp - 0xaf], xmm0
mov word [ebp - 0x9f], 0x660f
mov byte [ebp - 0x9d], 0
xor ecx, ecx
mov dword [ebp - 0x104], ecx
cmp ecx, 0x11
jae 0x45e58a
mov al, byte [ebp + ecx - 0xae]
xor al, byte [ebp - 0xaf]
mov byte [ebp + ecx - 0xae], al
inc ecx
jmp 0x45e568
mov byte [ebp - 0x9d], 0
lea eax, [ebp - 0xae]
push eax
lea ecx, [ebp - 0x94]
call fcn.00403ae8
push 0
push 0
push dword [ebp + 8]
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x128]
push eax
mov ecx, ebx
call fcn.00457fc2
lea ecx, [ebp - 0x94]
call fcn.00403b2e
movaps xmm0, xmmword [0x49dbc0]
movups xmmword [ebp - 0x8f], xmm0
mov word [ebp - 0x7f], 0x6318
mov byte [ebp - 0x7d], 0
xor ecx, ecx
mov dword [ebp - 0x108], ecx
cmp ecx, 0x11
jae 0x45e606
mov al, byte [ebp + ecx - 0x8e]
xor al, byte [ebp - 0x8f]
mov byte [ebp + ecx - 0x8e], al
inc ecx
jmp 0x45e5e4
mov byte [ebp - 0x7d], 0
lea eax, [ebp - 0x8e]
push eax
lea ecx, [ebp - 0xb4]
call fcn.00403ae8
push eax
lea ecx, [ebp - 0x128]
call fcn.00403a4b
lea ecx, [ebp - 0xb4]
call fcn.00403b2e
mov dl, 0x24
mov dword [ebp - 0x2b], 0x54454924
mov word [ebp - 0x27], 0xe
xor ecx, ecx
mov dword [ebp - 0x10c], ecx
cmp ecx, 4
jae 0x45e665
mov al, byte [ebp + ecx - 0x2a]
xor al, dl
mov byte [ebp + ecx - 0x2a], al
inc ecx
mov dword [ebp - 0x10c], ecx
mov dl, byte [ebp - 0x2b]
jmp 0x45e64a
mov byte [ebp - 0x26], 0
lea eax, [ebp - 0x2a]
push eax
lea ecx, [ebp - 0x94]
call fcn.00403ae8
push 0
push 0
push dword [ebp + 8]
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x128]
push eax
mov ecx, ebx
call fcn.00457fc2
lea ecx, [ebp - 0x94]
call fcn.00403b2e
mov dl, 0x13
mov dword [ebp - 0x14], 0x394f13
xor ecx, ecx
mov dword [ebp - 0x110], ecx
cmp ecx, 2
jae 0x45e6cb
mov al, byte [ebp + ecx - 0x13]
xor al, dl
mov byte [ebp + ecx - 0x13], al
inc ecx
mov dword [ebp - 0x110], ecx
mov dl, byte [ebp - 0x14]
jmp 0x45e6b0
mov byte [ebp - 0x11], 0
lea eax, [ebp - 0x13]
push eax
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x94]
call fcn.00403d39
pop ecx
mov ecx, eax
call fcn.004039e7
mov edx, eax
mov dword [ebp - 0x5e], 0x6a7d5318
mov dword [ebp - 0x5a], 0x2b747d76
mov dword [ebp - 0x56], 0x747c362a
mov word [ebp - 0x52], 0x74
xor ecx, ecx
mov dword [ebp - 0xd4], ecx
cmp ecx, 0xc
jae 0x45e733
mov al, byte [ebp + ecx - 0x5d]
xor al, byte [ebp - 0x9c]
mov byte [ebp + ecx - 0x5d], al
inc ecx
mov dword [ebp - 0xd4], ecx
mov al, byte [ebp - 0x5e]
mov dword [ebp - 0x9c], eax
jmp 0x45e70e
mov byte [ebp - 0x51], 0
lea eax, [ebp - 0x2e0]
push eax
push edx
mov edx, str.FindFirstFileA
lea ecx, [ebp - 0x5d]
call fcn.004014d2
call eax
mov esi, eax
lea ecx, [ebp - 0x94]
call fcn.00403b2e
cmp esi, 0xffffffff
je 0x45e7d1
test byte [ebp - 0x2e0], 0x10
jne 0x45e772
mov byte [ebx + 0xda], 1
jmp 0x45e7d1
mov dl, 3
mov dword [ebp - 0x6c], 0x71664803
mov dword [ebp - 0x68], 0x306f666d
mov dword [ebp - 0x64], 0x6f672d31
mov word [ebp - 0x60], 0x6f
xor ecx, ecx
mov dword [ebp - 0xd8], ecx
cmp ecx, 0xc
jae 0x45e7b2
mov al, byte [ebp + ecx - 0x6b]
xor al, dl
mov byte [ebp + ecx - 0x6b], al
inc ecx
mov dword [ebp - 0xd8], ecx
mov dl, byte [ebp - 0x6c]
jmp 0x45e797
mov byte [ebp - 0x5f], 0
lea eax, [ebp - 0x2e0]
push eax
push esi
mov edx, 0x4940d0
lea ecx, [ebp - 0x6b]
call fcn.004014d2
call eax
test eax, eax
jne 0x45e760
mov dl, 0x46
mov dword [ebp - 0x7a], 0x34230d46
mov dword [ebp - 0x76], 0x752a2328
mov dword [ebp - 0x72], 0x2a226874
mov word [ebp - 0x6e], 0x2a
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
cmp ecx, 0xc
jae 0x45e811
mov al, byte [ebp + ecx - 0x79]
xor al, dl
mov byte [ebp + ecx - 0x79], al
inc ecx
mov dword [ebp - 0xdc], ecx
mov dl, byte [ebp - 0x7a]
jmp 0x45e7f6
mov byte [ebp - 0x6d], 0
push esi
mov edx, 0x4940e0
lea ecx, [ebp - 0x79]
call fcn.004014d2
call eax
cmp byte [ebx + 0xda], 0
jne 0x45e83a
push 1
push dword [ebp + 8]
mov ecx, ebx
call fcn.00401604
lea ecx, [ebp - 0x128]
call fcn.00403b2e
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
leave
ret 4