Function at 0x414ff0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x52abb0
mov eax, dword fs:[0]
push eax
sub esp, 0x80
push ebx
push esi
push edi
mov eax, dword [0x55bb24]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
push 0xb
xor ebx, ebx
mov edi, 0xf
push str.registry_qs
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], ebx
mov byte [esp + 0x28], bl
call fcn.00403c20
mov ecx, dword [ebp + 8]
push 1
lea eax, [esp + 0x20]
add ecx, 0x1c
push eax
mov dword [esp + 0xa0], ebx
call fcn.0040dc40
mov dword [esp + 0x98], 0xffffffff
cmp dword [esp + 0x34], 0x10
mov esi, eax
jb 0x41507f
mov ecx, dword [esp + 0x20]
push ecx
call fcn.004f0cfc
add esp, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp esi, ebx
jne 0x415350
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x30]
mov esi, dword [eax]
cmp esi, eax
je 0x41513c
cmp dword [esi + 8], ebx
je 0x4150c3
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x40]
push 5
add ecx, 0x2c
push str.files
push eax
push ebx
call fcn.00402f20
test eax, eax
je 0x4150cf
mov esi, dword [esi]
mov ecx, dword [ebp + 8]
cmp esi, dword [ecx + 0x30]
jne 0x4150a3
jmp 0x41513c
push 0xb
push str.registry_qs
lea ecx, [esp + 0x40]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00403c20
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x38]
push edx
push esi
add ecx, 0x1c
mov dword [esp + 0xa0], 1
call fcn.0040db80
mov dword [esp + 0x98], 0xffffffff
cmp dword [esp + 0x50], 0x10
mov esi, eax
jb 0x415128
mov eax, dword [esp + 0x3c]
push eax
call fcn.004f0cfc
add esp, 4
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp esi, ebx
jne 0x4151cc
call fcn.004cefff
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push 8
call eax
test al, al
je 0x41557e
push 0x534dc4
push ecx
push str.Cant_add_registry_qs_node.
push ecx
push 0x534dd4
push ecx
push 0x2da
push ecx
push 0x534dd8
push ecx
push str.TConfig::UpdateFromV2
push ecx
push 0x534dc0
push ecx
call fcn.004cf0d6
add esp, 4
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00402b90
add esp, 4
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 8
push 8
jmp 0x415579
push 3
push 0x539358
lea ecx, [esp + 0x5c]
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00403c20
lea ecx, [esp + 0x54]
push ecx
mov ecx, esi
mov dword [esp + 0x9c], 2
call fcn.0040dad0
mov dword [esp + 0x98], 0xffffffff
cmp dword [esp + 0x6c], 0x10
mov esi, eax
jb 0x415220
mov edx, dword [esp + 0x58]
push edx
call fcn.004f0cfc
add esp, 4
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp esi, ebx
jne 0x415264
call fcn.004cefff
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push 8
call eax
test al, al
je 0x41557e
push 0x534dc4
push ecx
push str.Cant_add_new_key.
push ecx
push 0x534dd4
push ecx
push 0x2e0
jmp 0x41516b
push 5
push str.qs_ie
lea ecx, [esp + 0x40]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
call fcn.00403c20
push ebx
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0xa0], 3
call fcn.00410470
mov edi, eax
mov dword [esp + 0x98], 0xffffffff
cmp dword [esp + 0x50], 0x10
mov dword [esp + 0x14], edi
jb 0x4152be
mov edx, dword [esp + 0x3c]
push edx
call fcn.004f0cfc
add esp, 4
mov dword [esp + 0x50], 0xf
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp edi, ebx
jne 0x415306
call fcn.004cefff
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push 8
call eax
test al, al
je 0x41557e
push 0x534dc4
push ecx
push str.qs_ie_not_found.
push ecx
push 0x534dd4
push ecx
push 0x2e6
jmp 0x41516b
push 0xffffffffffffffff
push ebx
lea ecx, [edi + 0x48]
push ecx
lea ecx, [esi + 0x48]
call fcn.00402e40
lea eax, [edi + 4]
add esi, 4
mov dword [esp + 0x10], eax
cmp esi, eax
je 0x415344
mov eax, dword [esi + 4]
mov ecx, dword [eax]
push eax
push ecx
lea edi, [esp + 0x20]
call fcn.00417840
mov ebx, dword [esp + 0x10]
mov eax, esi
call fcn.00417900
mov edi, dword [esp + 0x14]
xor ebx, ebx
mov eax, edi
call fcn.0040cf90
jmp 0x4153e6
call fcn.004cefff
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push 0x100
call eax
test al, al
je 0x4153e6
push 0x534dc4
push ecx
push str.Just_update_config_version...
push ecx
push 0x534dd4
push ecx
push 0x2f0
push ecx
push 0x534dd8
push ecx
push str.TConfig::UpdateFromV2
push ecx
push 0x534dc0
push ecx
call fcn.004cf0d6
add esp, 4
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00402b90
add esp, 4
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 8
push 0x100
call fcn.004cf0e5
mov edi, dword [ebp + 8]
push 7
push str.version
lea ecx, [esp + 0x5c]
add edi, 0x20
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], ebx
mov byte [esp + 0x60], bl
call fcn.00403c20
mov dword [esp + 0x98], 4
mov ecx, dword [edi + 4]
lea esi, [esp + 0x54]
lea ebx, [esp + 0x18]
mov dword [esp + 0x14], ecx
call fcn.004165b0
mov edx, dword [esp + 0x14]
cmp dword [eax], edx
setne bl
or esi, 0xffffffff
mov dword [esp + 0x98], esi
cmp dword [esp + 0x6c], 0x10
jb 0x415452
mov eax, dword [esp + 0x58]
push eax
call fcn.004f0cfc
add esp, 4
test bl, bl
je 0x4154da
push 7
xor ebx, ebx
push str.version
lea ecx, [esp + 0x78]
mov dword [esp + 0x90], 0xf
mov dword [esp + 0x8c], ebx
mov byte [esp + 0x7c], bl
call fcn.00403c20
push edi
lea ecx, [esp + 0x74]
mov dword [esp + 0x9c], 5
call fcn.00416350
push 3
push 0x5391ec
mov ecx, eax
call fcn.00403c20
mov dword [esp + 0x98], esi
cmp dword [esp + 0x88], 0x10
jb 0x4154c3
mov ecx, dword [esp + 0x74]
push ecx
call fcn.004f0cfc
add esp, 4
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], 0
mov esi, dword [ebp + 8]
push esi
call fcn.0040fe50
call fcn.00410100
call fcn.004cefff
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 8]
push 0x100
call eax
test al, al
je 0x41557e
push 0x534dc4
push ecx
push str.ready
push ecx
push 0x534dd4
push ecx
push 0x2f7
push ecx
push 0x534dd8
push ecx
push str.TConfig::UpdateFromV2
push ecx
push 0x534dc0
push ecx
call fcn.004cf0d6
add esp, 4
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00402b90
add esp, 4
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 0xc
push eax
call fcn.00405660
add esp, 8
push 0x100
call fcn.004cf0e5
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret