Function at 0x402ea4
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffaf4
push ebx
push esi
push edi
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
cmp byte [esi + 0x150], 0
jne 0x402ee9
lea eax, [esi + 0x150]
push eax
call fcn.004039fc
pop ecx
push dword [ebp + 0x10]
lea edx, [esi + 0x150]
push edx
push esi
call fcn.004027d2
add esp, 0xc
dec eax
jge 0x402ee9
xor eax, eax
jmp 0x403204
push 0x412584
lea edx, [esi + 0x150]
push edx
call fcn.00403310
add esp, 8
mov dword [ebp - 4], eax
test eax, eax
jne 0x402f0b
xor eax, eax
jmp 0x403204
test ebx, ebx
je 0x402f18
cmp byte [ebx], 0
je 0x402f18
mov edi, ebx
jmp 0x402f43
cmp dword [esi + 0x18], 0
je 0x402f23
mov edi, dword [esi + 0x18]
jmp 0x402f43
push dword [0x4121bc]
push str.postmaster__s
lea eax, [ebp - 0x408]
push eax
call fcn.00409328
add esp, 0xc
lea edi, [ebp - 0x408]
cmp byte [esi + 0x254], 0
jne 0x402f6d
mov dword [ebp - 8], 0x103
lea eax, [ebp - 8]
push eax
lea edx, [esi + 0x254]
push edx
push str.SoftwareMercury32Queue
push 0x80000001
call sub.ADVAPI32.dll_RegQueryValueA
cmp byte [esi + 0x254], 0
jne 0x402f7e
or eax, 0xffffffff
jmp 0x403204
push str..101
push 0x4125ae
lea edx, [esi + 0x254]
push edx
lea ecx, [ebp - 0x50c]
push ecx
call fcn.00403ab6
add esp, 0x10
test eax, eax
jne 0x402faa
or eax, 0xffffffff
jmp 0x403204
push 0x4125b4
lea edx, [ebp - 0x50c]
push edx
call fcn.00403310
add esp, 8
mov ebx, eax
test ebx, ebx
jne 0x402fd4
push dword [ebp - 4]
call fcn.00403350
pop ecx
xor eax, eax
jmp 0x403204
push 0x3ff
push edi
lea edx, [ebp - 0x408]
push edx
call fcn.00401daf
add esp, 0xc
lea ecx, [ebp - 0x408]
push ecx
push str.____s_n
push ebx
call fcn.00408b30
add esp, 0xc
cmp dword [ebp + 0x10], 0
je 0x403098
cmp dword [esi + 0x20], 0
je 0x403197
push 0
push dword [esi + 0x20]
lea eax, [ebp - 0x408]
push eax
call fcn.00401c68
add esp, 0xc
mov edi, eax
cmp byte [ebp - 0x408], 0
je 0x403197
push 0x3ff
lea eax, [ebp - 0x408]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.00401daf
add esp, 0xc
lea ecx, [ebp - 0x408]
push ecx
push 0x4125be
push ebx
call fcn.00408b30
add esp, 0xc
inc eax
jne 0x403081
push ebx
call fcn.00403350
pop ecx
lea eax, [ebp - 0x50c]
push eax
call fcn.00409258
pop ecx
jmp 0x402fc4
push edi
push dword [esi + 0x20]
lea edx, [ebp - 0x408]
push edx
call fcn.00401c68
add esp, 0xc
mov edi, eax
jmp 0x403028
cmp dword [esi + 0x10], 0
je 0x403124
push 0
push dword [esi + 0x10]
lea ecx, [ebp - 0x408]
push ecx
call fcn.00401c68
add esp, 0xc
mov edi, eax
cmp byte [ebp - 0x408], 0
je 0x403124
push 0x3ff
lea eax, [ebp - 0x408]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.00401daf
add esp, 0xc
lea ecx, [ebp - 0x408]
push ecx
push 0x4125c2
push ebx
call fcn.00408b30
add esp, 0xc
inc eax
jne 0x40310d
push ebx
call fcn.00403350
pop ecx
lea eax, [ebp - 0x50c]
push eax
call fcn.00409258
pop ecx
jmp 0x402fc4
push edi
push dword [esi + 0x10]
lea edx, [ebp - 0x408]
push edx
call fcn.00401c68
add esp, 0xc
mov edi, eax
jmp 0x4030b8
cmp dword [esi + 0x1c], 0
je 0x403197
push 0
push dword [esi + 0x1c]
lea ecx, [ebp - 0x408]
push ecx
call fcn.00401c68
add esp, 0xc
mov edi, eax
cmp byte [ebp - 0x408], 0
je 0x403197
push 0x3ff
lea eax, [ebp - 0x408]
push eax
lea edx, [ebp - 0x408]
push edx
call fcn.00401daf
add esp, 0xc
lea ecx, [ebp - 0x408]
push ecx
push 0x4125c6
push ebx
call fcn.00408b30
add esp, 0xc
inc eax
je 0x4030f4
push edi
push dword [esi + 0x1c]
lea eax, [ebp - 0x408]
push eax
call fcn.00401c68
add esp, 0xc
mov edi, eax
jmp 0x403140
push 0x4125ca
push ebx
call fcn.00408b30
add esp, 8
jmp 0x4031d4
mov byte [ebp - 0xd], 0
lea edx, [ebp - 0x408]
push edx
call fcn.004035f4
pop ecx
lea ecx, [ebp - 0x408]
push ecx
push 0x4125cc
push ebx
call fcn.00408b30
add esp, 0xc
inc eax
je 0x402fc4
push dword [ebp - 4]
push 0x3fb
lea eax, [ebp - 0x408]
push eax
call fcn.0040879c
add esp, 0xc
test eax, eax
jne 0x4031a7
push dword [ebp - 4]
call fcn.00403350
pop ecx
push ebx
call fcn.00403350
pop ecx
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret