Function at 0x4e1bd0
Capabilities:
Contain obfuscated stackstrings
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x531304]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
mov dword [ebp - 4], 0
call fcn.004f4bd0
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
je 0x4e235e
mov dword [ebp - 0x30], 0x51da98
mov dword [ebp - 0xec], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp + 8]
push eax
call fcn.004f5130
add esp, 4
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00415fa8
add esp, 4
mov esi, eax
mov edx, dword [ebp - 0x30]
push edx
call fcn.00415fa8
add esp, 4
add esi, eax
mov eax, dword [ebp - 0xc]
push eax
call fcn.00415fa8
add esp, 4
add esi, eax
lea ecx, [esi + esi + 2]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.00415d52
add esp, 4
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xec]
push eax
push 0
mov ecx, dword [ebp - 0x10c]
push ecx
call fcn.00415fc0
add esp, 0xc
mov edx, dword [ebp - 4]
push edx
mov eax, dword [ebp - 0x10c]
push eax
call fcn.0041916c
add esp, 8
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x10c]
push edx
call fcn.00419142
add esp, 8
mov eax, dword [ebp - 0xc]
push eax
mov ecx, dword [ebp - 0x10c]
push ecx
call fcn.00419142
add esp, 8
mov edx, dword [ebp - 0x10c]
push edx
call fcn.00415fa8
add esp, 4
lea eax, [eax + eax + 0xa]
push eax
mov ecx, dword [ebp - 0x10c]
push ecx
push 0x51daa0
call fcn.004160d1
add esp, 0xc
mov dword [ebp - 0xe8], 0
push 0x88
push 0
lea edx, [ebp - 0xe4]
push edx
call fcn.00415fc0
add esp, 0xc
mov byte [ebp - 0x50], 0
xor eax, eax
mov dword [ebp - 0x4f], eax
mov dword [ebp - 0x4b], eax
mov dword [ebp - 0x47], eax
mov word [ebp - 0x43], ax
mov byte [ebp - 0x41], al
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov ax, word [edx]
mov word [ebp - 0x120], ax
mov ecx, dword [ebp - 8]
add ecx, 4
mov dword [ebp - 8], ecx
movsx edx, word [ebp - 0x120]
test edx, edx
jne 0x4e1d45
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10c]
sar eax, 1
sar eax, 1
sub eax, 1
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x10c]
mov dl, byte [ecx]
mov byte [ebp - 0x4f], dl
mov eax, dword [ebp - 0x108]
xor edx, edx
mov ecx, 0x64
div ecx
mov byte [ebp - 0x4e], al
mov dl, byte [ebp - 0x110]
mov byte [ebp - 0x50], dl
mov byte [ebp - 0x4a], 0x80
mov eax, dword [ebp - 0x108]
xor edx, edx
mov ecx, 0x3e8
div ecx
add eax, 6
mov byte [ebp - 0x4d], al
mov dl, byte [ebp - 0x108]
mov byte [ebp - 0x4b], dl
mov eax, dword [ebp - 0x108]
xor edx, edx
mov ecx, 0x2710
div ecx
mov byte [ebp - 0x4c], al
movzx edx, byte [ebp - 0x4f]
movzx eax, byte [ebp - 0x4c]
lea ecx, [edx + eax + 2]
mov byte [ebp - 0x49], cl
mov eax, dword [ebp - 0x110]
cdq
sub eax, edx
sar eax, 1
shl eax, 1
mov edx, dword [ebp - 0x10c]
movzx eax, word [edx + eax*2]
add eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0x110]
imul ecx, ecx, 0x2710
add eax, ecx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x108]
xor edx, edx
mov ecx, 0xc20
div ecx
mov edx, dword [ebp - 0x110]
imul edx, edx, 0x64
lea eax, [eax + edx + 1]
mov dword [ebp - 0x44], eax
push 0x8c
push 0
lea ecx, [ebp - 0xe8]
push ecx
call fcn.00415fc0
add esp, 0xc
push 0xc
lea edx, [ebp - 0x50]
push edx
push 0x10
lea eax, [ebp - 0xe8]
push eax
call fcn.004df580
add esp, 0x10
mov byte [ebp - 0x104], 0
xor ecx, ecx
mov dword [ebp - 0x103], ecx
mov word [ebp - 0xff], cx
mov byte [ebp - 0xfd], cl
mov edx, dword [ebp - 0x10c]
push edx
call fcn.00415fa8
add esp, 4
lea eax, [eax + eax + 2]
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x28]
and ecx, 0x80000007
jns 0x4e1ea1
dec ecx
or ecx, 0xfffffff8
inc ecx
test ecx, ecx
je 0x4e1ec0
mov eax, dword [ebp - 0x28]
cdq
and edx, 7
add eax, edx
sar eax, 3
lea edx, [eax*8 + 8]
mov dword [ebp - 0xec], edx
jmp 0x4e1ec9
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.00415d52
add esp, 4
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00415fc0
add esp, 0xc
mov edx, dword [ebp - 0x28]
push edx
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.00415910
add esp, 0xc
mov edx, dword [ebp - 0xec]
push edx
call fcn.00415d52
add esp, 4
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xec]
push eax
push 0
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.00415fc0
add esp, 0xc
push 8
push 0
lea edx, [ebp - 0x104]
push edx
call fcn.00415fc0
add esp, 0xc
push 1
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xe8]
push ecx
mov edx, dword [ebp - 0xec]
push edx
mov eax, dword [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.004df9f0
add esp, 0x18
mov byte [ebp - 0x40], 0x23
mov byte [ebp - 0x3f], 0xa1
mov byte [ebp - 0x3e], 0x87
mov byte [ebp - 0x3d], 0
mov byte [ebp - 0x3c], 0x4f
mov byte [ebp - 0x3b], 0x9b
mov byte [ebp - 0x3a], 0x45
mov byte [ebp - 0x39], 0xf1
mov byte [ebp - 0x38], 0x43
mov byte [ebp - 0x37], 0x64
mov byte [ebp - 0x36], 0x39
mov byte [ebp - 0x35], 0x20
mov byte [ebp - 0x34], 0xf3
mov byte [ebp - 0x33], 0x14
mov byte [ebp - 0x32], 0x42
mov byte [ebp - 0x31], 0xd4
push 0x8c
push 0
lea edx, [ebp - 0xe8]
push edx
call fcn.00415fc0
add esp, 0xc
push 0xc
lea eax, [ebp - 0x40]
push eax
push 0x10
lea ecx, [ebp - 0xe8]
push ecx
call fcn.004df580
add esp, 0x10
mov byte [ebp - 0xf8], 0x43
mov byte [ebp - 0xf7], 0x64
mov byte [ebp - 0xf6], 0x39
mov byte [ebp - 0xf5], 0x20
mov byte [ebp - 0xf4], 0xf3
mov byte [ebp - 0xf3], 0x14
mov byte [ebp - 0xf2], 0x42
mov byte [ebp - 0xf1], 0xd4
mov edx, dword [ebp - 0xec]
add edx, 0x10
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0xec]
push eax
call fcn.00415d52
add esp, 4
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0xec]
push ecx
call fcn.00415d52
add esp, 4
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0xec]
push edx
push 0
mov eax, dword [ebp - 0x54]
push eax
call fcn.00415fc0
add esp, 0xc
mov ecx, dword [ebp - 0xec]
push ecx
push 0
mov edx, dword [ebp - 0x124]
push edx
call fcn.00415fc0
add esp, 0xc
push 0x10
lea eax, [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x124]
push ecx
call fcn.00415910
add esp, 0xc
mov edx, dword [ebp - 0xec]
sub edx, 0x10
push edx
mov eax, dword [ebp - 0x128]
push eax
mov ecx, dword [ebp - 0x124]
add ecx, 0x10
push ecx
call fcn.00415910
add esp, 0xc
push 1
lea edx, [ebp - 0xf8]
push edx
lea eax, [ebp - 0xe8]
push eax
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x124]
push eax
call fcn.004e0640
add esp, 0x18
mov ecx, dword [ebp - 0xec]
push ecx
mov edx, dword [ebp - 0x54]
push edx
call fcn.004f4ce0
add esp, 8
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
push eax
push 0x51dab8
call fcn.004160d1
add esp, 8
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.004f5130
add esp, 4
mov dword [ebp - 0x12c], eax
mov byte [ebp - 0x1c], 0
xor edx, edx
mov dword [ebp - 0x1b], edx
mov dword [ebp - 0x17], edx
mov byte [ebp - 0x11c], 0
xor eax, eax
mov dword [ebp - 0x11b], eax
mov dword [ebp - 0x117], eax
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.00415fa8
add esp, 4
shl eax, 1
push eax
mov edx, dword [ebp - 0x12c]
push edx
call fcn.004e3980
add esp, 8
push eax
push 0x51dac8
lea eax, [ebp - 0x1c]
push eax
call fcn.0041603a
add esp, 0xc
mov cl, byte [ebp - 0x16]
mov byte [ebp - 0x11c], cl
mov dl, byte [ebp - 0x15]
mov byte [ebp - 0x11b], dl
mov al, byte [ebp - 0x18]
mov byte [ebp - 0x11a], al
mov cl, byte [ebp - 0x17]
mov byte [ebp - 0x119], cl
mov dl, byte [ebp - 0x1a]
mov byte [ebp - 0x118], dl
mov al, byte [ebp - 0x19]
mov byte [ebp - 0x117], al
mov cl, byte [ebp - 0x1c]
mov byte [ebp - 0x116], cl
mov dl, byte [ebp - 0x1b]
mov byte [ebp - 0x115], dl
lea eax, [ebp - 0x11c]
push eax
push 0x51dad0
call fcn.004160d1
add esp, 8
mov dword [ebp - 0xf0], 0x51dae0
mov ecx, dword [ebp - 0xf0]
push ecx
call fcn.00415e20
add esp, 4
mov esi, eax
lea edx, [ebp - 0x11c]
push edx
call fcn.00415e20
add esp, 4
add esi, eax
mov eax, dword [ebp - 0x24]
push eax
call fcn.00415e20
add esp, 4
lea ecx, [esi + eax + 1]
mov dword [ebp - 0xec], ecx
mov edx, dword [ebp - 0xec]
push edx
call fcn.00415d52
add esp, 4
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0xec]
push eax
push 0
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00415fc0
add esp, 0xc
mov edx, dword [ebp - 0xf0]
push edx
call fcn.00415e20
add esp, 4
push eax
mov eax, dword [ebp - 0xf0]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00415910
add esp, 0xc
lea edx, [ebp - 0x11c]
push edx
call fcn.00415e20
add esp, 4
push eax
lea eax, [ebp - 0x11c]
push eax
mov ecx, dword [ebp - 0xf0]
push ecx
call fcn.00415e20
add esp, 4
add eax, dword [ebp - 0x2c]
push eax
call fcn.00415910
add esp, 0xc
mov edx, dword [ebp - 0x24]
push edx
call fcn.00415e20
add esp, 4
push eax
mov eax, dword [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0xf0]
push ecx
call fcn.00415e20
add esp, 4
mov esi, eax
add esi, dword [ebp - 0x2c]
lea edx, [ebp - 0x11c]
push edx
call fcn.00415e20
add esp, 4
add esi, eax
push esi
call fcn.00415910
add esp, 0xc
mov eax, dword [ebp - 0x2c]
push eax
call fcn.0041a25c
add esp, 4
mov ecx, dword [ebp - 0x2c]
push ecx
call fcn.00415e20
add esp, 4
push eax
mov edx, dword [ebp - 0x2c]
push edx
push 1
push str.CustomURL_01
push 0x51b02c
push 0x80000001
call dword [sym.imp.SHLWAPI.dll_SHSetValueA]
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00415c75
add esp, 4
mov ecx, dword [ebp - 0x12c]
push ecx
call fcn.00415c75
add esp, 4
mov edx, dword [ebp - 0x24]
push edx
call fcn.00415c75
add esp, 4
mov eax, dword [ebp - 0x20]
push eax
call fcn.00415c75
add esp, 4
mov ecx, dword [ebp - 0x128]
push ecx
call fcn.00415c75
add esp, 4
mov edx, dword [ebp - 0x10c]
push edx
call fcn.00415c75
add esp, 4
mov eax, dword [ebp - 0xc]
push eax
call fcn.00415c75
add esp, 4
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_LocalFree]
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004158f4
mov esp, ebp
pop ebp
ret