Function at 0x47f7d4
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56f39b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x41314
call fcn.005374e0
push esi
push 0
mov eax, dword [0x5c3074]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x47f80e
jmp 0x480b33
call fcn.0055f60b
mov ecx, dword [eax + 4]
mov dword [ebp - 0x410bc], ecx
lea edx, [ebp - 0x34]
mov dword [ebp - 0x411b0], edx
mov eax, dword [ebp - 0x411b0]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x411b4], edx
mov eax, dword [ebp - 0x411b4]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x411b8], edx
mov eax, dword [ebp - 0x411b8]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 0x411bc], edx
mov eax, dword [ebp - 0x411bc]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
lea edx, [ebp - 0x20]
mov dword [ebp - 0x411c0], edx
mov eax, dword [ebp - 0x411c0]
mov ecx, dword [0x5be480]
mov dword [eax], ecx
mov dword [ebp - 4], 0
push 0x5b2090
push 0x9a
mov ecx, dword [0x5c3070]
add ecx, 0x1560
call fcn.004b6118
test eax, eax
je 0x47f8c6
mov ecx, dword [0x5c3070]
add ecx, 0x1560
call fcn.004b5e28
push 0x5b2098
mov ecx, dword [0x5c3070]
add ecx, 0x1c4
call fcn.00551562
mov dword [0x5af208], 1
lea ecx, [ebp - 0x410b0]
call fcn.004e70a0
mov byte [ebp - 4], 1
push 0xffffffffffffffff
push 0
mov ecx, 0x5c3020
call fcn.0054c43e
push 0xffffffffffffffff
push 0
mov ecx, 0x5c3008
call fcn.0054c43e
push 0xffffffffffffffff
push 0
mov ecx, 0x5c2ff0
call fcn.0054c43e
push 0xffffffffffffffff
push 0
mov ecx, 0x5c2fd8
call fcn.0054c43e
push 0xffffffffffffffff
push 0
mov ecx, 0x5c2fc0
call fcn.0054c43e
push ecx
mov ecx, esp
mov dword [ebp - 0x410f8], esp
push 0x5c336c
call fcn.0054d39c
mov dword [ebp - 0x411f8], eax
call fcn.004720e0
add esp, 4
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x410fc], esp
push 0x5b209c
call fcn.0054d39c
mov dword [ebp - 0x411fc], eax
push SysReAllocStringLen
lea ecx, [ebp - 0x410b0]
call fcn.004e75e4
push 0x5c2fd8
lea ecx, [ebp - 0x410b0]
call fcn.004e7dd7
mov edx, dword [0x5c2fe0]
mov dword [ebp - 0x40], edx
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x41100], esp
push str.CLSID
call fcn.0054d39c
mov dword [ebp - 0x41200], eax
push SysReAllocStringLen
lea ecx, [ebp - 0x410b0]
call fcn.004e75e4
push 0x5c2fa8
lea ecx, [ebp - 0x410b0]
call fcn.004e7dd7
mov eax, dword [0x5c2fb0]
mov dword [ebp - 0x410c4], eax
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x41104], esp
push str.MIMEDatabaseContent_Type
call fcn.0054d39c
mov dword [ebp - 0x41204], eax
push SysReAllocStringLen
lea ecx, [ebp - 0x410b0]
call fcn.004e75e4
push 0x5c2f90
lea ecx, [ebp - 0x410b0]
call fcn.004e7dd7
mov ecx, dword [0x5c2f98]
mov dword [ebp - 0x410b8], ecx
mov edx, dword [0x5c3028]
mov dword [ebp - 0x410c0], edx
mov eax, dword [0x5c3010]
mov dword [ebp - 0x1c], eax
mov ecx, dword [0x5c2ff8]
mov dword [ebp - 0x14], ecx
mov edx, dword [0x5c2fc8]
mov dword [ebp - 0x18], edx
mov eax, dword [0x5be480]
mov dword [ebp - 0x3c], eax
mov byte [ebp - 4], 2
mov ecx, dword [0x5be480]
mov dword [ebp - 0x10], ecx
mov byte [ebp - 4], 3
mov dword [ebp - 0x410b4], 0
jmp 0x47fa8d
mov edx, dword [ebp - 0x410b4]
add edx, 1
mov dword [ebp - 0x410b4], edx
mov eax, dword [ebp - 0x410b4]
cmp eax, dword [ebp - 0x410c0]
jge 0x4809e3
push 0
mov ecx, dword [0x5c3074]
push ecx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x47fb20
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x20]
call fcn.0054d328
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x28]
call fcn.0054d328
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.0054d328
jmp 0x480b33
push 0x5c3370
lea ecx, [ebp - 0x3c]
call fcn.0054d4bf
mov edx, dword [ebp - 0x410b4]
push edx
lea eax, [ebp - 0x41108]
push eax
mov ecx, 0x5c3020
call fcn.00419890
mov dword [ebp - 0x41208], eax
mov ecx, dword [ebp - 0x41208]
mov dword [ebp - 0x4120c], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x4120c]
push edx
lea ecx, [ebp - 0x3c]
call fcn.0054d755
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x41108]
call fcn.0054d328
mov eax, dword [ebp - 0x410b4]
push eax
lea ecx, [ebp - 0x41110]
push ecx
mov ecx, 0x5c3020
call fcn.00419890
mov dword [ebp - 0x411c8], eax
push str..pkp
mov edx, dword [ebp - 0x411c8]
mov eax, dword [edx]
push eax
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x411c4], eax
xor ecx, ecx
cmp dword [ebp - 0x411c4], 0
sete cl
mov byte [ebp - 0x4110c], cl
lea ecx, [ebp - 0x41110]
call fcn.0054d328
mov edx, dword [ebp - 0x4110c]
and edx, 0xff
test edx, edx
je 0x47fbec
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x10]
call fcn.0054d46f
push 1
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x41114], esp
lea edx, [ebp - 0x3c]
push edx
call fcn.0054d095
mov dword [ebp - 0x41210], eax
push SysReAllocStringLen
lea ecx, [ebp - 0x410b0]
call fcn.004e75e4
mov dword [ebp - 0x41214], eax
cmp dword [ebp - 0x41214], 0
je 0x4809de
mov eax, dword [ebp - 0x1060]
mov dword [ebp - 0x411cc], eax
mov ecx, dword [ebp - 0x3c]
push ecx
mov edx, dword [ebp - 0x411cc]
push edx
lea eax, [ebp - 0x41118]
push eax
call fcn.00485900
add esp, 8
mov dword [ebp - 0x41218], eax
mov ecx, dword [ebp - 0x41218]
mov dword [ebp - 0x4121c], ecx
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x4121c]
mov eax, dword [edx]
push eax
push 0x5b2108
lea ecx, [ebp - 0x10]
push ecx
call fcn.0054ab7c
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x41118]
call fcn.0054d328
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [0x5c3070]
add ecx, 0xb14
call fcn.00551562
lea ecx, [ebp - 0x410d8]
call fcn.0054c3ab
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x410d8]
push eax
lea ecx, [ebp - 0x410b0]
call fcn.004e9b9e
mov ecx, dword [ebp - 0x410d0]
mov dword [ebp - 0x410dc], ecx
cmp dword [ebp - 0x410dc], 0
jle 0x480664
mov dword [ebp - 0x410e0], 0
jmp 0x47fcfa
mov edx, dword [ebp - 0x410e0]
add edx, 1
mov dword [ebp - 0x410e0], edx
mov eax, dword [ebp - 0x410e0]
cmp eax, dword [ebp - 0x410dc]
jge 0x48065f
mov ecx, dword [ebp - 0x410e0]
push ecx
lea edx, [ebp - 0x410e4]
push edx
lea ecx, [ebp - 0x410d8]
call fcn.00419890
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x410e4]
mov ecx, dword [eax - 8]
mov dword [ebp - 0x411d0], ecx
cmp dword [ebp - 0x411d0], 0
jne 0x48064b
mov dword [ebp - 0x410e8], 0
lea edx, [ebp - 0x410e8]
push edx
push ecx
mov ecx, esp
mov dword [ebp - 0x4111c], esp
lea eax, [ebp - 0x410e4]
push eax
call fcn.0054d095
mov dword [ebp - 0x41220], eax
lea ecx, [ebp - 0x410b0]
call fcn.004e99fe
mov dword [ebp - 0x41224], eax
mov ecx, dword [ebp - 0x41224]
mov dword [ebp - 0x410ec], ecx
cmp dword [ebp - 0x410ec], 1
je 0x47fda4
cmp dword [ebp - 0x410ec], 2
jne 0x48064b
mov edx, dword [0x5be480]
mov dword [ebp - 0x410f4], edx
mov byte [ebp - 4], 0xc
mov eax, dword [0x5be480]
mov dword [ebp - 0x410f0], eax
mov byte [ebp - 4], 0xd
push ecx
mov ecx, esp
mov dword [ebp - 0x41120], esp
push 0x5b2114
call fcn.0054d39c
mov dword [ebp - 0x41228], eax
mov ecx, dword [ebp - 0x41228]
mov dword [ebp - 0x4122c], ecx
mov byte [ebp - 4], 0xe
push ecx
mov ecx, esp
mov dword [ebp - 0x41124], esp
lea edx, [ebp - 0x410e4]
push edx
call fcn.0054d095
mov dword [ebp - 0x41230], eax
lea eax, [ebp - 0x41128]
push eax
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 0xd
call fcn.00425c70
mov dword [ebp - 0x41234], eax
mov ecx, dword [ebp - 0x41234]
mov dword [ebp - 0x41238], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x41238]
push edx
lea ecx, [ebp - 0x410f4]
call fcn.0054d46f
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x41128]
call fcn.0054d328
push 0x5b211c
mov eax, dword [ebp - 0x410f4]
push eax
call fcn.00537cf5
add esp, 8
mov dword [ebp - 0x411d4], eax
xor ecx, ecx
cmp dword [ebp - 0x411d4], 0
setne cl
and ecx, 0xff
test ecx, ecx
je 0x48062d
lea edx, [ebp - 0x410f4]
push edx
lea ecx, [ebp - 0x10]
call fcn.0054d46f
lea ecx, [ebp - 0x10]
call fcn.0054d877
push str.clsid
lea ecx, [ebp - 0x10]
call fcn.0054a808
cmp eax, 0xffffffff
jne 0x48062d
push ecx
mov ecx, esp
mov dword [ebp - 0x4112c], esp
lea eax, [ebp - 0x410f4]
push eax
call fcn.0054d095
mov dword [ebp - 0x4123c], eax
call fcn.0046691b
add esp, 4
mov dword [ebp - 0x41240], eax
cmp dword [ebp - 0x41240], 0
jne 0x48062d
push ecx
mov ecx, esp
mov dword [ebp - 0x41130], esp
lea edx, [ebp - 0x410f4]
push edx
call fcn.0054d095
mov dword [ebp - 0x41244], eax
call fcn.00466873
add esp, 4
mov dword [ebp - 0x41248], eax
cmp dword [ebp - 0x41248], 0
jne 0x48062d
push ecx
mov esi, esp
mov dword [ebp - 0x41134], esp
push ecx
mov ecx, esp
mov dword [ebp - 0x41138], esp
push 0x5b2130
call fcn.0054d39c
mov dword [ebp - 0x4124c], eax
mov eax, dword [ebp - 0x4124c]
mov dword [ebp - 0x41250], eax
mov byte [ebp - 4], 0x10
push ecx
mov ecx, esp
mov dword [ebp - 0x4113c], esp
lea edx, [ebp - 0x410e4]
push edx
call fcn.0054d095
mov dword [ebp - 0x41254], eax
push esi
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 0xd
call fcn.00425c70
mov dword [ebp - 0x41258], eax
mov eax, dword [ebp - 0x41258]
mov dword [ebp - 0x4125c], eax
mov byte [ebp - 4], 0x11
push ecx
mov ecx, esp
mov dword [ebp - 0x41140], esp
lea edx, [ebp - 0x410e4]
push edx
call fcn.0054d095
mov dword [ebp - 0x41260], eax
mov eax, dword [ebp - 0x41260]
mov dword [ebp - 0x41264], eax
mov byte [ebp - 4], 0x12
push ecx
mov ecx, esp
mov dword [ebp - 0x41144], esp
lea edx, [ebp - 0x3c]
push edx
call fcn.0054d095
mov dword [ebp - 0x41268], eax
mov eax, dword [ebp - 0x41268]
mov dword [ebp - 0x4126c], eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x410b0]
call fcn.00486080
push eax
mov byte [ebp - 4], 0xd
call fcn.004859b9
add esp, 0x10
mov dword [ebp - 0x41270], eax
cmp dword [ebp - 0x41270], 0
jne 0x48062d
mov dword [ebp - 0x38], 1
mov ecx, dword [ebp - 0x1060]
mov dword [ebp - 0x411d8], ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x411d8]
push eax
lea ecx, [ebp - 0x41148]
push ecx
call fcn.00485900
add esp, 8
mov dword [ebp - 0x41274], eax
mov edx, dword [ebp - 0x41274]
mov dword [ebp - 0x41278], edx
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x41278]
mov ecx, dword [eax]
push ecx
push 0x5b2138
lea edx, [ebp - 0x10]
push edx
call fcn.0054ab7c
add esp, 0x10
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x41148]
call fcn.0054d328
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x30]
call fcn.0054d46f
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x34]
call fcn.0054d46f
lea edx, [ebp - 0x410e4]
push edx
lea ecx, [ebp - 0x2c]
call fcn.0054d46f
push ecx
mov ecx, esp
mov dword [ebp - 0x4114c], esp
push 0x5b2144
call fcn.0054d39c
mov dword [ebp - 0x4127c], eax
mov eax, dword [ebp - 0x4127c]
mov dword [ebp - 0x41280], eax
mov byte [ebp - 4], 0x15
push ecx
mov ecx, esp
mov dword [ebp - 0x41150], esp
lea edx, [ebp - 0x410e4]
push edx
call fcn.0054d095
mov dword [ebp - 0x41284], eax
lea eax, [ebp - 0x41154]
push eax
lea ecx, [ebp - 0x410b0]
mov byte [ebp - 4], 0xd
call fcn.00425c70
mov dword [ebp - 0x41288], eax
mov ecx, dword [ebp - 0x41288]
mov dword [ebp - 0x4128c], ecx
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x4128c]
push edx
lea ecx, [ebp - 0x28]
call fcn.0054d46f
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x41154]
call fcn.0054d328
mov dword [ebp - 0x24], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x41158], esp
push str.REGISTRY_ERROR_21
call fcn.0054d39c
mov dword [ebp - 0x41290], eax
lea eax, [ebp - 0x4115c]
push eax
mov ecx, dword [ebp - 0x410bc]
call fcn.004be333
mov dword [ebp - 0x41294], eax
mov ecx, dword [ebp - 0x41294]
mov dword [ebp - 0x41298], ecx
mov byte [ebp - 4], 0x17
mov edx, dword [ebp - 0x41298]
push edx
lea ecx, [ebp - 0x20]
call fcn.0054d46f
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4115c]
call fcn.0054d328
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x41160], esp
mov dword [ebp - 0x411dc], eax
mov ecx, dword [ebp - 0x411dc]
mov edx, dword [ebp - 0x38]
mov dword [ecx], edx
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x411dc]
add ecx, 4
call fcn.0054d095
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x411dc]
add ecx, 8
call fcn.0054d095
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0x411dc]
add ecx, 0xc
call fcn.0054d095
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x411dc]
add ecx, 0x10
call fcn.0054d095
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x411dc]
mov edx, dword [ebp - 0x24]
mov dword [ecx + 0x14], edx
lea eax, [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x411dc]
add ecx, 0x18
call fcn.0054d095
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x411dc]
mov dword [ebp - 0x4129c], ecx
mov ecx, dword [ebp - 0x410bc]
add ecx, 0x2d8
call fcn.0045ada0
push 1
push 0xe
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x41164], esp
lea edx, [ebp - 0x38]
push edx
call fcn.0045ac60
mov dword [ebp - 0x412a0], eax
call fcn.00484e85
add esp, 0x24
mov eax, dword [0x5af208]
push eax
push 0x5b2170
lea ecx, [ebp - 0x10]
push ecx
call fcn.0054ab7c
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [0x5c3070]
add ecx, 0x1c4
call fcn.00551562
mov eax, dword [ebp - 0x410bc]
mov ecx, dword [eax + 0x588]
push ecx
push 0x5b2178
lea edx, [ebp - 0x10]
push edx
call fcn.0054ab7c
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [0x5c3070]
add ecx, 0xaa4
call fcn.00412a69
mov ecx, dword [ebp - 0x410bc]
mov edx, dword [ecx + 0x588]
add edx, 1
mov eax, dword [ebp - 0x410bc]
mov dword [eax + 0x588], edx
mov ecx, dword [0x5af208]
add ecx, 1
mov dword [0x5af208], ecx
lea ecx, [ebp - 0x410b0]
call fcn.004e8834
test eax, eax
jne 0x48062d
lea ecx, [ebp - 0x410b0]
call fcn.004e9ad8
cmp eax, 1
jne 0x48062d
push ecx
mov ecx, esp
mov dword [ebp - 0x41168], esp
push 0x5c3374
call fcn.0054d39c
mov dword [ebp - 0x412a4], eax
mov edx, dword [ebp - 0x412a4]
mov dword [ebp - 0x412a8], edx
mov byte [ebp - 4], 0x1c
push ecx
mov ecx, esp
mov dword [ebp - 0x4116c], esp
push 0x5c3378
call fcn.0054d39c
mov dword [ebp - 0x412ac], eax
mov eax, dword [ebp - 0x412ac]
mov dword [ebp - 0x412b0], eax
mov byte [ebp - 4], 0x1d
push ecx
mov ecx, esp
mov dword [ebp - 0x41170], esp
lea edx, [ebp - 0x3c]
push edx
call fcn.0054d095
mov dword [ebp - 0x412b4], eax
mov eax, dword [ebp - 0x412b4]
mov dword [ebp - 0x412b8], eax
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x410b0]
call fcn.00486080
push eax
mov byte [ebp - 4], 0xd
call fcn.004859b9
add esp, 0x10
mov dword [ebp - 0x412bc], eax
cmp dword [ebp - 0x412bc], 0
jne 0x48062d
mov dword [ebp - 0x38], 0
mov ecx, dword [ebp - 0x1060]
mov dword [ebp - 0x411e0], ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x411e0]
push eax
lea ecx, [ebp - 0x41174]
push ecx
call fcn.00485900
add esp, 8
mov dword [ebp - 0x412c0], eax
mov edx, dword [ebp - 0x412c0]
mov dword [ebp - 0x412c4], edx
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x412c4]
mov ecx, dword [eax]
push ecx
push 0x5b2180
lea edx, [ebp - 0x10]
push edx
call fcn.0054ab7c
add esp, 0x10
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x41174]
call fcn.0054d328
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x30]
call fcn.0054d46f
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x34]
call fcn.0054d46f
push 0x5c337c
lea ecx, [ebp - 0x2c]
call fcn.0054d4bf
push 0x5c3380
lea ecx, [ebp - 0x28]
call fcn.0054d4bf
mov dword [ebp - 0x24], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x41178], esp
push str.REGISTRY_ERROR_4
call fcn.0054d39c
mov dword [ebp - 0x412c8], eax
lea edx, [ebp - 0x4117c]
push edx
mov ecx, dword [ebp - 0x410bc]
call fcn.004be333
mov dword [ebp - 0x412cc], eax
mov eax, dword [ebp - 0x412cc]
mov dword [ebp - 0x412d0], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x412d0]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0054d46f
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x4117c]
call fcn.0054d328
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x41180], esp
mov dword [ebp - 0x411e4], edx
mov eax, dword [ebp - 0x411e4]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
lea edx, [ebp - 0x34]
push edx
mov ecx, dword [ebp - 0x411e4]
add ecx, 4
call fcn.0054d095
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x411e4]
add ecx, 8
call fcn.0054d095
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x411e4]
add ecx, 0xc
call fcn.0054d095
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x411e4]
add ecx, 0x10
call fcn.0054d095
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x411e4]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x14], ecx
lea edx, [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x411e4]
add ecx, 0x18
call fcn.0054d095
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x411e4]
mov dword [ebp - 0x412d4], eax
mov ecx, dword [ebp - 0x410bc]
add ecx, 0x2d8
call fcn.0045ada0
push 1
push 0xe
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x41184], esp
lea edx, [ebp - 0x38]
push edx
call fcn.0045ac60
mov dword [ebp - 0x412d8], eax
call fcn.00484e85
add esp, 0x24
mov eax, dword [0x5af208]
push eax
push 0x5b21b0
lea ecx, [ebp - 0x10]
push ecx
call fcn.0054ab7c
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [0x5c3070]
add ecx, 0x1c4
call fcn.00551562
mov eax, dword [ebp - 0x410bc]
mov ecx, dword [eax + 0x588]
push ecx
push 0x5b21b8
lea edx, [ebp - 0x10]
push edx
call fcn.0054ab7c
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [0x5c3070]
add ecx, 0xaa4
call fcn.00412a69
mov ecx, dword [ebp - 0x410bc]
mov edx, dword [ecx + 0x588]
add edx, 1
mov eax, dword [ebp - 0x410bc]
mov dword [eax + 0x588], edx
mov ecx, dword [0x5af208]
add ecx, 1
mov dword [0x5af208], ecx
mov byte [ebp - 4], 0xc
lea ecx, [ebp - 0x410f0]
call fcn.0054d328
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x410f4]
call fcn.0054d328
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x410e4]
call fcn.0054d328
jmp 0x47fceb
jmp 0x480982
lea ecx, [ebp - 0x410b0]
call fcn.004e8834
test eax, eax
jne 0x480982
push ecx
mov ecx, esp
mov dword [ebp - 0x41188], esp
push 0x5c3384
call fcn.0054d39c
mov dword [ebp - 0x412dc], eax
mov edx, dword [ebp - 0x412dc]
mov dword [ebp - 0x412e0], edx
mov byte [ebp - 4], 0x25
push ecx
mov ecx, esp
mov dword [ebp - 0x4118c], esp
push 0x5c3388
call fcn.0054d39c
mov dword [ebp - 0x412e4], eax
mov eax, dword [ebp - 0x412e4]
mov dword [ebp - 0x412e8], eax
mov byte [ebp - 4], 0x26
push ecx
mov ecx, esp
mov dword [ebp - 0x41190], esp
lea edx, [ebp - 0x3c]
push edx
call fcn.0054d095
mov dword [ebp - 0x412ec], eax
mov eax, dword [ebp - 0x412ec]
mov dword [ebp - 0x412f0], eax
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x410b0]
call fcn.00486080
push eax
mov byte [ebp - 4], 0xa
call fcn.004859b9
add esp, 0x10
mov dword [ebp - 0x412f4], eax
cmp dword [ebp - 0x412f4], 0
jne 0x480982
mov dword [ebp - 0x38], 0
mov ecx, dword [ebp - 0x1060]
mov dword [ebp - 0x411e8], ecx
mov edx, dword [ebp - 0x3c]
push edx
mov eax, dword [ebp - 0x411e8]
push eax
lea ecx, [ebp - 0x41194]
push ecx
call fcn.00485900
add esp, 8
mov dword [ebp - 0x412f8], eax
mov edx, dword [ebp - 0x412f8]
mov dword [ebp - 0x412fc], edx
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x412fc]
mov ecx, dword [eax]
push ecx
push 0x5b21c0
lea edx, [ebp - 0x10]
push edx
call fcn.0054ab7c
add esp, 0x10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x41194]
call fcn.0054d328
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x30]
call fcn.0054d46f
lea ecx, [ebp - 0x3c]
push ecx
lea ecx, [ebp - 0x34]
call fcn.0054d46f
push 0x5c338c
lea ecx, [ebp - 0x2c]
call fcn.0054d4bf
push 0x5c3390
lea ecx, [ebp - 0x28]
call fcn.0054d4bf
mov dword [ebp - 0x24], 1
push ecx
mov ecx, esp
mov dword [ebp - 0x41198], esp
push str.REGISTRY_ERROR_15
call fcn.0054d39c
mov dword [ebp - 0x41300], eax
lea edx, [ebp - 0x4119c]
push edx
mov ecx, dword [ebp - 0x410bc]
call fcn.004be333
mov dword [ebp - 0x41304], eax
mov eax, dword [ebp - 0x41304]
mov dword [ebp - 0x41308], eax
mov byte [ebp - 4], 0x29
mov ecx, dword [ebp - 0x41308]
push ecx
lea ecx, [ebp - 0x20]
call fcn.0054d46f
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x4119c]
call fcn.0054d328
sub esp, 0x1c
mov edx, esp
mov dword [ebp - 0x411a0], esp
mov dword [ebp - 0x411ec], edx
mov eax, dword [ebp - 0x411ec]
mov ecx, dword [ebp - 0x38]
mov dword [eax], ecx
lea edx, [ebp - 0x34]
push edx
mov ecx, dword [ebp - 0x411ec]
add ecx, 4
call fcn.0054d095
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x411ec]
add ecx, 8
call fcn.0054d095
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x411ec]
add ecx, 0xc
call fcn.0054d095
mov byte [ebp - 4], 0x2c
lea edx, [ebp - 0x28]
push edx
mov ecx, dword [ebp - 0x411ec]
add ecx, 0x10
call fcn.0054d095
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x411ec]
mov ecx, dword [ebp - 0x24]
mov dword [eax + 0x14], ecx
lea edx, [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x411ec]
add ecx, 0x18
call fcn.0054d095
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x411ec]
mov dword [ebp - 0x4130c], eax
mov ecx, dword [ebp - 0x410bc]
add ecx, 0x2d8
call fcn.0045ada0
push 1
push 0xe
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x411a4], esp
lea edx, [ebp - 0x38]
push edx
call fcn.0045ac60
mov dword [ebp - 0x41310], eax
call fcn.00484e85
add esp, 0x24
mov eax, dword [0x5af208]
push eax
push 0x5b21f0
lea ecx, [ebp - 0x10]
push ecx
call fcn.0054ab7c
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [0x5c3070]
add ecx, 0x1c4
call fcn.00551562
mov eax, dword [ebp - 0x410bc]
mov ecx, dword [eax + 0x588]
push ecx
push 0x5b21f8
lea edx, [ebp - 0x10]
push edx
call fcn.0054ab7c
add esp, 0xc
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [0x5c3070]
add ecx, 0xaa4
call fcn.00412a69
mov ecx, dword [ebp - 0x410bc]
mov edx, dword [ecx + 0x588]
add edx, 1
mov eax, dword [ebp - 0x410bc]
mov dword [eax + 0x588], edx
mov ecx, dword [0x5af208]
add ecx, 1
mov dword [0x5af208], ecx
push ecx
mov ecx, esp
mov dword [ebp - 0x411a8], esp
push 0x5c3394
call fcn.0054d39c
mov dword [ebp - 0x41314], eax
mov edx, dword [ebp - 0x41314]
mov dword [ebp - 0x41318], edx
mov byte [ebp - 4], 0x2e
push ecx
mov ecx, esp
mov dword [ebp - 0x411ac], esp
lea eax, [ebp - 0x3c]
push eax
call fcn.0054d095
mov dword [ebp - 0x4131c], eax
mov byte [ebp - 4], 0xa
call fcn.0046c609
add esp, 8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x410d8]
call fcn.0054c3de
jmp 0x47fa7e
call fcn.00480b42
mov ecx, dword [0x5c3070]
add ecx, 0x1560
mov dword [ebp - 0x411f0], ecx
cmp dword [ebp - 0x411f0], 0
jne 0x480a0f
mov dword [ebp - 0x41320], 0
jmp 0x480a1e
mov edx, dword [ebp - 0x411f0]
mov eax, dword [edx + 0x1c]
mov dword [ebp - 0x41320], eax
cmp dword [ebp - 0x41320], 0
je 0x480aca
mov ecx, dword [0x5c3070]
add ecx, 0x1560
call fcn.004b7291
mov ecx, dword [0x5c3070]
add ecx, 0x1560
call fcn.004b5bcf
mov ecx, dword [ebp - 0x410bc]
mov edx, dword [ecx + 0x2e0]
mov dword [ebp - 0x411f4], edx
cmp dword [ebp - 0x411f4], 0
jne 0x480a9a
push 0x5b2200
push 0x114
mov ecx, dword [0x5c3070]
add ecx, 0x1560
call fcn.004b6118
test eax, eax
je 0x480a98
mov ecx, dword [0x5c3070]
add ecx, 0x1560
call fcn.004b5e28
jmp 0x480aca
push 0x5b2208
push 0x113
mov ecx, dword [0x5c3070]
add ecx, 0x1560
call fcn.004b6118
test eax, eax
je 0x480aca
mov ecx, dword [0x5c3070]
add ecx, 0x1560
call fcn.004b5e28
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0054d328
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3c]
call fcn.0054d328
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x410b0]
call fcn.004e71cb
mov dword [ebp - 4], 0x32
lea ecx, [ebp - 0x20]
call fcn.0054d328
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x28]
call fcn.0054d328
mov byte [ebp - 4], 0x30
lea ecx, [ebp - 0x2c]
call fcn.0054d328
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x30]
call fcn.0054d328
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.0054d328
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret