Function at 0x4106e0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x535ffe
mov eax, dword fs:[0]
push eax
sub esp, 0x98
push ebx
push esi
push edi
mov eax, dword [0x588c64]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 0x15], 1
mov dword [ebp - 0x78], vtable.CArray_struct__BRINFO_REGISTRY__struct__BRINFO_REGISTRY_.0
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x64], vtable.CArray_struct__BRHELP_MODEL_REGISTRY__struct__BRHELP_MODEL_REGISTRY_.0
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x5c], ebx
mov esi, dword [ebp + 8]
mov byte [ebp - 4], 4
cmp dword [esi + 4], ebx
je 0x410781
xor edi, edi
cmp edi, dword [esi + 8]
jge 0x410772
mov eax, dword [ebp + 8]
mov esi, edi
shl esi, 4
add esi, dword [eax + 4]
call fcn.00401b10
mov esi, dword [ebp + 8]
inc edi
jmp 0x410757
mov eax, dword [esi + 4]
push eax
call fcn.00411df7
add esp, 4
mov dword [esi + 4], ebx
mov dword [esi + 0xc], ebx
mov dword [esi + 8], ebx
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
push 0x566964
call esi
lea ecx, [ebp - 0x64]
push ecx
lea edx, [ebp - 0x48]
push edx
call fcn.00406240
cmp al, bl
jne 0x4107bd
push 0x566968
call esi
push 0x57e448
lea eax, [ebp - 0x17]
push eax
mov byte [ebp - 0x17], bl
call fcn.00512466
lea ecx, [ebp - 0x78]
push ecx
lea edx, [ebp - 0x50]
push edx
call fcn.0040c740
cmp al, bl
jne 0x4107e6
push 0x56696c
call esi
push 0x57e448
lea eax, [ebp - 0x18]
push eax
mov byte [ebp - 0x18], bl
call fcn.00512466
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x4107f0
cmp eax, dword [ebp - 0x5c]
jge 0x410aa8
cmp eax, ebx
jl 0x410a37
mov edx, dword [ebp - 0x60]
lea ecx, [eax + eax*2]
lea edi, [edx + ecx*4]
push edi
lea ecx, [ebp - 0x3c]
call fcn.004020e0
lea eax, [edi + 4]
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 5
call fcn.004020e0
add edi, 8
push edi
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 6
call fcn.004020e0
xor edi, edi
mov byte [ebp - 4], 7
mov dword [ebp - 0x1c], edi
lea esp, [esp]
cmp edi, dword [ebp - 0x70]
jge 0x410a3c
cmp edi, ebx
jl 0x410a37
imul edi, edi, 0x2c
add edi, dword [ebp - 0x74]
lea ecx, [ebp - 0xa4]
push ecx
call fcn.0040cbe0
push 0x566970
mov byte [ebp - 4], 8
call esi
mov edi, dword [ebp - 0x3c]
push edi
call esi
mov edx, dword [ebp - 0xa4]
push edx
call esi
push 0x566970
call esi
mov ecx, dword [ebp - 0xa4]
xor eax, eax
cmp ecx, ebx
setne al
cmp eax, ebx
jne 0x41089f
push 0x80004005
call fcn.00402980
mov eax, edi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4108c7
cmp dx, bx
je 0x4108c3
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4108c7
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x4108a1
xor eax, eax
jmp 0x4108cc
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
sete al
cmp al, bl
je 0x410a1d
call fcn.00412a4b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x4108f3
push 0x80004005
call fcn.00402980
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x30], eax
call fcn.00412a4b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x41091c
push 0x80004005
call fcn.00402980
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x2c], eax
call fcn.00412a4b
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x410945
push 0x80004005
call fcn.00402980
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 0xffffffff
lea ebx, [ebp - 0xa4]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 9
call fcn.00410430
cmp al, 1
jne 0x4109ba
sub esp, 0x10
mov edi, esp
mov dword [ebp - 0x40], esp
lea ecx, [ebp - 0x30]
push ecx
mov ecx, edi
mov dword [ebp - 0x40], edi
call fcn.004020e0
lea edx, [ebp - 0x2c]
lea ecx, [edi + 4]
push edx
mov byte [ebp - 4], 0xa
call fcn.004020e0
lea eax, [ebp - 0x28]
lea ecx, [edi + 8]
push eax
mov byte [ebp - 4], 0xb
call fcn.004020e0
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp + 8]
push edx
mov dword [edi + 0xc], ecx
mov byte [ebp - 4], 9
call fcn.00410b20
mov byte [ebp - 4], 8
mov eax, dword [ebp - 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4109dd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4109fc
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410a1b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor ebx, ebx
lea eax, [ebp - 0xa4]
mov byte [ebp - 4], 7
call fcn.0040caa0
inc dword [ebp - 0x1c]
mov edi, dword [ebp - 0x1c]
jmp 0x410840
call fcn.00412816
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410a5f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410a7e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x3c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x410a9d
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
inc dword [ebp - 0x20]
mov eax, dword [ebp - 0x20]
jmp 0x4107f0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 8], ebx
jne 0x410ac8
push 0x566978
call esi
push 0x57e448
lea edx, [ebp - 0x16]
push edx
mov byte [ebp - 0x16], bl
call fcn.00512466
lea edi, [ebp - 0x64]
call fcn.00411ab0
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x410ade
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x50]
cmp eax, ebx
je 0x410aec
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esi, [ebp - 0x78]
call fcn.00411a10
mov al, byte [ebp - 0x15]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4