Function at 0x43a380
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5333c8
mov eax, dword fs:[0]
push eax
sub esp, 0x27c
mov eax, dword [0x589644]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
lea eax, [ebp - 0x228]
xorps xmm0, xmm0
push eax
push dword [edi + 4]
movups xmmword [ebp - 0x228], xmm0
call dword [sym.imp.USER32.dll_GetClientRect]
push 0xb4
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x43a3f8
mov ecx, eax
call fcn.004b3660
mov edx, eax
mov dword [ebp - 0x25c], eax
jmp 0x43a400
xor edx, edx
mov dword [ebp - 0x25c], edx
mov ecx, dword [0x588094]
lea eax, [edi + 0x24]
movups xmm0, xmmword [ebp - 0x228]
mov esi, edi
mov dword [ebp - 4], 0xffffffff
neg esi
push 0
sbb esi, esi
sub esp, 0x10
and esi, eax
lea eax, [ecx + 1]
mov dword [0x588094], eax
mov eax, esp
mov dword [ebp - 0x26c], esi
push ecx
push esi
push dword [edi + 4]
mov ecx, edx
movups xmmword [eax], xmm0
call fcn.004a4810
push 0
push 0
push 0x12c
call fcn.0041b380
mov ecx, eax
call fcn.004af850
mov ecx, dword [ebp - 0x25c]
push eax
call fcn.004b3f10
movaps xmm0, xmmword [0x548100]
lea eax, [ebp - 0x248]
mov ecx, dword [ebp - 0x25c]
push eax
movups xmmword [ebp - 0x248], xmm0
call fcn.004b3c10
mov eax, dword [edi + 0x44]
push 0
push dword [ebp - 0x25c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xe0]
push 0xa8
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 1
test eax, eax
je 0x43a4c7
mov ecx, eax
call fcn.004ab100
mov ecx, eax
mov dword [ebp - 0x268], eax
jmp 0x43a4cf
xor ecx, ecx
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x220]
push 0
push 0x12
push 0x12
push 0x10
add eax, 0xffffffe4
mov dword [ebp - 4], 0xffffffff
push eax
push 0x3f3
push esi
push dword [edi + 4]
call fcn.004a4790
push 0
push 0x12d
call fcn.0041b380
mov ecx, eax
call fcn.004af850
mov ecx, dword [ebp - 0x268]
push eax
call fcn.004aba30
mov eax, dword [edi + 0x44]
push 0
push dword [ebp - 0x268]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xe0]
push 0xa8
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 2
test eax, eax
je 0x43a558
mov ecx, eax
call fcn.004ab100
mov ecx, eax
mov dword [ebp - 0x268], eax
jmp 0x43a560
xor ecx, ecx
mov dword [ebp - 0x268], ecx
mov eax, dword [ebp - 0x220]
push 0
push 6
push 0x14
push 0x16
add eax, 0xffffffc4
mov dword [ebp - 4], 0xffffffff
push eax
push 0x3f4
push esi
push dword [edi + 4]
call fcn.004a4790
push 0
push 0x12e
call fcn.0041b380
mov ecx, eax
call fcn.004af850
mov esi, dword [ebp - 0x268]
mov ecx, esi
push eax
call fcn.004aba30
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0x88
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 3
test eax, eax
je 0x43a5e0
mov ecx, eax
call fcn.004abbb0
mov esi, eax
jmp 0x43a5e2
xor esi, esi
mov ecx, dword [0x588094]
push 0
push 0x14
push 0x1c2
push 0x43
push 0x1e
push ecx
push dword [ebp - 0x26c]
lea eax, [ecx + 1]
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
mov ecx, esi
mov dword [0x588094], eax
call fcn.004a4790
mov eax, dword [esi]
push 0
push 0x666666
push esi
call dword [eax + 0x5c]
push 0x3f1
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
push 0
mov ecx, esi
call fcn.004a5490
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b69d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push 0x549a2c
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 4
call fcn.00411390
test al, al
jne 0x43a690
push 0x19
push 0x549a2c
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 5
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a6cb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0xb0
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 6
test eax, eax
je 0x43a703
mov ecx, eax
call fcn.004b48b0
mov esi, eax
jmp 0x43a705
xor esi, esi
push 0
push 0x14
push 0x73
push 0x73
push 0x1e
push 0x3e8
push dword [ebp - 0x26c]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
call fcn.004a4790
mov eax, dword [esi]
push 0
push 0x666666
push esi
call dword [eax + 0x5c]
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b6a7
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push 0x549a60
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 7
call fcn.00411390
test al, al
jne 0x43a784
push 4
push 0x549a60
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 8
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a7bf
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x3ee
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
push 0
push 0xf5
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0xb0
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 9
test eax, eax
je 0x43a82b
mov ecx, eax
call fcn.004b48b0
mov esi, eax
jmp 0x43a82d
xor esi, esi
push 0
push 0x14
push 0x73
push 0x73
push 0xdb
push 0x3e9
push dword [ebp - 0x26c]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
call fcn.004a4790
mov eax, dword [esi]
push 0
push 0x666666
push esi
call dword [eax + 0x5c]
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b6b1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push 0x549a6c
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 0xa
call fcn.00411390
test al, al
jne 0x43a8af
push 4
push 0x549a6c
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 0xb
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43a8ea
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x3ee
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
push 0
push 0xf5
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0xb0
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0xc
test eax, eax
je 0x43a956
mov ecx, eax
call fcn.004b48b0
mov esi, eax
jmp 0x43a958
xor esi, esi
push 0
push 0x14
push 0x73
push 0x73
push 0x188
push 0x3ea
push dword [ebp - 0x26c]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
call fcn.004a4790
mov eax, dword [esi]
push 0
push 0x666666
push esi
call dword [eax + 0x5c]
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b6bb
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push 0x549a78
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 0xd
call fcn.00411390
test al, al
jne 0x43a9da
push 6
push 0x549a78
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 0xe
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43aa15
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x3ee
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
push 0
push 0xf5
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0xb0
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0xf
test eax, eax
je 0x43aa81
mov ecx, eax
call fcn.004b48b0
mov esi, eax
jmp 0x43aa83
xor esi, esi
push 0
push 0x14
push 0x73
push 0x9a
push 0x1e
push 0x3eb
push dword [ebp - 0x26c]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
call fcn.004a4790
mov eax, dword [esi]
push 0
push 0x666666
push esi
call dword [eax + 0x5c]
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b6c5
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push 0x549a88
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 0x10
call fcn.00411390
test al, al
jne 0x43ab05
push 5
push 0x549a88
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 0x11
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ab40
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x3ee
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
push 0
push 0xf5
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0xb0
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0x12
test eax, eax
je 0x43abac
mov ecx, eax
call fcn.004b48b0
mov esi, eax
jmp 0x43abae
xor esi, esi
push 0
push 0x14
push 0x73
push 0x9a
push 0xdb
push 0x3ec
push dword [ebp - 0x26c]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
call fcn.004a4790
mov eax, dword [esi]
push 0
push 0x666666
push esi
call dword [eax + 0x5c]
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b6cf
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push str._rNeP
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 0x13
call fcn.00411390
test al, al
jne 0x43ac33
push 5
push str._rNeP
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 0x14
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ac6e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x3ee
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
push 0
push 0xf5
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0xb0
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0x15
test eax, eax
je 0x43acda
mov ecx, eax
call fcn.004b48b0
mov esi, eax
jmp 0x43acdc
xor esi, esi
push 0
push 0x14
push 0x73
push 0x9a
push 0x188
push 0x3ed
push dword [ebp - 0x26c]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
call fcn.004a4790
mov eax, dword [esi]
push 0
push 0x666666
push esi
call dword [eax + 0x5c]
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b6d9
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push str.1_f_rN
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 0x16
call fcn.00411390
test al, al
jne 0x43ad61
push 5
push str.1_f_rN
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 0x17
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43ad9c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x3ee
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
push 0
push 0xf5
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0xb4
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0x18
test eax, eax
je 0x43ae08
mov ecx, eax
call fcn.004b3660
mov esi, eax
jmp 0x43ae0a
xor esi, esi
mov ecx, dword [0x588094]
push 0
push 0x50
push 0x1e2
push 0xc4
push 0x1e
push ecx
push dword [ebp - 0x26c]
lea eax, [ecx + 1]
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
mov ecx, esi
mov dword [0x588094], eax
call fcn.004a4790
push 0
push 0
push 0xf6
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004b3f10
movaps xmm0, xmmword [0x549c10]
lea eax, [ebp - 0x258]
push eax
mov ecx, esi
movups xmmword [ebp - 0x258], xmm0
call fcn.004b3c10
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
movaps xmm0, xmmword [0x549c20]
lea esi, [edi + 0x80]
mov eax, dword [edi + 4]
movups xmmword [ebp - 0x238], xmm0
mov dword [ebp - 0x274], eax
call fcn.00421740
cmp dword [eax + 0x30], 0
jne 0x43aebc
call fcn.00421740
mov dword [eax + 0x30], str.EDIT
call fcn.00421740
push dword [ebp - 0x264]
lea ecx, [esi + 0x20]
push ecx
push eax
push 0x587d88
push 0x58fb18
call fcn.0041cda0
movzx eax, ax
add esp, 0x14
mov dword [ebp - 0x268], eax
mov eax, dword [esi + 0x14]
test eax, eax
jne 0x43b018
call fcn.00471d56
mov dword [esi + 0x14], eax
test eax, eax
jne 0x43b018
push 0xe
call dword [sym.imp.KERNEL32.dll_SetLastError]
mov byte [ebp - 0x26d], 0
lea eax, [ebp - 0x278]
mov dword [ebp - 4], 0x19
push eax
call fcn.00478ed3
lea eax, [ebp - 0x278]
mov dword [ebp - 4], 0x1a
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x26d]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x260]
push eax
push 0x41ea50
push 0x58cfd0
call fcn.004798cc
add esp, 0x10
test eax, eax
je 0x43b67d
lea eax, [ebp - 0x278]
mov dword [ebp - 4], 0x1b
push eax
call fcn.00478f0d
mov eax, dword [0x58cfcc]
add esp, 4
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 4], 0xffffffff
push 0
push dword [eax]
push 0x30
push dword [edi + 0x84]
call esi
push 0xf
push 0x549aac
lea ecx, [edi + 0xa4]
call fcn.00412460
push 0
push 0
push dword [edi + 0x84]
mov dword [edi + 0xa8], 0
call dword [sym.imp.USER32.dll_InvalidateRect]
push 0
push 0x104
push 0xc5
push dword [edi + 0x84]
call esi
movaps xmm0, xmmword [0x549c30]
push 0xb0
movups xmmword [ebp - 0x288], xmm0
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0x1e
test eax, eax
je 0x43b0cf
mov ecx, eax
call fcn.004b48b0
mov esi, eax
jmp 0x43b0d1
push 0
push 0
push eax
call fcn.00471e58
cmp word [ebp - 0x268], 0
je 0x43af0a
lea eax, [esi + 8]
mov dword [ebp - 0x25c], eax
test eax, eax
je 0x43b6e3
test esi, esi
je 0x43b6e3
mov dword [eax], esi
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, dword [ebp - 0x25c]
push 0x587d8c
mov dword [esi + 4], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x587da4]
mov dword [esi + 8], eax
push 0x587d8c
mov dword [0x587da4], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x234]
sub eax, edx
mov ecx, dword [ebp - 0x238]
push 0
push dword [0x58fb1c]
push 0x7d0
push dword [ebp - 0x274]
push eax
mov eax, dword [ebp - 0x230]
sub eax, ecx
push eax
mov eax, dword [ebp - 0x268]
push edx
push ecx
push 0x56000080
push 0
movzx eax, ax
push eax
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
jmp 0x43af0a
xor esi, esi
movaps xmm0, xmmword [0x549c30]
mov ecx, esi
push 0
sub esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov eax, esp
push 0x3ee
push dword [ebp - 0x26c]
movups xmmword [eax], xmm0
push dword [edi + 4]
call fcn.004a4810
push 0
push 0xef
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b6ef
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push 0x549acc
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 0x1f
call fcn.00411390
test al, al
jne 0x43b165
push 4
push 0x549acc
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 0x20
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43b1a0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi]
push 0
push 0xada59b
push esi
call dword [eax + 0x5c]
push 0x3eb
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
push 0
push 1
mov ecx, esi
call fcn.004b4ca0
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
call fcn.0044f950
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
je 0x43b3a4
push 0xb0
mov dword [ebp - 0x288], 0x6e
mov dword [ebp - 0x280], 0xc8
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x268], eax
mov dword [ebp - 4], 0x21
test eax, eax
je 0x43b230
mov ecx, eax
call fcn.004b48b0
mov esi, eax
jmp 0x43b232
xor esi, esi
movups xmm0, xmmword [ebp - 0x288]
push 0
sub esp, 0x10
mov dword [ebp - 4], 0xffffffff
mov eax, esp
mov ecx, esi
push 0x3f0
push dword [ebp - 0x26c]
movups xmmword [eax], xmm0
push dword [edi + 4]
call fcn.004a4810
push 0
push 0xef
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b6f9
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push 0x549ad8
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 0x22
call fcn.00411390
test al, al
jne 0x43b2c6
push 5
push 0x549ad8
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 0x23
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43b301
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [esi]
push 0
push 0xada59b
push esi
call dword [eax + 0x5c]
push 0x3eb
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
push 0x208
lea eax, [ebp - 0x218]
mov dword [ebp - 0x264], 1
push 0
push eax
mov dword [ebp - 0x274], 0x104
call fcn.004d7bd0
add esp, 0xc
lea eax, [ebp - 0x274]
lea ecx, [ebp - 0x26d]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x264]
push eax
push str.Played
call fcn.004395c0
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
mov ecx, esi
push 0
test eax, eax
jne 0x43b38e
push 1
jmp 0x43b390
push 0
call fcn.004b4ca0
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0xa8
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0x24
test eax, eax
je 0x43b3cd
mov ecx, eax
call fcn.004ab100
mov esi, eax
jmp 0x43b3cf
xor esi, esi
push 0
push 0x20
push 0x60
push 0x133
push 0x124
push 0x3f1
push dword [ebp - 0x26c]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
call fcn.004a4790
call fcn.0044f950
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
push 0
test eax, eax
je 0x43b42e
push 0x133
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
push 0
push 0x888888
jmp 0x43b44e
push 0x143
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
push 0
push 0xffffff
mov eax, dword [esi]
push esi
call dword [eax + 0x5c]
push 0x3ee
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b703
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x25c], eax
push 0x549af4
lea ecx, [ebp - 0x25c]
mov dword [ebp - 4], 0x25
call fcn.00411390
test al, al
jne 0x43b4b9
push 4
push 0x549af4
lea ecx, [ebp - 0x25c]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x25c]
push 0
push ecx
push esi
mov dword [ebp - 4], 0x26
call dword [eax + 0x54]
mov edx, dword [ebp - 0x25c]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43b4f4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
push 0xa8
call fcn.0044db00
add esp, 4
mov dword [ebp - 0x264], eax
mov dword [ebp - 4], 0x27
test eax, eax
je 0x43b52c
mov ecx, eax
call fcn.004ab100
mov esi, eax
jmp 0x43b52e
xor esi, esi
push 0
push 0x20
push 0x60
push 0x133
push 0x1a0
push 0x3f2
push dword [ebp - 0x26c]
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
push dword [edi + 4]
call fcn.004a4790
call fcn.0044f950
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
push 0
test eax, eax
je 0x43b58d
push 0x143
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
push 0
push 0xffffff
jmp 0x43b5ad
push 0x133
call fcn.0041b380
mov ecx, eax
call fcn.004af850
push eax
mov ecx, esi
call fcn.004aba30
push 0
push 0x888888
mov eax, dword [esi]
push esi
call dword [eax + 0x5c]
push 0x3ee
call fcn.0041b380
mov ecx, eax
call fcn.004af710
push eax
mov ecx, esi
call fcn.004a51f0
call fcn.004214f0
mov ecx, eax
test ecx, ecx
je 0x43b70d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x268], eax
push 0x549b00
lea ecx, [ebp - 0x268]
mov dword [ebp - 4], 0x28
call fcn.00411390
test al, al
jne 0x43b618
push 2
push 0x549b00
lea ecx, [ebp - 0x268]
call fcn.00412460
mov eax, dword [esi]
lea ecx, [ebp - 0x268]
push 0
push ecx
push esi
mov dword [ebp - 4], 0x29
call dword [eax + 0x54]
mov edx, dword [ebp - 0x268]
or eax, 0xffffffff
mov dword [ebp - 4], 0xffffffff
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43b653
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi + 0x44]
push 0
push esi
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004b85ea
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x278]
mov byte [ebp - 4], 0x1c
push eax
call fcn.00478f4f
add esp, 4
mov byte [ebp - 4], 0x1a
test al, al
jne 0x43b717
call fcn.0047999d
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 1
push 0xc0000005
call fcn.0041dd10
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
push 0x80004005
call fcn.00408f30
sub esp, 8
lea eax, [ebp - 0x278]
mov ecx, esp
push eax
call fcn.0040aa30
call fcn.0040b760
int3