Function at 0x404fc0
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x120
mov eax, dword [0x422f90]
xor eax, esp
mov dword [esp + 0x11c], eax
push ebx
mov ebx, dword [esp + 0x128]
push esi
xor esi, esi
cmp dword [0x424520], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
je 0x405901
cmp dword [0x4244cc], esi
push ebp
mov ebp, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push edi
mov edi, dword [0x424524]
mov dword [esp + 0x1c], edi
mov dword [0x424524], esi
jle 0x4051ba
jmp 0x405020
mov eax, dword [esi*4 + 0x422004]
push 0
push 0
push pe_nt_image_headers32
push eax
push ebx
call ebp
cmp eax, 1
jne 0x40503f
add dword [0x424524], eax
mov eax, dword [0x4244cc]
add esi, 1
cmp esi, eax
jl 0x405020
cmp dword [0x424524], 7
jne 0x4051ba
cmp edi, 6
jne 0x40510c
xor esi, esi
test eax, eax
jle 0x4051ba
jmp 0x405070
mov edi, dword [esi*4 + 0x422004]
mov ebp, dword [0x43eae8]
push edi
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x4050da
mov ecx, dword [0x43b9c8]
mov dword [ecx*4 + 0x43dae8], ebp
push edi
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x4050c7
mov edx, dword [0x43b9c8]
mov eax, dword [edx*4 + 0x4399c4]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x4050c9
xor eax, eax
mov edx, dword [0x4399c0]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x4399c0
call eax
mov ecx, dword [esi*4 + 0x422004]
push 0
push 1
push 0xf1
push ecx
push ebx
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
add esi, 1
cmp esi, dword [0x4244cc]
jl 0x405070
mov ebp, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp 0x4051ba
cmp edi, 8
jne 0x4051ba
lea esi, [eax - 1]
test esi, esi
jl 0x4051ba
mov edx, dword [esi*4 + 0x422004]
push 0
push 0
push pe_nt_image_headers32
push edx
push ebx
call ebp
cmp eax, 1
je 0x405140
sub esi, 1
jns 0x405120
jmp 0x4051ba
mov edi, dword [esi*4 + 0x422004]
push edi
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x4051a6
mov eax, dword [0x43b9c8]
push edi
mov ecx, 0x4399c0
mov dword [eax*4 + 0x43dae8], 0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x405194
mov ecx, dword [0x43b9c8]
mov edx, dword [ecx*4 + 0x4399c4]
push edi
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405196
xor eax, eax
push eax
mov eax, dword [0x4399c0]
mov edx, dword [eax + 8]
mov ecx, 0x4399c0
call edx
mov eax, dword [esi*4 + 0x422004]
push 0
push 0
push 0xf1
push eax
push ebx
call ebp
push 0
push 0
push pe_nt_image_headers32
push 0x43f
push ebx
mov dword [0x424524], 0
call ebp
mov esi, 1
cmp eax, esi
push 0x42d
mov ecx, 0x432888
jne 0x4051fe
call fcn.004033b0
push 0x430
mov ecx, 0x432888
call fcn.004033b0
jmp 0x405212
call fcn.00403330
push 0x430
mov ecx, 0x432888
call fcn.00403330
cmp dword [0x4244cc], esi
jl 0x405715
mov edi, edi
mov eax, dword [esp + 0x138]
cmp eax, dword [esi*4 + 0x422020]
je 0x405242
cmp eax, dword [esi*4 + 0x422040]
je 0x405242
cmp eax, dword [esi*4 + 0x42211c]
jne 0x405252
push 0
push 0x66
push 0x400
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [esi*4 + 0x422040]
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push 0
push 0
push pe_nt_image_headers32
push ecx
push ebx
call edi
test eax, eax
je 0x405275
add dword [esp + 0x10], 1
mov edx, dword [esi*4 + section..data]
push 0
push 0
push pe_nt_image_headers32
push edx
push ebx
call edi
test eax, eax
mov edi, dword [esi*4 + 0x422040]
mov ecx, 0x4399c0
push edi
jne 0x405483
call fcn.00403330
push edi
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x405302
mov eax, dword [0x43b9c8]
push edi
mov ecx, 0x4399c0
mov dword [eax*4 + 0x43dae8], 0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x4052f0
mov ecx, dword [0x43b9c8]
mov edx, dword [ecx*4 + 0x4399c4]
push edi
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x4052f2
xor eax, eax
push eax
mov eax, dword [0x4399c0]
mov edx, dword [eax + 8]
mov ecx, 0x4399c0
call edx
push 0
push edi
mov ecx, 0x4399c0
call fcn.00409660
mov eax, dword [0x4244bc]
mov byte [eax + esi + 0x477], 0x2d
mov edi, dword [esi*4 + 0x42211c]
push edi
mov ecx, 0x424618
call fcn.00403330
push 0xf
call dword [sym.imp.USER32.dll_GetSysColorBrush]
push edi
mov ecx, 0x424618
mov ebp, eax
call fcn.00408f10
cmp eax, dword [0x42661c]
jge 0x405395
mov ecx, dword [0x426620]
mov dword [ecx*4 + 0x428740], ebp
push edi
mov ecx, 0x424618
call fcn.00408f10
cmp eax, dword [0x42661c]
jge 0x405382
mov edx, dword [0x426620]
mov eax, dword [edx*4 + 0x42461c]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405384
xor eax, eax
mov edx, dword [0x424618]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x424618
call eax
mov edi, dword [esi*4 + 0x422020]
push edi
mov ecx, 0x4399c0
call fcn.00403330
push edi
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x405408
mov ecx, dword [0x43b9c8]
mov dword [ecx*4 + 0x43dae8], 0
push edi
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x4053f5
mov edx, dword [0x43b9c8]
mov eax, dword [edx*4 + 0x4399c4]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x4053f7
xor eax, eax
mov edx, dword [0x4399c0]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x4399c0
call eax
push 0
push edi
mov ecx, 0x4399c0
call fcn.00409660
mov ecx, dword [0x4244bc]
mov byte [ecx + esi + 0x457], 0x2d
mov edx, dword [esi*4 + 0x4220c0]
push edx
mov ecx, 0x432888
call fcn.00403330
mov eax, dword [esi*4 + 0x4220a0]
push eax
mov ecx, 0x432888
call fcn.00403330
mov edi, dword [esi*4 + 0x422060]
push 0
push edi
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x41d73c
push edi
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov ecx, dword [esi*4 + 0x422080]
push ecx
mov ecx, 0x424618
call fcn.00403330
jmp 0x405706
add dword [0x424524], 1
call fcn.004033b0
push edi
mov ecx, 0x4399c0
call fcn.00409020
mov ebp, eax
test ebp, ebp
push edi
mov ecx, 0x4399c0
je 0x4054f3
mov ebx, dword [0x43eae8]
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x40554e
mov edx, dword [0x43b9c8]
push edi
mov ecx, 0x4399c0
mov dword [edx*4 + 0x43dae8], ebx
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x40553b
mov eax, dword [0x43b9c8]
mov ecx, dword [eax*4 + 0x4399c4]
push edi
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x40553d
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x40554e
mov ecx, dword [0x43b9c8]
mov dword [ecx*4 + 0x43dae8], 0
push edi
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x40553b
mov edx, dword [0x43b9c8]
mov eax, dword [edx*4 + 0x4399c4]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x40553d
xor eax, eax
mov edx, dword [0x4399c0]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x4399c0
call eax
mov edx, dword [0x4244bc]
test ebp, ebp
sete cl
test ebp, ebp
lea ecx, [ecx + ecx + 0x2b]
mov byte [edx + esi + 0x477], cl
mov edi, dword [esi*4 + 0x42211c]
push edi
mov ecx, 0x424618
je 0x405588
call fcn.004033b0
mov eax, dword [0x4244bc]
mov ebp, dword [eax + esi*4 + 0xa2c]
jmp 0x405597
call fcn.00403330
push 0xf
call dword [sym.imp.USER32.dll_GetSysColorBrush]
mov ebp, eax
push edi
mov ecx, 0x424618
call fcn.00408f10
cmp eax, dword [0x42661c]
jge 0x4055f4
mov ecx, dword [0x426620]
mov dword [ecx*4 + 0x428740], ebp
push edi
mov ecx, 0x424618
call fcn.00408f10
cmp eax, dword [0x42661c]
jge 0x4055e1
mov edx, dword [0x426620]
mov eax, dword [edx*4 + 0x42461c]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x4055e3
xor eax, eax
mov edx, dword [0x424618]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x424618
call eax
mov edi, dword [esi*4 + 0x422020]
push edi
mov ecx, 0x4399c0
call fcn.004033b0
push edi
mov ecx, 0x4399c0
call fcn.00409020
mov ebp, eax
test ebp, ebp
push edi
mov ecx, 0x4399c0
je 0x40563f
mov ebx, dword [0x43eae8]
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x40569a
mov ecx, dword [0x43b9c8]
mov dword [ecx*4 + 0x43dae8], ebx
jmp 0x40565d
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x40569a
mov ecx, dword [0x43b9c8]
mov dword [ecx*4 + 0x43dae8], 0
push edi
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x405687
mov edx, dword [0x43b9c8]
mov eax, dword [edx*4 + 0x4399c4]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405689
xor eax, eax
mov edx, dword [0x4399c0]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x4399c0
call eax
mov edx, dword [0x4244bc]
test ebp, ebp
sete cl
lea ecx, [ecx + ecx + 0x2b]
mov byte [edx + esi + 0x457], cl
mov eax, dword [esi*4 + 0x4220c0]
push eax
mov ecx, 0x432888
call fcn.004033b0
mov ecx, dword [esi*4 + 0x4220a0]
push ecx
mov ecx, 0x432888
call fcn.004033b0
mov eax, dword [esi*4 + 0x422060]
mov edx, dword [esp + 0x14]
push 1
push eax
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, dword [esi*4 + 0x422080]
push eax
mov ecx, 0x424618
call fcn.004033b0
mov ebx, dword [esp + 0x14]
add esi, 1
cmp esi, dword [0x4244cc]
jle 0x405220
mov ecx, dword [0x424430]
test ecx, ecx
je 0x405724
call fcn.00407380
mov eax, dword [0x424524]
test eax, eax
je 0x405734
cmp dword [esp + 0x10], 0
jne 0x4057a4
push 2
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x405760
mov ecx, dword [0x43b9c8]
mov edx, dword [ecx*4 + 0x4399c4]
push 2
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405762
xor eax, eax
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 2
mov ecx, 0x4399c0
call fcn.00408f10
cmp eax, dword [0x43b9c4]
jge 0x405796
mov eax, dword [0x43b9c8]
mov ecx, dword [eax*4 + 0x4399c4]
push 2
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405798
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0x424524]
test eax, eax
je 0x4058f4
cmp dword [0x4244cc], 0
fild dword [0x424524]
mov edx, dword [eax*4 + 0x422ecc]
mov dword [esp + 0x10], edx
fdivr qword [0x41d660]
mov dword [esp + 0x14], 0
fstp qword [esp + 0x24]
jle 0x4058f4
mov ebp, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov esi, 0x4b0
mov edi, 0x422004
mov eax, 0x422064
sub edi, esi
sub eax, esi
mov dword [esp + 0x18], eax
lea esp, [esp]
mov eax, dword [edi + esi]
push 0
push 0
push pe_nt_image_headers32
push eax
push ebx
call ebp
test eax, eax
je 0x4058da
mov eax, dword [0x4244bc]
mov ecx, dword [esi + eax]
fild dword [esi + eax]
test ecx, ecx
jge 0x40582d
fadd qword [0x41d700]
fld qword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
fld st(0)
fdivrp st(2)
je 0x405850
cmp ecx, dword [0x424524]
je 0x405850
fstp st(1)
mov dword [esi + eax], 1
jmp 0x405878
xor ecx, ecx
fstp st(0)
cmp dword [str.__.98_26], ecx
jle 0x405878
mov edx, dword [esp + 0x10]
fld qword [edx + ecx*8]
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x405878
add ecx, 1
cmp ecx, dword [ecx*4 + str.__.98_26]
jl 0x405860
sub esp, 8
fstp qword [esp]
call fcn.00404f20
push eax
lea edx, [esp + 0x38]
push 0x41d738
push edx
call fcn.0040a975
lea eax, [esp + 0x40]
add esp, 0x14
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4058a0
sub eax, edx
cmp eax, 2
jbe 0x4058c6
lea eax, [esp + 0x2c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4058b7
sub eax, edx
mov byte [esp + eax + 0x2a], cl
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + esi]
lea eax, [esp + 0x2c]
push eax
push edx
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [esp + 0x14]
add eax, 1
add esi, 4
cmp eax, dword [0x4244cc]
mov dword [esp + 0x14], eax
jl 0x405800
push 0
push 0
push ebx
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
pop ebp
mov ecx, dword [esp + 0x124]
pop esi
pop ebx
xor ecx, esp
call fcn.0040a9f0
add esp, 0x120
ret