Function at 0x4051c0
Capabilities:
Hide graphical window

Disassembly:
sub esp, 0x120
mov eax, dword [0x422f80]
xor eax, esp
mov dword [esp + 0x11c], eax
push ebx
mov ebx, dword [esp + 0x128]
push esi
xor esi, esi
cmp dword [0x424510], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], esi
je 0x405b01
cmp dword [0x4244bc], esi
push ebp
mov ebp, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push edi
mov edi, dword [0x424514]
mov dword [esp + 0x1c], edi
mov dword [0x424514], esi
jle 0x4053ba
jmp 0x405220
mov eax, dword [esi*4 + 0x422004]
push 0
push 0
push 0xf0
push eax
push ebx
call ebp
cmp eax, 1
jne 0x40523f
add dword [0x424514], eax
mov eax, dword [0x4244bc]
add esi, 1
cmp esi, eax
jl 0x405220
cmp dword [0x424514], 7
jne 0x4053ba
cmp edi, 6
jne 0x40530c
xor esi, esi
test eax, eax
jle 0x4053ba
jmp 0x405270
mov edi, dword [esi*4 + 0x422004]
mov ebp, dword [0x43eab8]
push edi
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x4052da
mov ecx, dword [0x43b998]
mov dword [ecx*4 + 0x43dab8], ebp
push edi
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x4052c7
mov edx, dword [0x43b998]
mov eax, dword [edx*4 + 0x439994]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x4052c9
xor eax, eax
mov edx, dword [0x439990]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x439990
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 [0x4244bc]
jl 0x405270
mov ebp, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp 0x4053ba
cmp edi, 8
jne 0x4053ba
lea esi, [eax - 1]
test esi, esi
jl 0x4053ba
mov edx, dword [esi*4 + 0x422004]
push 0
push 0
push 0xf0
push edx
push ebx
call ebp
cmp eax, 1
je 0x405340
sub esi, 1
jns 0x405320
jmp 0x4053ba
mov edi, dword [esi*4 + 0x422004]
push edi
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x4053a6
mov eax, dword [0x43b998]
push edi
mov ecx, 0x439990
mov dword [eax*4 + 0x43dab8], 0
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x405394
mov ecx, dword [0x43b998]
mov edx, dword [ecx*4 + 0x439994]
push edi
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405396
xor eax, eax
push eax
mov eax, dword [0x439990]
mov edx, dword [eax + 8]
mov ecx, 0x439990
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 0xf0
push 0x43f
push ebx
mov dword [0x424514], 0
call ebp
mov esi, 1
cmp eax, esi
push 0x42d
mov ecx, 0x432858
jne 0x4053fe
call fcn.004035d0
push 0x430
mov ecx, 0x432858
call fcn.004035d0
jmp 0x405412
call fcn.00403550
push 0x430
mov ecx, 0x432858
call fcn.00403550
cmp dword [0x4244bc], esi
jl 0x405915
mov edi, edi
mov eax, dword [esp + 0x138]
cmp eax, dword [esi*4 + 0x422020]
je 0x405442
cmp eax, dword [esi*4 + 0x422040]
je 0x405442
cmp eax, dword [esi*4 + 0x42211c]
jne 0x405452
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 0xf0
push ecx
push ebx
call edi
test eax, eax
je 0x405475
add dword [esp + 0x10], 1
mov edx, dword [esi*4 + section..data]
push 0
push 0
push 0xf0
push edx
push ebx
call edi
test eax, eax
mov edi, dword [esi*4 + 0x422040]
mov ecx, 0x439990
push edi
jne 0x405683
call fcn.00403550
push edi
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x405502
mov eax, dword [0x43b998]
push edi
mov ecx, 0x439990
mov dword [eax*4 + 0x43dab8], 0
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x4054f0
mov ecx, dword [0x43b998]
mov edx, dword [ecx*4 + 0x439994]
push edi
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x4054f2
xor eax, eax
push eax
mov eax, dword [0x439990]
mov edx, dword [eax + 8]
mov ecx, 0x439990
call edx
push 0
push edi
mov ecx, 0x439990
call fcn.00409750
mov eax, dword [0x4244ac]
mov byte [eax + esi + 0x477], 0x2d
mov edi, dword [esi*4 + 0x42211c]
push edi
mov ecx, 0x4245e8
call fcn.00403550
push 0xf
call dword [sym.imp.USER32.dll_GetSysColorBrush]
push edi
mov ecx, 0x4245e8
mov ebp, eax
call fcn.00409000
cmp eax, dword [0x4265ec]
jge 0x405595
mov ecx, dword [0x4265f0]
mov dword [ecx*4 + 0x428710], ebp
push edi
mov ecx, 0x4245e8
call fcn.00409000
cmp eax, dword [0x4265ec]
jge 0x405582
mov edx, dword [0x4265f0]
mov eax, dword [edx*4 + 0x4245ec]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405584
xor eax, eax
mov edx, dword [0x4245e8]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x4245e8
call eax
mov edi, dword [esi*4 + 0x422020]
push edi
mov ecx, 0x439990
call fcn.00403550
push edi
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x405608
mov ecx, dword [0x43b998]
mov dword [ecx*4 + 0x43dab8], 0
push edi
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x4055f5
mov edx, dword [0x43b998]
mov eax, dword [edx*4 + 0x439994]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x4055f7
xor eax, eax
mov edx, dword [0x439990]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x439990
call eax
push 0
push edi
mov ecx, 0x439990
call fcn.00409750
mov ecx, dword [0x4244ac]
mov byte [ecx + esi + 0x457], 0x2d
mov edx, dword [esi*4 + 0x4220c0]
push edx
mov ecx, 0x432858
call fcn.00403550
mov eax, dword [esi*4 + 0x4220a0]
push eax
mov ecx, 0x432858
call fcn.00403550
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 0x41d758
push edi
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov ecx, dword [esi*4 + 0x422080]
push ecx
mov ecx, 0x4245e8
call fcn.00403550
jmp 0x405906
add dword [0x424514], 1
call fcn.004035d0
push edi
mov ecx, 0x439990
call fcn.00409110
mov ebp, eax
test ebp, ebp
push edi
mov ecx, 0x439990
je 0x4056f3
mov ebx, dword [0x43eab8]
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x40574e
mov edx, dword [0x43b998]
push edi
mov ecx, 0x439990
mov dword [edx*4 + 0x43dab8], ebx
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x40573b
mov eax, dword [0x43b998]
mov ecx, dword [eax*4 + 0x439994]
push edi
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x40573d
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x40574e
mov ecx, dword [0x43b998]
mov dword [ecx*4 + 0x43dab8], 0
push edi
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x40573b
mov edx, dword [0x43b998]
mov eax, dword [edx*4 + 0x439994]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x40573d
xor eax, eax
mov edx, dword [0x439990]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x439990
call eax
mov edx, dword [0x4244ac]
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, 0x4245e8
je 0x405788
call fcn.004035d0
mov eax, dword [0x4244ac]
mov ebp, dword [eax + esi*4 + 0xa2c]
jmp 0x405797
call fcn.00403550
push 0xf
call dword [sym.imp.USER32.dll_GetSysColorBrush]
mov ebp, eax
push edi
mov ecx, 0x4245e8
call fcn.00409000
cmp eax, dword [0x4265ec]
jge 0x4057f4
mov ecx, dword [0x4265f0]
mov dword [ecx*4 + 0x428710], ebp
push edi
mov ecx, 0x4245e8
call fcn.00409000
cmp eax, dword [0x4265ec]
jge 0x4057e1
mov edx, dword [0x4265f0]
mov eax, dword [edx*4 + 0x4245ec]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x4057e3
xor eax, eax
mov edx, dword [0x4245e8]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x4245e8
call eax
mov edi, dword [esi*4 + 0x422020]
push edi
mov ecx, 0x439990
call fcn.004035d0
push edi
mov ecx, 0x439990
call fcn.00409110
mov ebp, eax
test ebp, ebp
push edi
mov ecx, 0x439990
je 0x40583f
mov ebx, dword [0x43eab8]
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x40589a
mov ecx, dword [0x43b998]
mov dword [ecx*4 + 0x43dab8], ebx
jmp 0x40585d
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x40589a
mov ecx, dword [0x43b998]
mov dword [ecx*4 + 0x43dab8], 0
push edi
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x405887
mov edx, dword [0x43b998]
mov eax, dword [edx*4 + 0x439994]
push edi
push eax
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405889
xor eax, eax
mov edx, dword [0x439990]
push eax
mov eax, dword [edx + 8]
mov ecx, 0x439990
call eax
mov edx, dword [0x4244ac]
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, 0x432858
call fcn.004035d0
mov ecx, dword [esi*4 + 0x4220a0]
push ecx
mov ecx, 0x432858
call fcn.004035d0
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, 0x4245e8
call fcn.004035d0
mov ebx, dword [esp + 0x14]
add esi, 1
cmp esi, dword [0x4244bc]
jle 0x405420
mov ecx, dword [0x424420]
test ecx, ecx
je 0x405924
call fcn.00407650
mov eax, dword [0x424514]
test eax, eax
je 0x405934
cmp dword [esp + 0x10], 0
jne 0x4059a4
push 2
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x405960
mov ecx, dword [0x43b998]
mov edx, dword [ecx*4 + 0x439994]
push 2
push edx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405962
xor eax, eax
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 2
mov ecx, 0x439990
call fcn.00409000
cmp eax, dword [0x43b994]
jge 0x405996
mov eax, dword [0x43b998]
mov ecx, dword [eax*4 + 0x439994]
push 2
push ecx
call dword [sym.imp.USER32.dll_GetDlgItem]
jmp 0x405998
xor eax, eax
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [0x424514]
test eax, eax
je 0x405af4
cmp dword [0x4244bc], 0
fild dword [0x424514]
mov edx, dword [eax*4 + 0x422ecc]
mov dword [esp + 0x10], edx
fdivr qword [0x41d680]
mov dword [esp + 0x14], 0
fstp qword [esp + 0x24]
jle 0x405af4
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 0xf0
push eax
push ebx
call ebp
test eax, eax
je 0x405ada
mov eax, dword [0x4244ac]
mov ecx, dword [esi + eax]
fild dword [esi + eax]
test ecx, ecx
jge 0x405a2d
fadd qword [0x41d6e0]
fld qword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
fld st(0)
fdivrp st(2)
je 0x405a50
cmp ecx, dword [0x424514]
je 0x405a50
fstp st(1)
mov dword [esi + eax], 1
jmp 0x405a78
xor ecx, ecx
fstp st(0)
cmp dword [str.__.98_26], ecx
jle 0x405a78
mov edx, dword [esp + 0x10]
fld qword [edx + ecx*8]
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x405a78
add ecx, 1
cmp ecx, dword [ecx*4 + str.__.98_26]
jl 0x405a60
sub esp, 8
fstp qword [esp]
call fcn.00405120
push eax
lea edx, [esp + 0x38]
push 0x41d754
push edx
call fcn.0040a5fa
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 0x405aa0
sub eax, edx
cmp eax, 2
jbe 0x405ac6
lea eax, [esp + 0x2c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x405ab7
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 [0x4244bc]
mov dword [esp + 0x14], eax
jl 0x405a00
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.0040a675
add esp, 0x120
ret