Function at 0x402780
Capabilities:
Hide graphical window
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov eax, dword [0x45c008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push edi
xor edi, edi
mov dword [ebp - 0x120], edi
cmp dword [edi*4 + 0x462760], ebx
je 0x4027c7
inc edi
mov dword [ebp - 0x120], edi
cmp edi, 0x14
jl 0x4027a0
pop edi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004037f6
mov esp, ebp
pop ebp
ret
cmp edi, 0xffffffff
jne 0x4027de
pop edi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004037f6
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
push esi
mov eax, dword [eax + 8]
add eax, 0xcd
cmp eax, 5
ja case.0x4027f3.205
jmp dword [eax*4 + 0x402ab4]
cmp dword [0x45d15c], 0
mov esi, dword [sym.imp.USER32.dll_CheckDlgButton]
jne 0x402817
push 1
push 0xbb8
push ebx
call esi
push 0
jmp 0x402823
push 0
push 0xbb8
push ebx
call esi
push 1
push 0xbb9
push ebx
call esi
push 0
push ebx
call fcn.00402e70
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
xor ecx, ecx
imul edx, edi, 0x44c
add esp, 8
mov dword [ebp - 0x118], ecx
mov dword [ebp - 0x124], edx
cmp dword [edx + 0x45d260], ecx
jle 0x4028e1
lea eax, [edx + 0x45d264]
mov edi, 0xc9
mov dword [ebp - 0x11c], eax
nop dword [eax]
mov eax, dword [sym.imp.USER32.dll_GetDlgItem]
lea esi, [edi - 0x64]
push 5
push esi
push ebx
call eax
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 1
push esi
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 5
push edi
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [ebp - 0x11c]
push edi
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov ecx, dword [ebp - 0x118]
inc edi
mov eax, dword [ebp - 0x124]
inc ecx
add dword [ebp - 0x11c], 0x14
mov dword [ebp - 0x118], ecx
cmp ecx, dword [eax + 0x45d260]
jl 0x402870
mov edi, dword [ebp - 0x120]
cmp ecx, 0x1e
jge 0x40292b
mov eax, 0x1e
lea edi, [ecx + 0x65]
sub eax, ecx
mov dword [ebp - 0x118], eax
push 0
push edi
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push edi
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
lea eax, [edi + 0x64]
push eax
push ebx
call esi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
inc edi
sub dword [ebp - 0x118], 1
jne 0x4028f1
mov edi, dword [ebp - 0x120]
mov esi, dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebp - 0x104]
inc edi
mov dword [0x462754], ebx
push edi
push str.Value_d
push eax
call esi
xorps xmm0, xmm0
push str.UCALC.INI
movsd qword [ebp - 0x12c], xmm0
call fcn.004019d0
add esp, 0x10
push eax
push 8
lea eax, [ebp - 0x12c]
push eax
lea eax, [ebp - 0x104]
push eax
push str.VALUES
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStructA]
movsd xmm0, qword [ebp - 0x12c]
sub esp, 8
movsd qword [esp], xmm0
push 0x65
push ebx
call fcn.00401250
add esp, 0x10
push 0
push 0x775
push 0x111
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
push edi
lea eax, [ebp - 0x104]
push str.Focus_d
push eax
call esi
push str.UCALC.INI
call fcn.004019d0
add esp, 0x10
push eax
push 0
lea eax, [ebp - 0x104]
push eax
push str.VALUES
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
add eax, 0x65
push eax
mov eax, dword [sym.imp.USER32.dll_GetDlgItem]
push ebx
call eax
test eax, eax
je case.0x4027f3.201
push eax
push 0x7a4
push 0x111
push ebx
call dword [sym.imp.USER32.dll_PostMessageA]
push 0
push 0
push ebx
call dword [sym.imp.USER32.dll_SetWindowLongA]
pop esi
pop edi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004037f6
mov esp, ebp
pop ebp
ret
mov eax, dword [0x45d158]
mov esi, dword [sym.imp.USER32.dll_SetWindowLongA]
test eax, eax
je 0x402a37
push eax
push 0xfffffffffffffffc
push dword [0x462758]
call esi
lea eax, [ebp - 0x114]
mov dword [0x45d158], 0
push eax
push dword [0x462758]
call dword [sym.imp.USER32.dll_GetWindowRect]
push str.UCALC.INI
call fcn.004019d0
push eax
push dword [ebp - 0x114]
push str.XPos
push str.Window
call fcn.00401fe0
push str.UCALC.INI
call fcn.004019d0
push eax
push dword [ebp - 0x110]
push str.YPos
push str.Window
call fcn.00401fe0
add esp, 0x28
push 0
push 0
push ebx
call esi
mov ecx, dword [ebp - 4]
xor eax, eax
pop esi
pop edi
xor ecx, ebp
pop ebx
call fcn.004037f6
mov esp, ebp
pop ebp
ret