Function at 0x40b657
Capabilities:
Accept command line arguments
Get common file path
Get graphical window text
Query environment variable
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x148
mov eax, dword [0x449748]
push ebx
push esi
push edi
push str.getcurrentdirectory_
push dword [ebp + 0xc]
mov dword [ebp - 4], eax
mov edi, ecx
mov esi, edx
xor ebx, ebx
jmp 0x40b772
push str.getcurrentdirectory
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.getwindowsdirectory_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40b7dd
push str.getwindowsdirectory
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.getsystemdirectory_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40b80d
push str.getsystemdirectory
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetRscDirectory_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40b86c
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [0x44eee0]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
dec eax
cmp eax, ebx
mov dword [ebp - 0x140], eax
jle 0x40b764
mov ecx, dword [ebp - 0x140]
mov eax, dword [0x44eee0]
cmp byte [eax + ecx], 0x5c
jne 0x40b756
dec ecx
push ecx
push eax
call fcn.00424e83
test eax, eax
pop ecx
pop ecx
je 0x40b840
dec dword [ebp - 0x140]
cmp dword [ebp - 0x140], ebx
jg 0x40b733
mov eax, str.GetInterpreterDirectory_
push str.getcurrentdirectory_
mov dword [ebp + 0xc], eax
push eax
mov byte [edi], bl
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40b67e
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 0x106
call fcn.0042629a
pop ecx
mov edi, eax
push edi
push 0x104
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
push edi
call fcn.00426610
lea esi, [eax + edi]
cmp byte [esi - 1], 0x5c
pop ecx
jne 0x40b7d0
add eax, 0xfffffffe
push eax
push edi
call fcn.00424e83
test eax, eax
pop ecx
pop ecx
je 0x40b7d6
mov byte [esi], 0x5c
mov byte [esi + 1], bl
mov eax, edi
jmp 0x40d264
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 0x106
call fcn.0042629a
mov edi, eax
mov dword [esp], 0x104
push edi
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
jmp 0x40b7b0
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 0x106
call fcn.0042629a
mov edi, eax
mov dword [esp], 0x104
push edi
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
jmp 0x40b7b0
mov esi, dword [ebp - 0x140]
lea eax, [esi + 3]
push eax
call fcn.0042629a
pop ecx
mov edi, eax
lea eax, [esi + 2]
push eax
push dword [0x44eee0]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
mov byte [edi + esi + 2], bl
jmp 0x40b7d6
push str.GetRscDirectory
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetInterpreterDirectory_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40b90f
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 0x104
lea eax, [ebp - 0x13c]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
test eax, eax
je 0x40d262
lea eax, [ebp - 0x13c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
jmp 0x40b8f6
cmp byte [ebp + esi - 0x13c], 0x5c
jne 0x40b8f6
lea eax, [esi - 1]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00424e83
test eax, eax
pop ecx
pop ecx
je 0x40b8fd
dec esi
cmp esi, ebx
jg 0x40b8d6
jmp 0x40b904
mov byte [ebp + esi - 0x13b], bl
lea eax, [ebp - 0x13c]
jmp 0x40bda2
push str.GetInterpreterDirectory
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetRscName_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40b958
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [0x44eee0]
jmp 0x40d257
push str.GetRscName
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.getenv_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40b9fe
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 2
call fcn.0042629a
cmp eax, ebx
pop ecx
mov dword [ebp - 0x140], eax
je 0x40b9f3
mov edi, dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
push 2
push eax
push dword [esi + 8]
call edi
cmp eax, 1
mov dword [ebp - 0x144], eax
jbe 0x40b9e7
push eax
push dword [ebp - 0x140]
call fcn.004266f3
cmp eax, ebx
pop ecx
pop ecx
je 0x40b9eb
push dword [ebp - 0x144]
mov dword [ebp - 0x140], eax
push eax
push dword [esi + 8]
call edi
jmp 0x40b9f3
cmp eax, ebx
jne 0x40b9f3
mov eax, dword [ebp - 0x140]
mov byte [eax], bl
mov eax, dword [ebp - 0x140]
jmp 0x40d264
push str.getenv
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.ExpandEnvironmentStrings_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40bacd
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 5
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
je 0x40b7d6
push 2
push edi
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
cmp eax, 2
jbe 0x40babe
lea eax, [eax + eax + 1]
push edi
mov dword [ebp - 0x144], eax
call fcn.004262e0
push dword [ebp - 0x144]
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x40bac6
push dword [ebp - 0x144]
push edi
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsA]
test eax, eax
je 0x40b7d6
lea eax, [edi + 1]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
push eax
push edi
call fcn.004266f3
cmp eax, ebx
pop ecx
pop ecx
je 0x40b7d6
jmp 0x40c4ba
cmp eax, ebx
jne 0x40b7d6
mov byte [edi], bl
jmp 0x40b7d6
push str.ExpandEnvironmentStrings
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.regreadsz_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1da
push str.regreadstring_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1da
push str.regreadsz
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.geteditbox_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b9
push str.geticonname_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b9
push str.geticonbox_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b9
push str.gettextctrl_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b9
push str.geteditbox
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.geticonname
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.geticonbox
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.gettextctrl
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.strupr_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40bc1b
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.0042f33d
push eax
call fcn.0042f3c2
jmp 0x40bf07
push str.strupr
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.strlwr_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40bc6c
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.0042f33d
push eax
call fcn.0042f4d6
jmp 0x40bf07
push str.strlwr
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.getstrbyte_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40bccb
mov ecx, 0x43edd0
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
push dword [esi + 8]
mov edi, dword [eax + 8]
call fcn.00426610
cmp eax, edi
pop ecx
jbe 0x40d000
mov eax, dword [esi + 8]
mov al, byte [edi + eax]
jmp 0x40c160
push str.getstrbyte
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.left_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40bd4d
mov ecx, 0x43edd0
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.00426610
pop ecx
mov ecx, dword [esi]
cmp eax, dword [ecx + 8]
push dword [esi + 8]
jbe 0x40d257
call fcn.0042f33d
mov edi, eax
mov eax, dword [esi]
mov eax, dword [eax + 8]
push edi
mov byte [edi + eax], bl
call fcn.0042f33d
cmp edi, ebx
pop ecx
pop ecx
mov esi, eax
je 0x40c97d
push edi
call fcn.004262e0
pop ecx
jmp 0x40c97d
push str.left
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.right_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40bdb0
mov ecx, 0x43edd0
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.00426610
pop ecx
mov ecx, dword [esi]
mov ecx, dword [ecx + 8]
cmp eax, ecx
jbe 0x40bda8
sub eax, ecx
add eax, dword [esi + 8]
push eax
jmp 0x40d257
push dword [esi + 8]
jmp 0x40d257
push str.right
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.mid_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40be5e
mov ecx, 0x43ed1c
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
push dword [esi + 8]
mov edi, dword [eax + 8]
call fcn.00426610
cmp eax, edi
pop ecx
jbe 0x40d000
mov eax, dword [esi + 8]
add eax, edi
push eax
call fcn.0042f33d
mov dword [ebp - 0x144], eax
mov eax, dword [esi]
mov eax, dword [eax]
mov edi, dword [eax + 8]
mov eax, dword [esi]
mov eax, dword [eax + 8]
add eax, dword [esi + 8]
push eax
call fcn.00426610
cmp eax, edi
pop ecx
pop ecx
jbe 0x40d24a
mov esi, dword [ebp - 0x144]
push esi
mov byte [edi + esi], bl
call fcn.0042f33d
cmp esi, ebx
pop ecx
mov edi, eax
je 0x40b7d6
push esi
call fcn.004262e0
pop ecx
jmp 0x40b7d6
push 0x43de3c
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.iniReadString_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40bebb
mov ecx, str.ssss
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
mov ecx, dword [eax]
mov edx, dword [ecx]
push dword [edx + 8]
push dword [ecx + 8]
push dword [eax + 8]
push dword [esi + 8]
call fcn.004241bd
add esp, 0x10
jmp 0x40d264
push str.iniReadString
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.toStr_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40bf9c
mov ecx, 0x43ea94
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40bf0d
push dword [esi + 8]
call fcn.00424df2
push eax
call fcn.0042f33d
pop ecx
jmp 0x40d25c
mov ecx, 0x43de10
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.00424df2
pop ecx
push eax
mov dword [ebp - 0x144], eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x140], eax
mov eax, dword [esi]
mov eax, dword [eax + 8]
cmp dword [ebp - 0x140], eax
jb 0x40bf55
push dword [ebp - 0x144]
jmp 0x40d257
inc eax
push eax
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
je 0x40b7d6
mov eax, dword [esi]
mov eax, dword [eax + 8]
sub eax, dword [ebp - 0x140]
je 0x40bf88
mov byte [ebx + edi], 0x30
mov eax, dword [esi]
mov eax, dword [eax + 8]
sub eax, dword [ebp - 0x140]
inc ebx
cmp ebx, eax
jb 0x40bf74
push dword [ebp - 0x144]
add ebx, edi
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40b7d6
push str.toStr
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.SignedToStr_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40bfe7
mov ecx, 0x43ea94
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.00424e0f
jmp 0x40bf01
push str.SignedToStr
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.toStr2_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c06e
mov ecx, 0x43ea94
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov esi, dword [esi + 8]
xor edi, edi
xor eax, eax
push 0x1f
pop ecx
sub ecx, eax
mov edx, esi
shr edx, cl
and dl, 1
add dl, 0x30
cmp edi, ebx
mov byte [ebp + edi - 0x38], dl
je 0x40c046
inc edi
jmp 0x40c04f
cmp byte [ebp - 0x38], 0x31
jne 0x40c04f
xor edi, edi
inc edi
inc eax
cmp eax, 0x20
jb 0x40c02c
cmp edi, ebx
je 0x40c05f
mov byte [ebp + edi - 0x38], bl
jmp 0x40c066
mov byte [ebp - 0x38], 0x30
mov byte [ebp - 0x37], bl
lea eax, [ebp - 0x38]
jmp 0x40bda2
push str.toStr2
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.toStr8_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c0c2
mov ecx, 0x43ea94
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
lea eax, [ebp - 0x14]
push 0x43ddd0
push eax
call fcn.0042669b
lea eax, [ebp - 0x14]
jmp 0x40c114
push str.toStr8
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.toStr16_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c11f
mov ecx, 0x43ea94
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
lea eax, [ebp - 0x10]
push 0x43ddb8
push eax
call fcn.0042669b
lea eax, [ebp - 0x10]
push eax
call fcn.0042f33d
jmp 0x40beb3
push str.toStr16
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.AsciiCode_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c177
mov ecx, 0x43ea94
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov al, byte [esi + 8]
mov byte [ebp - 0x13e], al
mov byte [ebp - 0x13d], bl
lea eax, [ebp - 0x13e]
jmp 0x40bda2
push str.AsciiCode
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.CallDll_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c28d
cmp esi, ebx
je 0x40d25f
cmp byte [esi + 4], 1
jne 0x40d25f
mov eax, dword [esi]
cmp eax, ebx
je 0x40d25f
cmp byte [eax + 4], 1
jne 0x40d25f
push dword [esi + 8]
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
cmp eax, ebx
mov dword [ebp - 0x144], eax
jne 0x40c1e6
mov byte [edi], 4
jmp 0x40d262
mov eax, dword [esi]
push dword [eax + 8]
push dword [ebp - 0x144]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp eax, ebx
mov dword [ebp - 0x140], eax
jne 0x40c209
mov byte [edi], 5
jmp 0x40d262
mov eax, dword [esi]
mov edi, dword [eax]
jmp 0x40c232
mov al, byte [edi + 4]
cmp al, 2
jne 0x40c220
push dword [edi + 8]
call fcn.0041e0b7
jmp 0x40c22c
cmp al, 3
jne 0x40c230
push dword [edi + 8]
call fcn.0041e0d6
pop ecx
mov dword [edi + 8], eax
mov edi, dword [edi]
cmp edi, ebx
jne 0x40c20f
mov eax, dword [esi]
push dword [eax]
push dword [ebp + 8]
call dword [ebp - 0x140]
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x40c26f
push esi
call dword [sym.imp.KERNEL32.dll_GlobalLock]
cmp eax, ebx
je 0x40c26f
push eax
call fcn.0042f33d
pop ecx
push esi
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
push esi
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x40c27c
push 0x43c616
call fcn.0042f33d
pop ecx
mov edi, eax
push dword [ebp - 0x144]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x40b7d6
push str.EnumKey_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c3d6
mov ecx, 0x43edd0
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 0x5c
push dword [esi + 8]
call fcn.00426970
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x140], ebx
jne 0x40c338
push dword [esi + 8]
call fcn.00424395
pop ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x140]
push ecx
push ebx
push ebx
push ebx
push ebx
push eax
mov dword [ebp - 0x144], eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
mov eax, dword [ebp - 0x140]
lea eax, [eax + eax + 2]
push eax
mov dword [ebp - 0x140], eax
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
je 0x40b7d6
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x140]
push eax
mov eax, dword [esi]
push edi
push dword [eax + 8]
push dword [ebp - 0x144]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
jmp 0x40c497
push 2
push dword [esi + 8]
push ebx
call fcn.004248bf
add esp, 0xc
cmp eax, ebx
mov dword [ebp - 0x144], eax
je 0x40c3cc
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x140]
push ecx
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
mov eax, dword [ebp - 0x140]
lea eax, [eax + eax + 2]
push eax
mov dword [ebp - 0x140], eax
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
je 0x40c548
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x140]
push eax
mov eax, dword [esi]
push edi
push dword [eax + 8]
push dword [ebp - 0x144]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
test eax, eax
push edi
jne 0x40c534
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
push eax
push edi
call fcn.004266f3
cmp eax, ebx
pop ecx
pop ecx
je 0x40c548
jmp 0x40c546
push 0x43c616
jmp 0x40c4b4
push str.EnumKey
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.EnumValue_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c559
mov ecx, 0x43edd0
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 0x5c
push dword [esi + 8]
call fcn.00426970
test eax, eax
pop ecx
pop ecx
mov dword [ebp - 0x140], ebx
jne 0x40c4c1
push dword [esi + 8]
call fcn.00424395
pop ecx
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x140]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
mov dword [ebp - 0x144], eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
mov eax, dword [ebp - 0x140]
lea eax, [eax + eax + 2]
push eax
mov dword [ebp - 0x140], eax
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
je 0x40b7d6
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x140]
push eax
mov eax, dword [esi]
push edi
push dword [eax + 8]
push dword [ebp - 0x144]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
push edi
jne 0x40c4a8
call dword [sym.imp.KERNEL32.dll_lstrlenA]
inc eax
jmp 0x40baa8
call fcn.004262e0
mov dword [esp], 0x43c616
call fcn.0042f33d
pop ecx
mov edi, eax
jmp 0x40b7d6
push 2
push dword [esi + 8]
push ebx
call fcn.004248bf
add esp, 0xc
cmp eax, ebx
mov dword [ebp - 0x144], eax
je 0x40c3cc
push ebx
push ebx
push ebx
lea ecx, [ebp - 0x140]
push ecx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyA]
mov eax, dword [ebp - 0x140]
lea eax, [eax + eax + 2]
push eax
mov dword [ebp - 0x140], eax
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
je 0x40c548
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x140]
push eax
mov eax, dword [esi]
push edi
push dword [eax + 8]
push dword [ebp - 0x144]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
jmp 0x40c3a6
call fcn.004262e0
mov dword [esp], 0x43c616
call fcn.0042f33d
pop ecx
mov edi, eax
push dword [ebp - 0x144]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40b7d6
push str.EnumValue
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.iniEnumSection_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c5bc
mov ecx, 0x43edd0
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi + 8]
mov cl, byte [eax]
neg cl
sbb ecx, ecx
and eax, ecx
mov ecx, dword [esi]
push dword [ecx + 8]
push eax
call fcn.00424253
pop ecx
pop ecx
cmp eax, ebx
jne 0x40d264
jmp 0x40d000
push str.iniEnumSection
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.iniEnumKey_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c611
mov ecx, 0x43ec94
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
mov ecx, dword [eax]
push dword [ecx + 8]
push dword [eax + 8]
push dword [esi + 8]
call fcn.004242e5
add esp, 0xc
jmp 0x40c5af
push str.iniEnumKey
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.ListViewGetText_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c669
mov ecx, 0x43ed1c
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
mov ecx, dword [eax]
push dword [ecx + 8]
push dword [eax + 8]
push dword [esi + 8]
call fcn.004062b5
add esp, 0xc
jmp 0x40d264
push str.ListViewGetText
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetMultiEditLine_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c6b9
mov ecx, 0x43edd0
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
push dword [eax + 8]
push dword [esi + 8]
call fcn.00406345
jmp 0x40bf07
push str.GetMultiEditLine
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetExtName_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c791
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 2
push dword [esi + 8]
mov edi, connect
push edi
call fcn.004248bf
add esp, 0xc
cmp eax, ebx
mov dword [ebp - 0x144], eax
je 0x40c77d
push ebx
push 0x43c616
push eax
call fcn.00423da6
add esp, 0xc
push dword [ebp - 0x144]
mov dword [ebp - 0x140], eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x140], ebx
je 0x40c77d
mov eax, dword [ebp - 0x140]
cmp byte [eax], bl
je 0x40c767
push 2
push eax
push edi
call fcn.004248bf
add esp, 0xc
cmp eax, ebx
je 0x40c767
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x40b9f3
push dword [ebp - 0x140]
call fcn.004262e0
push dword [esi + 8]
call fcn.0042f33d
pop ecx
jmp 0x40c785
push dword [esi + 8]
call fcn.0042f33d
pop ecx
mov dword [ebp - 0x140], eax
jmp 0x40b9f3
push str.GetExtName
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.enumID_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c7ef
mov ecx, 0x43ea94
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov esi, dword [esi + 8]
cmp dword [0x44eeec], esi
jbe 0x40d16c
mov eax, dword [0x44eef0]
imul esi, esi, 0x54
mov esi, dword [esi + eax + 0x24]
jmp 0x40d171
push str.enumID
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetControlType_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c83a
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.00406474
jmp 0x40bf01
push str.enumID
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetDialogTitle_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c8a7
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov esi, eax
inc esi
inc esi
push esi
call fcn.0042629a
mov edi, eax
cmp edi, ebx
pop ecx
je 0x40b7d6
inc esi
push esi
push edi
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowTextA]
jmp 0x40b7d6
push str.GetDialogTitle
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetWindowTitle_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c918
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [ebp + 8]
mov edi, dword [sym.imp.USER32.dll_GetParent]
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov esi, eax
inc esi
push esi
call fcn.0042629a
pop ecx
push esi
mov ebx, eax
push ebx
push dword [ebp + 8]
call edi
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov eax, ebx
jmp 0x40d264
push str.GetWindowTitle
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetDesktopDirectory_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c984
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
call fcn.00425566
jmp 0x40c9c7
add esi, 2
push esi
call fcn.0042629a
mov esi, eax
push edi
push esi
call fcn.00426480
push 0x43dc48
push esi
call fcn.00426490
add esp, 0x14
mov eax, esi
jmp 0x40d264
push str.GetDesktopDirectory
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetProgramDirectory_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40c9f3
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
call fcn.00425507
mov edi, eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
cmp byte [esi + edi - 1], 0x5c
jne 0x40c95d
lea eax, [esi - 2]
push eax
push edi
call fcn.00424e83
test eax, eax
pop ecx
pop ecx
jne 0x40c95d
push edi
jmp 0x40d257
push str.GetProgramDirectory
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.SelectOpenFile_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40ca9b
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40ca45
push 0x40
mov byte [ebp - 0x13c], bl
xor eax, eax
pop ecx
lea edi, [ebp - 0x13b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
jmp 0x40ca6b
mov ecx, 0x43ee5c
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
push dword [eax + 8]
lea eax, [ebp - 0x13c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
mov eax, dword [ebp + 8]
push ebx
push dword [esi + 8]
lea edi, [ebp - 0x13c]
push 0x104
push 0x43d6e0
call fcn.004166f9
lea eax, [ebp - 0x13c]
push eax
call fcn.0042f33d
add esp, 0x14
jmp 0x40d264
push str.SelectOpenFile
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.SelectSaveFile_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40cb34
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40cb0c
push 0x40
mov byte [ebp - 0x13c], bl
xor eax, eax
pop ecx
lea edi, [ebp - 0x13b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
push ebx
push dword [esi + 8]
lea edi, [ebp - 0x13c]
push 0x104
push 0x43d6e0
call fcn.00416783
jmp 0x40ca87
mov ecx, 0x43ee5c
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
push dword [eax + 8]
lea eax, [ebp - 0x13c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
jmp 0x40caeb
push str.SelectSaveFile
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.SelectFolder_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40cba0
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 0x40
xor eax, eax
mov byte [ebp - 0x13c], bl
pop ecx
push dword [esi + 8]
lea edi, [ebp - 0x13b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [ebp + 8]
lea esi, [ebp - 0x13c]
call fcn.0041680d
mov eax, esi
jmp 0x40bf01
push str.SelectFolder
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.dhelps_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40cbf0
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
xor al, al
call fcn.0040d308
push dword [esi + 8]
jmp 0x40bf02
push str.dhelps
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.dhelp_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40cc39
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi + 8]
push ebx
call fcn.0040d48a
jmp 0x40cbe8
push str.dhelp
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.dhelpbuttons_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40cc8a
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov esi, str.__bcf13__OK_
push ebx
mov eax, esi
call fcn.0040d48a
push esi
jmp 0x40bf02
push str.dhelpbutton
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.fread_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40ce61
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40cd60
cmp word [0x44c9b8], bx
mov eax, 0x43e258
jne 0x40ccdf
mov eax, 0x43e254
push eax
push dword [esi + 8]
call fcn.00426b12
mov edi, eax
cmp edi, ebx
pop ecx
pop ecx
je 0x40cd4a
push 2
push ebx
push edi
call fcn.00426da4
push edi
call fcn.00426f4f
push ebx
mov esi, eax
push ebx
push edi
inc esi
call fcn.00426da4
lea eax, [esi + 1]
push 1
push eax
call fcn.004268a0
add esp, 0x24
cmp eax, ebx
mov dword [ebp - 0x140], eax
je 0x40cd31
push edi
push 1
push esi
push eax
call fcn.004270ff
add esp, 0x10
jmp 0x40cd42
push 0x43c616
call fcn.0042f33d
pop ecx
mov dword [ebp - 0x140], eax
push edi
call fcn.00426cc4
jmp 0x40cd5a
push 0x43c616
call fcn.0042f33d
mov dword [ebp - 0x140], eax
pop ecx
jmp 0x40b9f3
mov ecx, 0x43edd0
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
cmp word [0x44c9b8], bx
mov eax, 0x43e258
jne 0x40cd87
mov eax, 0x43e254
push eax
push dword [esi + 8]
call fcn.00426b12
cmp eax, ebx
pop ecx
pop ecx
mov dword [ebp - 0x140], eax
je 0x40ce4e
push 2
push ebx
push eax
call fcn.00426da4
push dword [ebp - 0x140]
call fcn.00426f4f
push ebx
mov edi, eax
push ebx
push dword [ebp - 0x140]
inc edi
mov dword [ebp - 0x148], edi
call fcn.00426da4
push 1
inc edi
push edi
call fcn.004268a0
mov edi, eax
add esp, 0x24
cmp edi, ebx
je 0x40ce34
mov dword [ebp - 0x144], ebx
push dword [ebp - 0x140]
mov byte [edi], bl
push dword [ebp - 0x148]
push edi
call fcn.00426f90
mov eax, dword [esi]
add esp, 0xc
inc dword [ebp - 0x144]
mov ecx, dword [ebp - 0x144]
cmp ecx, dword [eax + 8]
jbe 0x40cde2
push edi
call fcn.00426610
add eax, edi
pop ecx
mov cl, byte [eax]
cmp cl, 0xa
je 0x40ce21
cmp cl, 0xd
jne 0x40ce23
mov byte [eax], bl
push edi
call fcn.0042f33d
push edi
mov esi, eax
call fcn.004262e0
pop ecx
jmp 0x40ce40
push 0x43c616
call fcn.0042f33d
mov esi, eax
pop ecx
push dword [ebp - 0x140]
call fcn.00426cc4
jmp 0x40ce5a
push 0x43c616
call fcn.0042f33d
mov esi, eax
mov eax, esi
jmp 0x40d25c
push str.input_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40cebb
mov ecx, 0x43ec80
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40ce9e
mov eax, dword [esi]
mov ecx, dword [eax]
push dword [ecx + 8]
push dword [eax + 8]
mov eax, dword [esi + 8]
push dword [ebp + 8]
call fcn.0040e22f
jmp 0x40c661
mov ecx, 0x43ee5c
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
push 0x43d354
jmp 0x40ce8b
push str.input
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.inputpassword_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40cf2c
mov ecx, 0x43ec80
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40cf0f
mov eax, dword [esi]
mov ecx, dword [eax]
push dword [ecx + 8]
push dword [eax + 8]
mov eax, dword [esi + 8]
push dword [ebp + 8]
call fcn.0040e268
jmp 0x40c661
mov ecx, 0x43ee5c
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
push 0x43d330
jmp 0x40cefc
push str.inputpassword
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.replace_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40cf9a
mov ecx, 0x43ec80
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40cf7d
mov eax, dword [esi]
mov ecx, dword [eax]
push dword [ecx + 8]
push dword [eax + 8]
push dword [esi + 8]
call fcn.00425a80
jmp 0x40c661
mov ecx, 0x43ee5c
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
mov eax, dword [esi]
push 0x43c616
jmp 0x40cf6d
push str.replace
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.BeforeEq_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40d057
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.0042f33d
mov edi, eax
cmp edi, ebx
pop ecx
je 0x40d000
push 0x3d
push edi
call fcn.00426970
cmp eax, ebx
pop ecx
pop ecx
jne 0x40d01b
push edi
call fcn.004262e0
pop ecx
push 0x43c616
jmp 0x40d257
lea esi, [eax - 1]
mov cl, byte [esi]
cmp cl, 0x20
je 0x40d019
cmp cl, 9
jne 0x40d01f
mov eax, esi
cmp edi, eax
jb 0x40d00a
cmp edi, eax
mov byte [eax], bl
mov esi, edi
jae 0x40d038
mov cl, byte [esi]
cmp cl, 0x20
je 0x40d033
cmp cl, 9
jne 0x40d038
inc esi
cmp esi, eax
jb 0x40d027
push esi
call fcn.0042f33d
mov esi, eax
cmp esi, ebx
pop ecx
je 0x40b7d6
push edi
call fcn.004262e0
pop ecx
mov edi, esi
jmp 0x40b7d6
push str.BeforeEq
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.AfterEq_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40d121
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.0042f33d
mov edi, eax
cmp edi, ebx
pop ecx
mov dword [ebp - 0x144], edi
je 0x40d000
push 0x3d
push edi
call fcn.00426970
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x40cff9
jmp 0x40d0d0
cmp al, 0x20
je 0x40d0d0
cmp al, 9
jne 0x40d0d7
inc esi
mov al, byte [esi]
cmp al, bl
jne 0x40d0c8
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenA]
add eax, esi
jmp 0x40d0f3
lea edi, [eax - 1]
mov cl, byte [edi]
cmp cl, 0x20
je 0x40d0f1
cmp cl, 9
jne 0x40d0f7
mov eax, edi
cmp esi, eax
jb 0x40d0e2
push esi
mov byte [eax], bl
call fcn.0042f33d
mov esi, eax
cmp esi, ebx
pop ecx
je 0x40d24a
push dword [ebp - 0x144]
call fcn.004262e0
pop ecx
mov dword [ebp - 0x144], esi
jmp 0x40d24a
push str.AfterEq
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
push str.GetIParam_
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
jne 0x40d196
mov ecx, 0x43ea94
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d177
mov esi, dword [esi + 8]
cmp dword [0x44c350], esi
jbe 0x40d16c
mov eax, dword [0x44c354]
mov esi, dword [eax + esi*4]
jmp 0x40d171
mov esi, 0x43c616
push esi
jmp 0x40d257
mov ecx, 0x43c616
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
jmp 0x40bda2
push str.GetIParam
push dword [ebp + 0xc]
call fcn.0042efce
test eax, eax
pop ecx
pop ecx
je 0x40d1b1
mov byte [edi], 1
jmp 0x40d262
mov byte [edi], 3
jmp 0x40d262
mov ecx, 0x43ee58
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push dword [esi + 8]
call fcn.00405c0e
jmp 0x40d25c
mov ecx, 0x43ec80
mov eax, esi
call fcn.004068a8
test eax, eax
je 0x40d25f
push 2
push dword [esi + 8]
push ebx
call fcn.004248bf
mov edi, eax
mov eax, dword [esi]
add esp, 0xc
cmp edi, ebx
je 0x40d252
push dword [eax + 8]
push edi
call fcn.00423776
cmp eax, ebx
pop ecx
pop ecx
jle 0x40d230
lea ebx, [eax + 1]
push ebx
call fcn.0042629a
push ebx
push eax
mov dword [ebp - 0x144], eax
mov eax, dword [esi]
push dword [eax + 8]
push edi
call fcn.0042386a
add esp, 0x14
jmp 0x40d243
mov eax, dword [esi]
mov eax, dword [eax]
push dword [eax + 8]
call fcn.0042f33d
pop ecx
mov dword [ebp - 0x144], eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0x144]
jmp 0x40d264
mov eax, dword [eax]
push dword [eax + 8]
call fcn.0042f33d
pop ecx
jmp 0x40d264
mov byte [edi], 2
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.00428306
leave
ret