Function at 0x37195cb0
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x112c
call fcn.3719c800
and dword [ebp - 4], 0
or dword [ebp - 0x18], 0xffffffff
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
test ebx, ebx
jne 0x37195cd7
push 1
pop eax
jmp 0x37196f56
push 0xd44
push 0
push ebx
call sub.MSVCRT.dll_memset
mov esi, 0x400
lea eax, [ebp - 0x52c]
push esi
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x18
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], esi
push 1
pop edi
push eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x24]
push eax
push str.HideText
push 0x3719f068
push SysReAllocString
mov dword [ebp - 0x24], edi
call dword [sym.imp.SHLWAPI.dll_SHGetValueA]
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
mov dword [esp], str.profile.ini
push dword [ebp + 0x10]
mov dword [ebx + 0xbfc], eax
lea eax, [ebp - 0x52c]
push str._s_s
push 0x3ff
push eax
mov dword [ebx + 0xc00], edi
call dword [sym.imp.MSVCRT.dll__snprintf]
mov edi, dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
add esp, 0x14
lea eax, [ebx + 0x29]
push 0x104
mov dword [ebp - 0x20], eax
push eax
lea eax, [ebp - 0x52c]
push eax
call edi
lea eax, [ebx + 0x1a8]
push 0x104
push eax
push dword [ebp + 0x10]
call edi
push 0
lea eax, [ebp - 4]
push dword [ebp - 0x20]
push eax
call fcn.371979ae
add esp, 0xc
cmp eax, 1
je 0x37195dae
push 1
jmp 0x37196edb
push 0x29
push ebx
mov edi, str._main_
push str.version
push edi
push dword [ebp - 4]
call fcn.37197cbb
and al, 1
push esi
mov byte [ebp + 0xf], al
lea eax, [ebp - 0x52c]
push eax
push str.itemcount
push edi
push dword [ebp - 4]
call fcn.37197cbb
and byte [ebp + 0xf], al
lea eax, [ebp - 0x92c]
push esi
push eax
push str.iconcx
push edi
push dword [ebp - 4]
call fcn.37197cbb
and byte [ebp + 0xf], al
lea eax, [ebx + 0x2ac]
push 0x29
push eax
push str.class
push edi
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x50
lea eax, [ebx + 0x17f]
push 0x29
push eax
push str.name
push edi
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [ebx + 0x7fc]
push esi
push eax
push str.link
push edi
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [ebx + 0x156]
push 0x29
push eax
push str.custext
push edi
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x3c
cmp byte [ebp + 0xf], 0
jne 0x37195e69
push 2
jmp 0x37196edb
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
mov word [ebx + 0xc08], ax
lea eax, [ebp - 0x92c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
cmp ax, 0x12
pop ecx
mov word [ebx + 0x5f2], ax
mov word [ebx + 0x5f0], 0x18
jb 0x37196ed9
cmp ax, 0x64
ja 0x37196ed9
cmp word [ebx + 0xc08], 0x3c
jbe 0x37195ec3
mov word [ebx + 0xc08], 0x3c
push ebx
push str.1.1.0.5
call sub.MSVCRT.dll_strcmp
pop ecx
test eax, eax
pop ecx
jge 0x37195edb
push 5
jmp 0x37196edb
lea eax, [ebx + 0x2d5]
push 0x104
push eax
push str.btface
push edi
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [ebx + 0x3d9]
push 0x104
push eax
push str.btfocus
push edi
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [ebx + 0x4dd]
push 0x104
push eax
push str.btpress
push edi
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [ebp - 0x52c]
push esi
push eax
push str.textcolor
push edi
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x50
test al, al
je 0x37195f6d
cmp byte [ebp - 0x52c], 0
je 0x37195f6d
lea eax, [ebx + 0x5ec]
push eax
lea eax, [ebp - 0x52c]
push 0x3719fc70
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
jmp 0x37195f7b
push 0x12
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebx + 0x5ec], eax
lea eax, [ebp - 0x52c]
push esi
push eax
push str.backcolor
push edi
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x14
test al, al
je 0x37195fbf
cmp byte [ebp - 0x52c], 0
je 0x37195fbf
lea eax, [ebx + 0x5e4]
push eax
lea eax, [ebp - 0x52c]
push 0x3719fc70
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
jmp 0x37195fcd
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebx + 0x5e4], eax
lea eax, [ebp - 0x52c]
push esi
push eax
push str.backcolorg
push edi
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x14
test al, al
je 0x37196011
cmp byte [ebp - 0x52c], 0
je 0x37196011
lea eax, [ebx + 0x5e8]
push eax
lea eax, [ebp - 0x52c]
push 0x3719fc70
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
jmp 0x37196018
and dword [ebx + 0x5e8], 0
lea eax, [ebx + 0x12d]
push 0x29
push eax
push 0x3719fc54
push edi
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [ebp - 0x52c]
push esi
push eax
push str.maskcolor
push edi
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x28
test al, al
je 0x37196068
lea eax, [ebx + 0xc04]
push eax
lea eax, [ebp - 0x52c]
push 0x3719fc70
push eax
call dword [sym.imp.MSVCRT.dll_sscanf]
add esp, 0xc
lea eax, [ebx + 0x5f4]
push 0x104
push eax
push str.icon
push edi
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [ebx + 0x6f8]
push 0x104
push eax
push str.cusicon
push edi
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [ebp - 0x52c]
push esi
push eax
push str.itemcount
push str._menu_
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x3c
test al, al
je 0x37196285
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
test eax, eax
pop ecx
mov dword [ebx + 0xd28], eax
jl 0x3719633e
cmp eax, 0x3c
jg 0x3719633e
test eax, eax
jle 0x37196285
mov edi, dword [sym.imp.MSVCRT.dll_malloc]
shl eax, 2
push eax
call edi
mov dword [ebx + 0xd2c], eax
mov eax, dword [ebx + 0xd28]
shl eax, 2
push eax
call edi
xor edi, edi
push 4
push edi
mov dword [ebx + 0xd30], eax
push dword [ebx + 0xd2c]
call sub.MSVCRT.dll_memset
push 4
push edi
push dword [ebx + 0xd30]
call sub.MSVCRT.dll_memset
add esp, 0x20
cmp dword [ebx + 0xd28], edi
mov dword [ebp - 8], edi
jle 0x37196285
push esi
lea eax, [ebp - 0x52c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov edi, dword [sym.imp.MSVCRT.dll__snprintf]
lea eax, [ebp - 0x52c]
push dword [ebp - 8]
push str.item_d
push 0x3ff
push eax
call edi
push esi
lea eax, [ebp - 0x92c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x1c
lea eax, [ebp - 0x92c]
push dword [ebp - 8]
push str.link_d
push 0x3ff
push eax
call edi
lea eax, [ebp - 0xd2c]
push esi
push eax
lea eax, [ebp - 0x52c]
mov edi, str._menu_
push eax
push edi
push dword [ebp - 4]
call fcn.37197cbb
and byte [ebp + 0xf], al
lea eax, [ebp - 0x112c]
push esi
push eax
lea eax, [ebp - 0x92c]
push eax
push edi
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x38
and byte [ebp + 0xf], al
je 0x37196330
lea eax, [ebp - 0xd2c]
push eax
call sub.MSVCRT.dll_strlen
mov edi, eax
lea eax, [ebp - 0x112c]
push eax
call sub.MSVCRT.dll_strlen
pop ecx
mov dword [ebp - 0xc], eax
test edi, edi
pop ecx
je 0x37196337
test eax, eax
je 0x37196337
mov ecx, dword [ebp - 8]
lea eax, [edi + 1]
mov edi, ecx
push eax
mov dword [ebp - 0x10], eax
shl edi, 2
call dword [sym.imp.MSVCRT.dll_malloc]
mov ecx, dword [ebx + 0xd2c]
mov dword [ecx + edi], eax
mov eax, dword [ebp - 0xc]
inc eax
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov ecx, dword [ebx + 0xd30]
push dword [ebp - 0x10]
mov dword [edi + ecx], eax
lea eax, [ebp - 0xd2c]
push eax
mov eax, dword [ebx + 0xd2c]
push dword [eax + edi]
call sub.MSVCRT.dll_memcpy
push dword [ebp - 0xc]
lea eax, [ebp - 0x112c]
push eax
mov eax, dword [ebx + 0xd30]
push dword [edi + eax]
call sub.MSVCRT.dll_memcpy
add esp, 0x20
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [ebx + 0xd28]
jl 0x37196142
and dword [ebp - 0x18], 0
cmp word [ebx + 0xc08], 0
jbe 0x37196e91
lea eax, [ebx + 0xc0c]
mov dword [ebp - 0x1c], eax
push 0x104
lea eax, [ebp - 0x12c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x12c]
push dword [ebp - 0x18]
push str.__d_
push 0x103
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
mov edi, 0x110
push edi
call dword [sym.imp.MSVCRT.dll_malloc]
mov ecx, dword [ebp - 0x1c]
push edi
push 0
push eax
mov dword [ecx], eax
call sub.MSVCRT.dll_memset
mov eax, dword [ebp - 0x1c]
push esi
mov edi, dword [eax]
mov eax, dword [ebp - 0x18]
or dword [edi + 0x108], 0xffffffff
or word [edi + 0x100], 0xffff
mov dword [edi + 8], eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x12c]
push str.style
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x34
test al, al
jne 0x37196345
mov dword [edi], 7
jmp 0x37196354
push 8
jmp 0x37196edb
push 9
jmp 0x37196edb
push 7
jmp 0x37196edb
lea eax, [ebp - 0x52c]
push eax
call fcn.371970be
pop ecx
mov dword [edi], eax
or dword [edi + 0xc], 0xffffffff
lea eax, [ebp - 0x92c]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.width
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x14
test al, al
je 0x3719638c
lea eax, [ebp - 0x92c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov dword [edi + 0xc], eax
and word [edi + 4], 0
lea eax, [ebp - 0x52c]
push esi
push eax
lea eax, [ebp - 0x12c]
push 0x3719fc04
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x14
test al, al
je 0x371963c6
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov word [edi + 4], ax
mov ax, word [ebx + 0x5f0]
mov word [edi + 0x10], ax
mov eax, dword [edi + 0xc]
cmp eax, 0xffffffff
je 0x371963f6
cmp eax, 0x12
jl 0x37196ea9
cmp eax, 0x258
jg 0x37196ea9
cmp dword [edi], 0
je 0x37196ea9
lea eax, [edi + 0xc0]
push 0x29
push eax
lea eax, [ebp - 0x12c]
push 0x3719fc54
push eax
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [edi + 0x12]
push 0x29
push eax
lea eax, [ebp - 0x12c]
push str.text
push eax
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [edi + 0x3b]
push 0x29
push eax
lea eax, [ebp - 0x12c]
push str.icon
push eax
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [edi + 0x64]
push 0x29
push eax
lea eax, [ebp - 0x12c]
push str.hoticon
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x50
lea eax, [ebp - 0x92c]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.textlen
push eax
push dword [ebp - 4]
call fcn.37197cbb
or dword [edi + 0xbc], 0xffffffff
or dword [edi + 0xb8], 0xffffffff
lea eax, [ebp - 0x92c]
mov dword [edi + 0x10c], 0x12c
push eax
call sub.MSVCRT.dll_strlen
add esp, 0x18
test eax, eax
je 0x371964d4
lea eax, [ebp - 0x92c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
test eax, eax
pop ecx
mov dword [edi + 0x10c], eax
jbe 0x371964ca
cmp eax, 0x12c
jbe 0x371964d4
mov dword [edi + 0x10c], 0x12c
lea eax, [ebp - 0x92c]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.event
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x14
test al, al
je 0x37196516
lea eax, [ebp - 0x92c]
push 0x3719fbe0
push eax
call dword [sym.imp.MSVCRT.dll__stricmp]
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
mov dword [edi + 0xec], eax
lea eax, [edi + 0x8d]
push 0x29
push eax
lea eax, [ebp - 0x12c]
push str.default
push eax
push dword [ebp - 4]
call fcn.37197cbb
mov eax, dword [edi]
add esp, 0x14
dec eax
je 0x37196e30
dec eax
je 0x37196cc0
dec eax
je 0x37196b1f
dec eax
je 0x3719691e
dec eax
je 0x37196e30
dec eax
je 0x3719656a
dec eax
jne 0x37196ead
jmp 0x37196e7a
push 0xc18
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [esp], 0xc18
push 0
push eax
mov dword [edi + 0x104], eax
call sub.MSVCRT.dll_memset
mov eax, dword [edi + 0x104]
push esi
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x12c]
push str.paramcount
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x20
test al, al
je 0x371965d0
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp - 0x14]
mov word [ecx + 0xc00], ax
jmp 0x371965db
mov eax, dword [ebp - 0x14]
and word [eax + 0xc00], 0
lea eax, [ebp - 0x92c]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.control
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x14
test al, al
je 0x3719660e
lea eax, [ebp - 0x92c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
jmp 0x37196612
mov ax, word [edi + 4]
mov word [edi + 0x100], ax
mov eax, dword [ebp - 0x14]
cmp word [eax + 0xc00], 4
ja 0x37196ec5
mov edi, eax
push esi
lea eax, [edi + 0x400]
push eax
lea eax, [ebp - 0x12c]
push str.link
push eax
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [edi + 0x800]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.default
push eax
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [edi + 0x400]
push esi
push eax
push edi
call sub.MSVCRT.dll_memcpy
and dword [ebp - 8], 0
add esp, 0x34
cmp word [edi + 0xc00], 0
jbe 0x3719670c
lea eax, [edi + 0xc02]
mov dword [ebp + 0xc], eax
push esi
lea eax, [ebp - 0x52c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x52c]
push dword [ebp - 8]
push str.param_d
push 0x3ff
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
lea eax, [ebp - 0x92c]
push esi
push eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x24
test al, al
je 0x37196ec1
lea eax, [ebp - 0x92c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
inc dword [ebp - 8]
mov ecx, dword [ebp + 0xc]
add dword [ebp + 0xc], 2
mov word [ecx], ax
movzx eax, word [edi + 0xc00]
cmp dword [ebp - 8], eax
jl 0x37196690
lea eax, [ebp - 0x52c]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.itemcount
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x14
mov byte [ebp + 0xf], al
test al, al
je 0x37196eb5
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
test eax, eax
pop ecx
mov dword [edi + 0xc0c], eax
jle 0x37196eb1
cmp eax, 0x3c
jg 0x37196eb1
shl eax, 2
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [edi + 0xc10], eax
mov eax, dword [edi + 0xc0c]
shl eax, 2
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [edi + 0xc14], eax
mov eax, dword [edi + 0xc0c]
shl eax, 2
push eax
push 0
push dword [edi + 0xc10]
call sub.MSVCRT.dll_memset
mov eax, dword [edi + 0xc0c]
shl eax, 2
push eax
push 0
push dword [edi + 0xc14]
call sub.MSVCRT.dll_memset
and dword [ebp - 8], 0
add esp, 0x20
cmp dword [edi + 0xc0c], 0
jle 0x37196e7a
push esi
lea eax, [ebp - 0x52c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
mov edi, dword [sym.imp.MSVCRT.dll__snprintf]
lea eax, [ebp - 0x52c]
push dword [ebp - 8]
push str.item_d
push 0x3ff
push eax
call edi
push esi
lea eax, [ebp - 0x92c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x1c
lea eax, [ebp - 0x92c]
push dword [ebp - 8]
push str.link_d
push 0x3ff
push eax
call edi
lea eax, [ebp - 0xd2c]
push esi
push eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 4]
call fcn.37197cbb
and byte [ebp + 0xf], al
lea eax, [ebp - 0x112c]
push esi
push eax
lea eax, [ebp - 0x92c]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x38
and byte [ebp + 0xf], al
je 0x37196eb9
lea eax, [ebp - 0xd2c]
push eax
call sub.MSVCRT.dll_strlen
mov edi, eax
lea eax, [ebp - 0x112c]
push eax
call sub.MSVCRT.dll_strlen
pop ecx
mov dword [ebp - 0xc], eax
test edi, edi
pop ecx
je 0x37196ebd
test eax, eax
je 0x37196ebd
mov ecx, dword [ebp - 8]
lea eax, [edi + 1]
mov edi, ecx
push eax
mov dword [ebp - 0x10], eax
shl edi, 2
call dword [sym.imp.MSVCRT.dll_malloc]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ecx + 0xc10]
mov dword [ecx + edi], eax
mov eax, dword [ebp - 0xc]
inc eax
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov ecx, dword [ebp - 0x14]
push dword [ebp - 0x10]
mov edx, dword [ecx + 0xc14]
mov dword [edx + edi], eax
lea eax, [ebp - 0xd2c]
push eax
mov eax, dword [ecx + 0xc10]
push dword [eax + edi]
call sub.MSVCRT.dll_memcpy
push dword [ebp - 0xc]
lea eax, [ebp - 0x112c]
push eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc14]
push dword [eax + edi]
call sub.MSVCRT.dll_memcpy
mov eax, dword [ebp - 0x14]
add esp, 0x20
inc dword [ebp - 8]
mov ecx, dword [ebp - 8]
cmp ecx, dword [eax + 0xc0c]
jl 0x371967c3
jmp 0x37196e7a
push 0x38
call dword [sym.imp.MSVCRT.dll_malloc]
add edi, 0x104
push 0x38
push 0
push eax
mov dword [edi], eax
call sub.MSVCRT.dll_memset
lea eax, [ebp - 0x52c]
mov edi, dword [edi]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.itemcount
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x24
mov byte [ebp + 0xf], al
test al, al
je 0x37196eb5
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
test eax, eax
pop ecx
mov dword [edi + 0x2c], eax
jle 0x37196eb1
cmp eax, 0x3c
jg 0x37196eb1
shl eax, 2
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [edi + 0x30], eax
mov eax, dword [edi + 0x2c]
shl eax, 2
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [edi + 0x34], eax
mov eax, dword [edi + 0x2c]
shl eax, 2
push eax
push 0
push dword [edi + 0x30]
call sub.MSVCRT.dll_memset
mov eax, dword [edi + 0x2c]
shl eax, 2
push eax
push 0
push dword [edi + 0x34]
call sub.MSVCRT.dll_memset
and dword [ebp - 8], 0
add esp, 0x20
cmp dword [edi + 0x2c], 0
jle 0x37196e7a
push esi
lea eax, [ebp - 0x52c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x52c]
push dword [ebp - 8]
push str.item_d
push 0x3ff
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
push esi
lea eax, [ebp - 0x92c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x1c
lea eax, [ebp - 0x92c]
push dword [ebp - 8]
push str.link_d
push 0x3ff
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
lea eax, [ebp - 0xd2c]
push esi
push eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 4]
call fcn.37197cbb
and byte [ebp + 0xf], al
lea eax, [ebp - 0x112c]
push esi
push eax
lea eax, [ebp - 0x92c]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x38
and byte [ebp + 0xf], al
je 0x37196eb9
lea eax, [ebp - 0xd2c]
push eax
call sub.MSVCRT.dll_strlen
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x112c]
push eax
call sub.MSVCRT.dll_strlen
cmp dword [ebp - 0x10], 0
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
je 0x37196ebd
test eax, eax
je 0x37196ebd
mov eax, dword [ebp - 0x10]
inc eax
push eax
mov dword [ebp - 0x10], eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov ecx, dword [edi + 0x30]
mov edx, dword [ebp - 8]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc]
inc eax
push eax
mov dword [ebp - 0xc], eax
call dword [sym.imp.MSVCRT.dll_malloc]
mov ecx, dword [edi + 0x34]
mov edx, dword [ebp - 8]
push dword [ebp - 0x10]
mov dword [ecx + edx*4], eax
lea eax, [ebp - 0xd2c]
push eax
mov eax, dword [edi + 0x30]
mov ecx, edx
push dword [eax + ecx*4]
call sub.MSVCRT.dll_memcpy
push dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
lea eax, [ebp - 0x112c]
push eax
mov eax, dword [edi + 0x34]
push dword [eax + ecx*4]
call sub.MSVCRT.dll_memcpy
add esp, 0x20
inc dword [ebp - 8]
mov eax, dword [ebp - 8]
cmp eax, dword [edi + 0x2c]
jl 0x371969d6
jmp 0x37196e7a
push 0x80a
call dword [sym.imp.MSVCRT.dll_malloc]
mov dword [esp], 0x80a
push 0
push eax
mov dword [edi + 0x104], eax
call sub.MSVCRT.dll_memset
mov eax, dword [edi + 0x104]
push esi
mov dword [ebp + 0xc], eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x12c]
push str.paramcount
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x20
test al, al
je 0x37196b85
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp + 0xc]
mov word [ecx + 0x800], ax
jmp 0x37196b90
mov eax, dword [ebp + 0xc]
and word [eax + 0x800], 0
lea eax, [ebp - 0x92c]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.control
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x14
test al, al
je 0x37196bd4
lea eax, [ebp - 0x92c]
push eax
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
je 0x37196bdf
lea eax, [ebp - 0x92c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
jmp 0x37196bd8
mov ax, word [edi + 4]
mov word [edi + 0x100], ax
mov eax, dword [ebp + 0xc]
cmp word [eax + 0x800], 4
ja 0x37196ec5
mov edi, eax
push esi
push edi
lea eax, [ebp - 0x12c]
push str.link
push eax
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [edi + 0x400]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.default
push eax
push dword [ebp - 4]
call fcn.37197cbb
and dword [ebp - 8], 0
add esp, 0x28
cmp word [edi + 0x800], 0
jbe 0x37196e7a
mov eax, edi
lea edi, [eax + 0x802]
push esi
lea eax, [ebp - 0x52c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x52c]
push dword [ebp - 8]
push str.param_d
push 0x3ff
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
lea eax, [ebp - 0x92c]
push esi
push eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x24
test al, al
je 0x37196ec1
lea eax, [ebp - 0x92c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
inc dword [ebp - 8]
mov word [edi], ax
mov eax, dword [ebp + 0xc]
inc edi
inc edi
pop ecx
movzx eax, word [eax + 0x800]
cmp dword [ebp - 8], eax
jl 0x37196c41
jmp 0x37196e7a
push 0x5336
call dword [sym.imp.MSVCRT.dll_malloc]
add edi, 0x104
mov dword [esp], 0x5336
push 0
push eax
mov dword [edi], eax
call sub.MSVCRT.dll_memset
mov eax, dword [edi]
push esi
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x52c]
push eax
lea eax, [ebp - 0x12c]
push str.itemcount
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x20
mov byte [ebp + 0xf], al
test al, al
je 0x37196ec9
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atoi]
pop ecx
mov ecx, dword [ebp - 0x14]
test ax, ax
mov word [ecx + 0x5334], ax
jbe 0x37196ed5
cmp ax, 0x14
ja 0x37196ed5
and dword [ebp - 8], 0
test ax, ax
jbe 0x37196e7a
mov edi, dword [sym.imp.MSVCRT.dll__snprintf]
mov dword [ebp - 0x10], ecx
add ecx, 0x334
mov dword [ebp - 0xc], ecx
push esi
lea eax, [ebp - 0x52c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x52c]
push dword [ebp - 8]
push str.item_d
push 0x3ff
push eax
call edi
push esi
lea eax, [ebp - 0x92c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x1c
lea eax, [ebp - 0x92c]
push dword [ebp - 8]
push str.link_d
push 0x3ff
push eax
call edi
push 0x29
lea eax, [ebp - 0x52c]
push dword [ebp - 0x10]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 4]
call fcn.37197cbb
and byte [ebp + 0xf], al
push esi
push dword [ebp - 0xc]
lea eax, [ebp - 0x92c]
push eax
lea eax, [ebp - 0x12c]
push eax
push dword [ebp - 4]
call fcn.37197cbb
add esp, 0x38
and byte [ebp + 0xf], al
je 0x37196ecd
push dword [ebp - 0x10]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
je 0x37196ed1
push dword [ebp - 0xc]
call sub.MSVCRT.dll_strlen
test eax, eax
pop ecx
je 0x37196ed1
mov eax, dword [ebp - 0x14]
inc dword [ebp - 8]
add dword [ebp - 0x10], 0x29
add dword [ebp - 0xc], esi
movzx eax, word [eax + 0x5334]
cmp dword [ebp - 8], eax
jl 0x37196d5b
jmp 0x37196e7a
or dword [edi + 0x108], 0xffffffff
lea eax, [ebp - 0x52c]
push esi
push eax
lea eax, [ebp - 0x12c]
push str.action
push eax
push dword [ebp - 4]
call fcn.37197cbb
lea eax, [ebp - 0x52c]
push eax
call sub.MSVCRT.dll_strlen
add esp, 0x18
test eax, eax
je 0x37196e7a
lea eax, [ebp - 0x52c]
push eax
call dword [sym.imp.MSVCRT.dll_atol]
pop ecx
mov dword [edi + 0x108], eax
movzx eax, word [ebx + 0xc08]
inc dword [ebp - 0x18]
add dword [ebp - 0x1c], 4
cmp dword [ebp - 0x18], eax
jl 0x371962a0
lea eax, [ebp - 4]
push eax
call fcn.37197c4c
pop ecx
push 1
pop eax
mov dword [ebx + 0xc00], eax
jmp 0x37196f56
push 0xb
jmp 0x37196edb
push 0x18
jmp 0x37196edb
push 0x15
jmp 0x37196edb
push 0x14
jmp 0x37196edb
push 0x16
jmp 0x37196edb
push 0x17
jmp 0x37196edb
push 0x12
jmp 0x37196edb
push 0x11
jmp 0x37196edb
push 0xc
jmp 0x37196edb
push 0xe
jmp 0x37196edb
push 0xf
jmp 0x37196edb
push 0xd
jmp 0x37196edb
push 3
pop edi
lea eax, [ebp - 4]
push eax
call fcn.37197c4c
push ebx
call fcn.37196f5b
push esi
lea eax, [ebp - 0x52c]
push 0
push eax
call sub.MSVCRT.dll_memset
add esp, 0x14
lea eax, [ebp - 0x52c]
push str.cb_log.log
push dword [ebp + 0x10]
push str._s_s
push 0x3ff
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
lea eax, [ebp - 0x52c]
push 0x3719fba4
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x37196f54
push dword [ebp - 0x18]
push edi
push dword [ebp - 0x20]
push str.Error_on_init_profile__s__errno___d___d___n
push esi
call dword [sym.imp.MSVCRT.dll_fprintf]
push esi
call dword [sym.imp.MSVCRT.dll_fclose]
add esp, 0x18
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret