Function at 0x436230
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e2e2d
mov eax, dword fs:[0]
push eax
sub esp, 0x1c4
mov eax, dword [0x660ff8]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xorps xmm0, xmm0
mov dword [ebp - 0x18c], 0
xor eax, eax
mov dword [ebp - 0x188], 7
movups xmmword [ebp - 0x19c], xmm0
mov word [ebp - 0x19c], ax
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x19c]
push str.srl::Applications::Detect
mov byte [ebp - 0x1a0], al
call fcn.00414980
mov dword [ebp - 4], 1
call fcn.0041c750
cmp dword [eax + 4], 4
jl 0x4362bf
push ecx
lea ecx, [ebp - 0x1a0]
call fcn.004127b0
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 0
push 0
push 0x116f3
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 3
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 4
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x12c]
call fcn.0041de20
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 0
push 0
push 0x116f5
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 5
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 6
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x12c]
call fcn.0041de20
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 0
push 0
push 0x116f7
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 7
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 8
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x12c]
call fcn.0041de20
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 0
push 0
push 0x116f9
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 9
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xa
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x12c]
call fcn.0041de20
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 0
push 0
push 0x116fb
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0xb
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xc
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x12c]
call fcn.0041de20
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 0
push 0
push 0x11702
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0xd
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0xe
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x12c]
call fcn.0041de20
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0
mov dword [ebp - 0x1c0], 0
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
lea eax, [ebp - 0x1b0]
push eax
push 0x20019
push 0
push str.SOFTWAREMacromediaFlashPlayer
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x1b0], 0
call edi
test eax, eax
jne 0x43651d
mov eax, dword [ebp - 0x1b0]
lea ecx, [ebp - 0x1b0]
push ecx
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x1c8], eax
push ecx
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x1c4], 0
push ecx
push 0
push str.CurrentVersion
push eax
mov dword [ebp - 0x1b0], 0x28
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x43651d
mov eax, dword [ebp - 0x1b8]
cmp eax, 1
je 0x4364fd
cmp eax, 2
jne 0x43651d
mov eax, dword [ebp - 0x1b0]
test eax, eax
je 0x4365bd
test al, 1
jne 0x43651d
shr eax, 1
cmp word [ebp + eax*2 - 0x3e], 0
je 0x4365c3
or esi, 0xffffffff
xorps xmm0, xmm0
mov dword [ebp - 0x134], 0
xor eax, eax
mov dword [ebp - 0x130], 7
movups xmmword [ebp - 0x144], xmm0
mov word [ebp - 0x144], ax
push str.wmplayer.exe
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x14
call fcn.004078f2
lea edx, [ebp - 0x144]
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x11c]
call fcn.004357e0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x108]
mov byte [ebp - 0x1a1], al
cmp ecx, 8
jb 0x43668e
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x43667e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437559
jmp 0x43667e
xor eax, eax
mov word [ebp - 0x3c], ax
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 1
push 0
push 0x116f1
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x10
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x11
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x12c]
call fcn.0041de20
lea eax, [ebp - 0x3c]
push eax
lea ecx, [ebp - 0x1ac]
call fcn.0045b820
mov esi, eax
push 0
push 0x116f2
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 0x12
call fcn.0041dbf0
push 0
push esi
push eax
mov byte [ebp - 4], 0x13
call fcn.004448b0
lea ecx, [ebp - 0x12c]
call fcn.0041de20
mov byte [ebp - 4], 0xf
or esi, 0xffffffff
mov edx, dword [ebp - 0x1a8]
mov eax, esi
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436520
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x436520
push ecx
push edx
call fcn.005b0fc9
mov al, byte [ebp - 0x1a1]
add esp, 8
test al, al
je 0x43680f
xorps xmm0, xmm0
mov dword [ebp - 0x10c], 0
xor eax, eax
mov dword [ebp - 0x108], 7
movups xmmword [ebp - 0x11c], xmm0
mov word [ebp - 0x11c], ax
lea edx, [ebp - 0x11c]
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x144]
call fcn.00435630
test al, al
je 0x4367cb
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 1
push 0
push 0x116f3
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x17
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x18
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x16
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x43755e
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
lea ecx, [ebp - 0x1a8]
cmp dword [ebp - 0x108], 8
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x11c]
cmovae eax, dword [ebp - 0x11c]
push eax
call fcn.0040d8d0
push 0
push 0x11611
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x19
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x1a
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x16
mov eax, esi
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4367cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x108]
cmp ecx, 8
jb 0x43680f
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x436805
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4375cc
push ecx
push edx
call fcn.005b0fc9
add esp, 8
cmp dword [ebp - 0x130], 8
lea eax, [ebp - 0x144]
mov dword [ebp - 0x134], 0
cmovae eax, dword [ebp - 0x144]
xor ecx, ecx
push str.AcroRd32.exe
mov word [eax], cx
lea ecx, [ebp - 0x11c]
call fcn.004078f2
lea edx, [ebp - 0x144]
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x11c]
call fcn.004357e0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x108]
mov byte [ebp - 0x1a1], al
cmp ecx, 8
jb 0x4368a7
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x436897
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437568
push ecx
push edx
call fcn.005b0fc9
mov al, byte [ebp - 0x1a1]
add esp, 8
test al, al
je 0x436a28
xorps xmm0, xmm0
mov dword [ebp - 0x10c], 0
xor eax, eax
mov dword [ebp - 0x108], 7
movups xmmword [ebp - 0x11c], xmm0
mov word [ebp - 0x11c], ax
lea edx, [ebp - 0x11c]
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x144]
call fcn.00435630
test al, al
je 0x4369e4
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 1
push 0
push 0x116f5
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x1d
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x1e
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x1c
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x43756d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
lea ecx, [ebp - 0x1a8]
cmp dword [ebp - 0x108], 8
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x11c]
cmovae eax, dword [ebp - 0x11c]
push eax
call fcn.0040d8d0
push 0
push 0x116f6
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x1f
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x20
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x1c
mov eax, esi
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4369e4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x108]
cmp ecx, 8
jb 0x436a28
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x436a1e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4375cc
push ecx
push edx
call fcn.005b0fc9
add esp, 8
cmp dword [ebp - 0x130], 8
lea eax, [ebp - 0x144]
mov dword [ebp - 0x134], 0
cmovae eax, dword [ebp - 0x144]
xor ecx, ecx
push str.QuickTimePlayer.exe
mov word [eax], cx
lea ecx, [ebp - 0x11c]
call fcn.004078f2
lea edx, [ebp - 0x144]
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x11c]
call fcn.004357e0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x108]
mov byte [ebp - 0x1a1], al
cmp ecx, 8
jb 0x436ac0
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x436ab0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437577
push ecx
push edx
call fcn.005b0fc9
mov al, byte [ebp - 0x1a1]
add esp, 8
test al, al
je 0x436c41
xorps xmm0, xmm0
mov dword [ebp - 0x10c], 0
xor eax, eax
mov dword [ebp - 0x108], 7
movups xmmword [ebp - 0x11c], xmm0
mov word [ebp - 0x11c], ax
lea edx, [ebp - 0x11c]
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x144]
call fcn.00435630
test al, al
je 0x436bfd
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 1
push 0
push 0x116f7
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x23
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x24
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x22
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x43757c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
lea ecx, [ebp - 0x1a8]
cmp dword [ebp - 0x108], 8
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x11c]
cmovae eax, dword [ebp - 0x11c]
push eax
call fcn.0040d8d0
push 0
push 0x116f8
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x25
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x26
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x22
mov eax, esi
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436bfd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x108]
cmp ecx, 8
jb 0x436c41
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x436c37
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4375cc
push ecx
push edx
call fcn.005b0fc9
add esp, 8
cmp dword [ebp - 0x130], 8
lea eax, [ebp - 0x144]
mov dword [ebp - 0x134], 0
cmovae eax, dword [ebp - 0x144]
xor ecx, ecx
push str.Winword.exe
mov word [eax], cx
lea ecx, [ebp - 0x11c]
call fcn.004078f2
lea edx, [ebp - 0x144]
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x11c]
call fcn.004357e0
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x108]
mov byte [ebp - 0x1a1], al
cmp ecx, 8
jb 0x436cd9
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x436cc9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437586
push ecx
push edx
call fcn.005b0fc9
mov al, byte [ebp - 0x1a1]
add esp, 8
test al, al
je 0x436e5a
xorps xmm0, xmm0
mov dword [ebp - 0x10c], 0
xor eax, eax
mov dword [ebp - 0x108], 7
movups xmmword [ebp - 0x11c], xmm0
mov word [ebp - 0x11c], ax
lea edx, [ebp - 0x11c]
mov byte [ebp - 4], 0x28
lea ecx, [ebp - 0x144]
call fcn.00435630
test al, al
je 0x436e16
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 1
push 0
push 0x116f9
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x29
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x2a
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x28
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x43758b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
lea ecx, [ebp - 0x1a8]
cmp dword [ebp - 0x108], 8
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x11c]
cmovae eax, dword [ebp - 0x11c]
push eax
call fcn.0040d8d0
push 0
push 0x116fa
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x2b
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x2c
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x28
mov eax, esi
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436e16
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x108]
cmp ecx, 8
jb 0x436e5a
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x436e50
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4375cc
push ecx
push edx
call fcn.005b0fc9
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x174], 0
xor eax, eax
mov dword [ebp - 0x170], 7
movups xmmword [ebp - 0x184], xmm0
mov word [ebp - 0x184], ax
push str.3F0FC462_CDC1_4CD9_8E84_84D89B914EAA
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x2d
call fcn.004078f2
lea edx, [ebp - 0x184]
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x11c]
call fcn.00435a50
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0x108]
mov byte [ebp - 0x1a1], al
cmp ecx, 8
jb 0x436efa
mov edx, dword [ebp - 0x11c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x436eea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x437595
push ecx
push edx
call fcn.005b0fc9
mov al, byte [ebp - 0x1a1]
add esp, 8
test al, al
je 0x436ff3
mov dword [ebp - method.srl::Exists.virtual_0], vtable.srl::Exists.0
mov byte [ebp - 0x1a8], 1
push 0
push 0x11702
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x2f
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x30
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x2d
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x43759a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
lea ecx, [ebp - 0x1a8]
cmp dword [ebp - 0x170], 8
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x184]
cmovae eax, dword [ebp - 0x184]
push eax
call fcn.0040d8d0
push 0
push 0x11703
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x31
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x32
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x2d
mov eax, esi
mov edx, dword [ebp - 0x1a8]
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436ff3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
xor esi, esi
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x108], esi
lea eax, [ebp - 0x1b0]
mov byte [ebp - 4], 0x33
push eax
push 0x20019
push esi
push str.SOFTWAREJavaSoftJava_Runtime_Environment
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x1b0], esi
call edi
mov ecx, eax
test ecx, ecx
jne 0x437042
mov esi, dword [ebp - 0x1b0]
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], eax
xor eax, eax
test ecx, ecx
cmovne eax, ecx
test eax, eax
je 0x4370a2
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x1b0], 0
push eax
push 0x20219
push 0
push str.SOFTWAREJavaSoftJava_Runtime_Environment
push reloc.OLEAUT32.dll_SysReAllocString
call edi
test eax, eax
jne 0x43742b
test esi, esi
je 0x437084
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov esi, dword [ebp - 0x1b0]
mov dword [ebp - 0x110], esi
mov dword [ebp - 0x10c], 0x200
test eax, eax
jne 0x43742b
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x4375a4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1b4], eax
push 0x62bf34
lea ecx, [ebp - 0x1b4]
mov byte [ebp - 4], 0x34
call fcn.0040d730
test al, al
jne 0x4370e9
push 0x62bf34
lea ecx, [ebp - 0x1b4]
call fcn.0040d8d0
mov byte [ebp - 4], 0x35
xor cl, cl
mov esi, dword [ebp - 0x1b4]
xor eax, eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1b8], 0x64
mov byte [ebp - 0x1a1], cl
nop dword [eax]
test cl, cl
jne 0x437302
lea ecx, [ebp - 0x1d0]
mov dword [ebp - 0x1b8], 0x64
push ecx
push 0
push 0
push 0
lea ecx, [ebp - 0x1b8]
push ecx
lea ecx, [ebp - 0x104]
push ecx
push eax
push dword [ebp - 0x110]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0x103
jne 0x43715b
mov eax, dword [ebp - 0x1b0]
mov cl, 1
jmp 0x437107
mov edi, dword [esi - 0xc]
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, edi
jle 0x4372ea
lea edi, [ebp - 0x104]
lea ecx, [edi + 2]
nop dword [eax]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x437180
sub edi, ecx
sar edi, 1
jne 0x437219
cmp dword [esi - 0xc], 0
lea edx, [esi - 0x10]
mov edi, dword [edx]
je 0x4372ea
cmp dword [edx + 0xc], 0
lea ecx, [edx + 0xc]
jge 0x4371db
cmp dword [esi - 8], 0
jl 0x4375ae
mov cl, byte [ebp - 0x1a1]
xor eax, eax
mov dword [esi - 0xc], 0
mov word [esi], ax
mov eax, dword [ebp - 0x1b0]
inc eax
mov dword [ebp - 0x1b0], eax
jmp 0x437110
or eax, 0xffffffff
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x4371ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi]
mov ecx, edi
mov eax, dword [eax + 0xc]
call eax
mov cl, byte [ebp - 0x1a1]
lea esi, [eax + 0x10]
mov eax, dword [ebp - 0x1b0]
inc eax
mov dword [ebp - 0x1b4], esi
mov dword [ebp - 0x1b0], eax
jmp 0x437110
mov eax, dword [esi - 0xc]
lea edx, [ebp - 0x104]
sub edx, esi
mov dword [ebp - 0x1a8], eax
sar edx, 1
mov dword [ebp - 0x1bc], edx
test edi, edi
js 0x4375b8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x437263
push edi
lea ecx, [ebp - 0x1b4]
call fcn.0040212b
mov esi, dword [ebp - 0x1b4]
mov edx, dword [ebp - 0x1bc]
lea ecx, [edi + edi]
mov eax, dword [esi - 8]
cmp edx, dword [ebp - 0x1a8]
ja 0x43729c
lea edx, [esi + edx*2]
test ecx, ecx
je 0x4372d8
test edx, edx
jne 0x437289
call fcn.005b809d
mov dword [eax], 0x16
jmp 0x4372d0
add eax, eax
cmp eax, ecx
jb 0x4372c5
push ecx
push edx
push esi
call fcn.005b47d0
add esp, 0xc
jmp 0x4372d5
add eax, eax
test ecx, ecx
je 0x4372d8
cmp eax, ecx
jb 0x4372b9
push ecx
lea eax, [ebp - 0x104]
push eax
push esi
call fcn.005b47d0
add esp, 0xc
jmp 0x4372d5
push eax
push 0
push esi
call fcn.005b4d50
add esp, 0xc
call fcn.005b809d
mov dword [eax], 0x22
call fcn.005b7f9f
lea ecx, [edi + edi]
cmp edi, dword [esi - 8]
jg 0x4375ae
xor eax, eax
mov dword [esi - 0xc], edi
mov word [ecx + esi], ax
mov eax, dword [ebp - 0x1b0]
mov cl, byte [ebp - 0x1a1]
inc eax
mov dword [ebp - 0x1b0], eax
jmp 0x437110
cmp dword [esi - 0xc], 0
jle 0x437409
push ecx
push 0x5f
lea ecx, [ebp - 0x1b4]
call fcn.004375e0
mov esi, dword [ebp - 0x1b4]
lea ecx, [ebp - 0x1b4]
mov eax, dword [esi - 0xc]
add eax, 0xfffffffe
push eax
push 2
lea eax, [ebp - 0x1b0]
push eax
call fcn.0040fde0
mov byte [ebp - 4], 0x36
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
call fcn.0040cf77
mov ecx, eax
test ecx, ecx
je 0x4375c2
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
lea ecx, [ebp - 0x1a8]
mov dword [ebp - 0x1a8], eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.00410070
push 0
push 0x1171e
lea ecx, [ebp - 0x16c]
mov byte [ebp - 4], 0x37
call fcn.0041dbf0
push 0
lea ecx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x38
push ecx
push eax
call fcn.004448b0
lea ecx, [ebp - 0x16c]
call fcn.0041de20
mov byte [ebp - 4], 0x36
or edi, 0xffffffff
mov edx, dword [ebp - 0x1a8]
mov eax, edi
mov dword [ebp - method.srl::Version.virtual_0], vtable.srl::Version.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4373dc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0x35
mov eax, edi
mov edx, dword [ebp - 0x1b0]
mov dword [ebp - method.srl::Value.virtual_0], vtable.srl::Value.0
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43740c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x43740c
or edi, 0xffffffff
mov byte [ebp - 4], 0x33
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x437425
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x110]
test esi, esi
je 0x437436
push esi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov byte [ebp - 4], 0x14
mov ecx, dword [ebp - 0x170]
cmp ecx, 8
jb 0x43747a
mov edx, dword [ebp - 0x184]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x437470
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4375cc
push ecx
push edx
call fcn.005b0fc9
add esp, 8
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x130]
cmp ecx, 8
jb 0x4374be
mov edx, dword [ebp - 0x144]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4374b4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4375cc
push ecx
push edx
call fcn.005b0fc9
add esp, 8
xor eax, eax
mov dword [ebp - 0x134], 0
mov word [ebp - 0x144], ax
mov eax, dword [ebp - 0x1c8]
mov dword [ebp - 0x130], 7
test eax, eax
je 0x4374ec
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea ecx, [ebp - 0x1a0]
call fcn.00414280
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.005b0d47
mov esp, ebp
pop ebp
ret
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
call fcn.005b7faf
push 0x80004005
call fcn.00402449
push 0x80004005
call fcn.00402449
push 0x80070057
call fcn.00402449
push 0x80070057
call fcn.00402449
push 0x80004005
call fcn.00402449
call fcn.005b7faf
int3