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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x307c
call fcn.1005b300
mov eax, dword [0x100bb2a8]
xor eax, esp
mov dword [esp + 0x3078], eax
mov eax, dword [ebp + 0x14]
push ebx
push esi
push edi
mov dword [0x100bd1a4], eax
mov edi, 0x400
mov eax, dword [ebp + 0xc]
xor ebx, ebx
push edi
mov dword [0x100bd9ac], eax
lea eax, [esp + 0x1c84]
push ebx
push eax
mov byte [esp + 0x27], bl
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x1c80]
call fcn.10002184
push edi
lea eax, [esp + 0x2084]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x2080]
call fcn.10002184
push edi
lea eax, [esp + 0x1484]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x1480]
call fcn.10002184
push edi
lea eax, [esp + 0x1084]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x1080]
call fcn.10002184
push edi
lea eax, [esp + 0xc84]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0xc80]
call fcn.10002184
push edi
lea eax, [esp + 0x884]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x880]
call fcn.10002184
push edi
lea eax, [esp + 0x2c84]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x2c80]
call fcn.10002184
push edi
lea eax, [esp + 0x484]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x480]
call fcn.10002184
push edi
lea eax, [esp + 0x84]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x80]
call fcn.10002184
push edi
lea eax, [esp + 0x2484]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x2480]
call fcn.10002184
push edi
lea eax, [esp + 0x2884]
push ebx
push eax
call fcn.1005cd30
add esp, 0xc
lea ecx, [esp + 0x2880]
call fcn.10002184
push 2
mov dword [esp + 0x2b], 0x75747261
lea ecx, [esp + 0x24]
mov word [esp + 0x2f], 0x70
lea eax, [esp + 0x1c84]
mov word [esp + 0x29], 0x7473
mov dword [esp + 0x24], 0x656d6f68
mov byte [esp + 0x28], 0x2b
pop esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10004997
test dl, dl
je 0x10004993
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10004997
add eax, esi
add ecx, esi
test dl, dl
jne 0x10004979
mov eax, ebx
jmp 0x1000499c
sbb eax, eax
or eax, 1
test eax, eax
mov word [esp + 0x2d], 0x68
mov dword [esp + 0x28], 0x72616573
lea ecx, [esp + 0x20]
sete bh
mov dword [esp + 0x24], 0x5f746c75
mov dword [esp + 0x20], 0x61666564
lea eax, [esp + 0x2080]
mov byte [esp + 0x2c], 0x63
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100049ee
test dl, dl
je 0x100049ea
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100049ee
add eax, esi
add ecx, esi
test dl, dl
jne 0x100049d0
xor eax, eax
jmp 0x100049f3
sbb eax, eax
or eax, 1
test eax, eax
sete bl
test bh, bh
jne 0x10004a04
test bl, bl
je 0x10004e38
call fcn.1000d100
push 0xf
pop esi
xor eax, eax
mov dword [esp + 0x4c], esi
sub esp, 0x18
mov dword [esp + 0x60], eax
mov byte [esp + 0x50], al
mov ecx, esp
mov dword [esp + 0x48], eax
mov byte [esp + 0x38], al
lea eax, [esp + 0x98]
push eax
mov dword [esp + 0x50], esi
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x4b0]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x8c8]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0xce0]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x10f8]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x1510]
mov ecx, esp
push eax
call fcn.10006a02
lea eax, [esp + 0xc8]
push eax
lea eax, [esp + 0xa4]
push eax
push ecx
lea eax, [esp + 0x251c]
mov ecx, esp
push eax
call fcn.10006677
mov dl, bl
mov cl, bh
call fcn.1000ead0
add esp, 0x9c
call fcn.1000593f
cmp eax, esi
je 0x10004cd8
call fcn.10004415
push ecx
mov ecx, esp
push str.iexplore.exe
call fcn.10006677
call fcn.100042e0
pop ecx
test eax, eax
jne 0x10004b6f
sub esp, 0x18
lea eax, [esp + 0x98]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x4b0]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x8c8]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0xce0]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x10f8]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x1510]
mov ecx, esp
push eax
call fcn.10006a02
push ecx
mov dl, bl
mov cl, bh
call fcn.1000ff70
add esp, 0x94
jmp 0x10004cd8
mov esi, dword [sym.imp.SHLWAPI.dll_SHSetValueA]
mov edi, reloc.WS2_32.dll_bind
push 4
movzx eax, bh
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
push 4
push 0x100a6be0
push str.SoftwareITA
push edi
call esi
push 4
movzx eax, bl
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
push eax
push 4
push 0x100a6be4
push str.SoftwareITA
push edi
call esi
lea eax, [esp + 0x1480]
push eax
lea ecx, [esp + 0x18]
call fcn.10006677
mov eax, dword [esp + 0x14]
push dword [eax - 0xc]
push eax
push 1
push 0x100a6ba0
push str.SoftwareITA
push edi
call esi
lea eax, [esp + 0x1080]
push eax
lea ecx, [esp + 0x18]
call fcn.100065f2
mov eax, dword [esp + 0x14]
push dword [eax - 0xc]
push eax
push 1
push 0x100a6ba4
push str.SoftwareITA
push edi
call esi
lea eax, [esp + 0xc80]
push eax
lea ecx, [esp + 0x18]
call fcn.100065f2
mov eax, dword [esp + 0x14]
push dword [eax - 0xc]
push eax
push 1
push 0x100a6be8
push str.SoftwareITA
push edi
call esi
lea eax, [esp + 0x880]
push eax
lea ecx, [esp + 0x18]
call fcn.100065f2
mov eax, dword [esp + 0x14]
push dword [eax - 0xc]
push eax
push 1
push 0x100a6bec
push str.SoftwareITA
push edi
call esi
lea eax, [esp + 0x480]
push eax
lea ecx, [esp + 0x18]
call fcn.100065f2
mov eax, dword [esp + 0x14]
push dword [eax - 0xc]
push eax
push 1
push 0x100a6bf0
push str.SoftwareITA
push edi
call esi
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x18]
call fcn.100065f2
mov eax, dword [esp + 0x14]
push dword [eax - 0xc]
push eax
push 1
push 0x100a6bf4
push str.SoftwareITA
push edi
call esi
push 4
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 1
push eax
push 4
push str.InstalledIE
push str.SoftwareITA
push edi
call esi
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x1b], 1
lea ecx, [ecx - 0x10]
call fcn.10001e00
mov edi, 0x400
sub esp, 0x18
lea eax, [esp + 0x2898]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0xb0]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x4c8]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x2ce0]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x8f8]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0xd10]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x1128]
mov ecx, esp
push eax
call fcn.10006a02
sub esp, 0x18
lea eax, [esp + 0x1540]
mov ecx, esp
push eax
call fcn.10006a02
lea eax, [esp + 0xe0]
mov dl, bl
push eax
mov cl, bh
call fcn.1000d4d0
mov eax, dword [esp + 0xf4]
add esp, 0xc4
test eax, eax
je 0x10004de6
cmp dword [esp + 0x48], 0
jbe 0x10004de6
push 1
dec eax
lea ecx, [esp + 0x24]
push eax
call fcn.10006910
lea eax, [esp + 0x38]
push 0x100a6c04
push eax
lea ecx, [esp + 0x70]
call fcn.10009915
pop ecx
mov edx, eax
lea ecx, [esp + 0x54]
call fcn.100099bf
pop ecx
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x2c]
call fcn.100082a9
push 0
push 1
lea ecx, [esp + 0x58]
call fcn.1000803f
push 0
push 1
lea ecx, [esp + 0x70]
call fcn.1000803f
sub esp, 0x18
lea eax, [esp + 0x38]
mov ecx, esp
push eax
call fcn.10006a53
call fcn.1000242f
add esp, 0x18
lea ecx, [esp + 0x20]
push 0
push 1
call fcn.1000803f
push 0
push 1
lea ecx, [esp + 0x40]
call fcn.1000803f
cmp byte [esp + 0x1b], 0
je 0x10004e38
push edi
lea eax, [esp + 0x1884]
push 0
push eax
call fcn.1005cd30
add esp, 0xc
push 0x100a6b94
jmp 0x10004e50
push edi
lea eax, [esp + 0x1884]
push 0
push eax
call fcn.1005cd30
add esp, 0xc
push 0x100a6c0c
lea eax, [esp + 0x1884]
push edi
push eax
call fcn.100011a4
add esp, 0xc
lea ecx, [esp + 0x1880]
call fcn.100021b9
mov ecx, dword [esp + 0x3084]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1005a19b
mov esp, ebp
pop ebp
ret