Function at 0x1003bf69
Capabilities:
Packed with generic packer

Disassembly:
js 0x1004d4b2
xchg bx, dx
xchg dx, bx
mov bx, bx
jns 0x10023e1a
mov dl, 0xce
mov ecx, cs
retf 0x890f
jns 0x1004d4b2
cmp eax, ebx
ja 0x1004b145
jbe 0x10023e30
in eax, dx
pop edi
push ss
std
salc
pop esp
mov edx, dword [esi]
mov dword [ebp - 0x10], eax
jmp 0x10023e36
push edx
jno 0x10025be0
jo 0x10023e43
call fcn.100331c1
add eax, edi
jmp 0x10025be8
lea esi, [esi + 4]
mov bp, bp
mov dword [ebp + 0x48], esp
xchg cx, si
xchg si, cx
jmp dword [esi]
invalid
jne 0x10033cd5
or esp, dword [esi]
jbe 0x10026013
add eax, 0x9b840f14
pop esi
add dword [eax], eax
jne 0x10033cb8
in eax, dx
and ebp, edi
cmp bl, 0x32
je 0x10049b4e
jne 0x10033cc7
nop
cpuid
ret 0x2166
and bp, bp
cmp bl, 0x65
je 0x10049b0d
jne 0x10033cd7
jg 0x10033ca1
test ebp, 0x51af993f
cmp bl, 0x66
jne 0x1004e81d
je 0x10033ceb
add dh, 0
cmp cl, 0x30
jb 0x10023a42
mov cx, cx
jae 0x10033d22
test al, 0x89
jns 0x10033cab
leave
jmp fcn.10040b4e
je 0x100493c0
jne 0x10037292
nop
cpuid
ret 0x358b
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ah, ah
push str.RegOpenKeyA
jno 0x1004d3a4
shr cx, 0x40
jo 0x100372ae
sbb al, 0xb3
fmul qword [edi]
xor al, 0x60
add dword [eax], eax
jo 0x1004d3a4
and eax, 0x200068a1
add byte [eax], al
push edi
push 0x2000
push edi
call fcn.10051eec
fsub dword [ecx]
invalid
fdivr dword [eax - 0x74b3a275]
push esi
or byte [ebx + 0x768d0446], cl
or al, 0x39
add al, 0x13
jne 0x10025729
je 0x1003bf82
call fcn.1003e170
and eax, 0xc0413c16
out 0x20, eax
jae 0x100493e7
jb 0x100493d9
cmp eax, 0x37c5443a
cmp al, 0x39
ja 0x10023a42
jbe 0x100493e7
cpuid
ret
add al, 0xd0
cmp al, 9
jbe 0x100493fe
ja 0x100493f6
ljmp 0:0xc28113a2
add edx, 0
add al, 0xf9
shl ax, 0x20
mov cl, byte [esi]
shl al, 4
sub ax, 0
test cl, cl
jb 0x1004c247
mov bx, bx
je 0x10023a42
mov cl, cl
jne 0x10049424
adc dword [edi], ebx
fcom dword [edi]
stc
jb 0x1004942d
inc esp
xchg ebx, eax
or ecx, 0xffffffd8
invalid
jb 0x10033d0c
xor eax, 0xc9870f9b
test eax, 0xdf86fffd
xchg bl, bh
shl cx, 0x20
jbe 0x10049447
jns 0x1004944c
jbe 0x10023e04
inc dword [edx + 0x201003dd]
sbb ch, 3
adc byte [eax], ah
cdq
add eax, 0x10
add byte [eax + eax], dl
add byte [ebp + 0x3810029b], bl
add byte [eax], al
add byte [eax], bh
add byte [eax], al
add al, bl
adc al, 4
adc byte [ebp + edi + 0x509d1004], bl
add dl, byte [eax]
cmp byte [eax], al
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
stosd dword es:[edi], eax
add eax, 0x4b4c910
adc bl, ch
pop ds
add eax, 0x4949310
adc byte [ecx], dl
mov eax, 0xf1ecfe58
clc
add eax, 0x10
add byte [eax], dl
add byte [eax], al
rcl dword [edi], cl
add dl, byte [eax]
cmp byte [eax], al
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
fcom dword [esp + eax]
adc byte [ebp + edi + 0x2d6b1004], ch
add edx, dword [eax]
dec esp
add byte [eax], al
add byte [ebp + 0x4c10052a], ah
add byte [eax], al
add byte [edx + ecx*2], bl
add dl, byte [eax]
add byte [ecx], ah
cmp byte [eax + eax], 0
add byte [eax], al
and dword [eax], eax
add dh, bh
add byte [eax], al
add byte [eax], al
adc al, byte [eax]
add byte [eax], al
inc edx
add byte [eax], al
cmp byte [eax], al
add byte [eax], al
and byte [eax + 0x2aa51005], ch
add eax, 0x4c10
add al, dh
rol byte [0x4b4c310], cl
adc al, ah
test al, 2
adc byte [0x73100495], al
sub edi, 0xe0cca104
test al, 2
adc bl, al
mov ah, 4
adc bh, al
cmp byte [6], 0xf
test byte [edx + 0x75fffd6e], dl
add cl, byte [eax + 0x57]
cmp eax, 4
jmp fcn.10020391
or ah, 0xf
test dword [eax + 0x5a], ebp
add byte [eax], al
call esi
test eax, eax
jb 0x1003bf5b
mov dword [ebp - 0x14], eax
je 0x100493c0
jne 0x100540f7
cmpsd dword [esi], dword es:[edi]
lodsd eax, dword [esi]
push str.advapi32.dll
mov bl, bl
call esi
mov edi, eax
stc
test edi, edi
jb 0x1003bf67
ja 0x10037286
jbe 0x10054118
mov ah, 0x11
mov dword [edi + ebp*2 + 0x3168860f], ebx
invalid
jbe 0x10037286
fisub dword [esi + 0x66]
mov eax, dword [edi + 0x20]
push eax
push esi
call fcn.10050cf1
xor ecx, ecx
jb 0x100297dc
mov cx, word [edi + 0x24]
call fcn.100329ae
ret