Function at 0x424408
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffdc0
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x12c], ebx
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x238], ebx
mov ebx, eax
xor eax, eax
push ebp
push 0x42612c
push dword fs:[eax]
mov dword fs:[eax], esp
movzx eax, dx
add eax, 0xffff63bf
cmp eax, 0x5a
ja case.0x42444f.40038
jmp dword [eax*4 + 0x424456]
push 0
push 0x9c41
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_GetMenuState
cmp eax, 8
jne 0x424617
push 0
push 0x9c41
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c41
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
cmp dword [0x42cbf8], 0
je case.0x42444f.40038
push 1
push ebx
call sub.user32.dll_KillTimer
jmp case.0x42444f.40038
push 8
push 0x9c41
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c41
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov eax, dword [0x42cbf8]
test eax, eax
je case.0x42444f.40038
push 0
push eax
push 1
push ebx
call sub.user32.dll_SetTimer
jmp case.0x42444f.40038
mov esi, 0x42613c
lea edi, [ebp - 0x108]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
mov dword [0x42cdb8], 0x4c
mov dword [0x42cdbc], ebx
lea eax, [ebp - 0x108]
mov dword [0x42cdd4], eax
mov dword [0x42cdd8], 0x100
mov eax, 0x42623c
mov dword [0x42cdf4], eax
mov eax, dword [0x42b844]
mov dword [0x42cdc4], eax
mov dword [0x42cdd0], 1
xor eax, eax
mov dword [0x42cddc], eax
mov eax, 0x42624c
mov dword [0x42cde8], eax
xor eax, eax
mov dword [0x42cde0], eax
xor eax, eax
mov dword [0x42cde4], eax
xor eax, eax
mov dword [0x42cdec], eax
push 0x42cdb8
call sub.comdlg32.dll_GetOpenFileNameA
test eax, eax
je case.0x42444f.40038
mov eax, dword [0x42c64c]
call fcn.0040c89c
lea eax, [ebp - 0x12c]
lea edx, [ebp - 0x108]
mov ecx, pe_nt_image_headers32
call fcn.004031fc
mov eax, dword [ebp - 0x12c]
call fcn.0040cd90
mov dword [0x42c64c], eax
xor eax, eax
mov dword [0x42ce20], eax
mov edx, 0x42c65c
mov eax, dword [0x42c64c]
mov ecx, 0x608
call fcn.0040cbe0
mov eax, dword [0x42cbfc]
mov dword [0x42c650], eax
mov dword [0x42c658], 0x608
xor eax, eax
mov dword [0x42c654], eax
mov edx, 0x42c660
lea eax, [ebp - 0x22c]
call fcn.00402688
mov edx, 0x42625c
lea eax, [ebp - 0x22c]
call fcn.00402660
mov edx, 0x42cb6c
lea eax, [ebp - 0x22c]
call fcn.00402660
lea edx, [ebp - 0x22c]
mov eax, 0x42ce0c
call fcn.004031f0
mov eax, dword [0x42ce0c]
call fcn.00403364
push eax
mov eax, dword [0x42c5f0]
push eax
call sub.user32.dll_SetWindowTextA
cmp byte [0x42ce08], 0
je 0x4247d3
mov al, byte [0x42ce08]
xor al, 1
mov byte [0x42ce08], al
push 0
push 0
push 0x201
push ebx
call sub.user32.dll_SendMessageA
mov al, byte [0x42ce08]
xor al, 1
mov byte [0x42ce08], al
jmp 0x4247e2
push 0
push 0
push 0x201
push ebx
call sub.user32.dll_SendMessageA
push 0
push 0x9c41
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_GetMenuState
cmp eax, 8
jne 0x424821
mov eax, dword [0x42cbf8]
test eax, eax
je 0x424814
push 0
push eax
push 1
mov eax, dword [0x42c5f0]
push eax
call sub.user32.dll_SetTimer
jmp 0x424821
push 1
mov eax, dword [0x42c5f0]
push eax
call sub.user32.dll_KillTimer
cmp byte [0x42cbf2], 0
je 0x424853
push 3
push 0xfa3
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_EnableMenuItem
push 3
push 0xfa4
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_EnableMenuItem
jmp case.0x42444f.40038
push 0
push 0xfa3
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_EnableMenuItem
push 0
push 0xfa4
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_EnableMenuItem
jmp case.0x42444f.40038
mov esi, 0x42613c
lea edi, [ebp - 0x108]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
mov dword [0x42cdb8], 0x4c
mov dword [0x42cdbc], ebx
lea eax, [ebp - 0x108]
mov dword [0x42cdd4], eax
mov dword [0x42cdd8], 0x100
mov eax, 0x426264
mov dword [0x42cdf4], eax
mov eax, dword [0x42b848]
mov dword [0x42cdc4], eax
mov dword [0x42cdd0], 1
xor eax, eax
mov dword [0x42cddc], eax
mov eax, 0x42626c
mov dword [0x42cde8], eax
xor eax, eax
mov dword [0x42cde0], eax
xor eax, eax
mov dword [0x42cde4], eax
push 0x42cdb8
call sub.comdlg32.dll_GetSaveFileNameA
test eax, eax
je case.0x42444f.40038
dec dword [0x42c654]
cmp dword [0x42c654], 0
jg 0x42491c
mov eax, dword [0x42c650]
dec eax
mov dword [0x42c654], eax
mov edx, dword [0x42ce20]
add edx, dword [0x42c658]
imul eax, dword [0x42c654], 0x118
add edx, eax
mov eax, dword [0x42c64c]
xor ecx, ecx
call fcn.0040cbe8
mov edx, 0x42cc64
mov eax, dword [0x42c64c]
mov ecx, 0x118
call fcn.0040cbe0
mov edx, dword [0x42cd64]
add edx, dword [0x42ce20]
mov eax, dword [0x42c64c]
xor ecx, ecx
call fcn.0040cbe8
call fcn.0040cde0
mov ebx, eax
mov eax, ebx
xor edx, edx
call fcn.0040cbcc
mov eax, ebx
mov edx, dword [0x42cd68]
call fcn.0040cbd8
mov edx, dword [ebx + 0x3c]
mov eax, dword [0x42c64c]
mov ecx, dword [0x42cd68]
call fcn.0040cbe0
lea eax, [ebp - 0x12c]
lea edx, [ebp - 0x108]
mov ecx, pe_nt_image_headers32
call fcn.004031fc
mov eax, dword [ebp - 0x12c]
call fcn.0040cdb4
mov esi, eax
mov edx, dword [ebx + 0x3c]
mov eax, esi
mov ecx, dword [0x42cd68]
call fcn.0040cbe4
mov eax, esi
call fcn.0040c89c
mov eax, ebx
call fcn.0040c89c
inc dword [0x42c654]
mov eax, dword [0x42c650]
dec eax
cmp eax, dword [0x42c654]
jge case.0x42444f.40038
mov dword [0x42c654], 1
jmp case.0x42444f.40038
push 0x420060
mov ecx, ebx
mov edx, 0x258
mov eax, dword [0x42c548]
call fcn.00404578
jmp case.0x42444f.40038
push 0x41de70
mov ecx, ebx
mov edx, 0x190
mov eax, dword [0x42c548]
call fcn.00404578
jmp case.0x42444f.40038
push 0x41e318
mov ecx, ebx
mov edx, 0x1f4
mov eax, dword [0x42c548]
call fcn.00404578
jmp case.0x42444f.40038
push 0
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_GetMenuState
cmp eax, 8
jne 0x424aa0
push 0
push 0x9c47
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce05], 1
mov byte [0x42b84c], 0
jmp 0x424ad9
push 8
push 0x9c47
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce05], 0
mov byte [0x42b84c], 1
mov byte [0x42ce07], 0
mov esi, 0x42b8a8
lea edi, [ebp - 0x118]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
add dword [ebp - 0x110], 0x32
mov eax, dword [0x42cc58]
cmp eax, 1
je 0x424b01
cmp eax, 2
jne 0x424b15
push 0xffffffffffffffff
lea eax, [ebp - 0x118]
push eax
mov eax, dword [0x42c5fc]
push eax
call sub.user32.dll_InvalidateRect
mov eax, dword [0x42c5f0]
call fcn.0041aeb8
jmp case.0x42444f.40038
push 0
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_GetMenuState
cmp eax, 8
jne 0x424b6b
push 0
push 0x9c48
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce08], 0
jmp case.0x42444f.40038
push 8
push 0x9c48
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce08], 1
jmp case.0x42444f.40038
push 0
push 0x42627c
push 0x426290
lea edx, [ebp - 0x230]
mov eax, dword [0x42cda4]
mov eax, dword [eax + 0x30]
call fcn.0040c8f8
push dword [ebp - 0x230]
push 0x4262a4
lea edx, [ebp - 0x234]
mov eax, dword [0x42cda4]
mov eax, dword [eax + 0x34]
call fcn.0040c8f8
push dword [ebp - 0x234]
push 0x4262b0
push 0x4262bc
lea edx, [ebp - 0x238]
mov eax, dword [0x42cda4]
movzx eax, word [eax + 0x3a]
call fcn.0040c8f8
push dword [ebp - 0x238]
lea eax, [ebp - 0x12c]
mov edx, 7
call fcn.00403260
mov eax, dword [ebp - 0x12c]
call fcn.00403364
push eax
push ebx
call sub.user32.dll_MessageBoxA
jmp case.0x42444f.40038
push 0
push 0x9c4a
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_GetMenuState
cmp eax, 8
jne 0x424c70
push 0
push 0x9c4a
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c4a
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce4c], 0
jmp case.0x42444f.40038
push 8
push 0x9c4a
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c4a
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce4c], 1
jmp case.0x42444f.40038
push 0
push 0x9c4b
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_GetMenuState
cmp eax, 8
jne 0x424ce7
push 0
push 0x9c4b
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c4b
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce06], 0
jmp case.0x42444f.40038
push 8
push 0x9c4b
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c4b
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce06], 1
jmp case.0x42444f.40038
push 0x41ec04
mov ecx, ebx
mov edx, 0x384
mov eax, dword [0x42c548]
call fcn.00404578
jmp case.0x42444f.40038
push 0x41f7f8
mov ecx, ebx
mov edx, 0x2bc
mov eax, dword [0x42c548]
call fcn.00404578
jmp case.0x42444f.40038
push 0
push 0x9c4e
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_GetMenuState
cmp eax, 8
jne 0x424d91
push 0
push 0x9c4e
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c4e
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42b858], 0
jmp 0x424dc6
push 8
push 0x9c4e
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c4e
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42b858], 1
mov dword [0x42b860], 0xffffffff
mov esi, 0x42b8b8
lea edi, [ebp - 0x118]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
add dword [ebp - 0x110], 0x32
mov eax, dword [0x42cc58]
cmp eax, 1
je 0x424df2
cmp eax, 2
jne case.0x42444f.40038
push 0xffffffffffffffff
lea eax, [ebp - 0x118]
push eax
mov eax, dword [0x42c5fc]
push eax
call sub.user32.dll_InvalidateRect
jmp case.0x42444f.40038
mov eax, dword [0x42cda4]
mov edx, dword [eax + 0x14]
mov eax, dword [0x42cdb4]
call fcn.0040514c
mov edx, dword [0x42cda4]
mov eax, dword [0x42cdb4]
call fcn.0040b570
mov eax, ebx
call fcn.0041aeb8
jmp case.0x42444f.40038
mov eax, dword [0x42cda4]
mov edx, dword [eax + 0x14]
mov eax, dword [0x42cdb4]
call fcn.0040514c
mov edx, dword [0x42cda4]
mov eax, dword [0x42cdb4]
call fcn.0040b5f8
mov eax, ebx
call fcn.0041aeb8
jmp case.0x42444f.40038
mov eax, dword [0x42cda4]
mov edx, dword [eax + 0x14]
mov eax, dword [0x42cdb4]
call fcn.0040514c
mov edx, dword [0x42cda4]
mov eax, dword [0x42cdb4]
call fcn.00409dbc
mov eax, ebx
call fcn.0041aeb8
jmp case.0x42444f.40038
push 0
push 0xd
push pe_nt_image_headers32
push ebx
call sub.user32.dll_SendMessageA
jmp case.0x42444f.40038
cmp byte [0x42b84c], 0
je 0x424ee9
push 0x19
mov ecx, 0x19
mov edx, 0x19
mov eax, dword [0x42cda8]
call fcn.00406a78
mov eax, dword [0x42ce38]
push eax
mov ecx, dword [0x42ce34]
mov edx, dword [0x42c604]
mov eax, dword [0x42cda8]
call fcn.0040522c
jmp case.0x42444f.40038
push 0x19
mov ecx, 0x19
mov edx, 0x19
mov eax, dword [0x42cda4]
call fcn.00406a78
mov eax, dword [0x42ce38]
push eax
mov ecx, dword [0x42ce34]
mov edx, dword [0x42c604]
mov eax, dword [0x42cda4]
call fcn.0040522c
jmp case.0x42444f.40038
push 0x421abc
mov ecx, ebx
mov edx, 0x86
mov eax, dword [0x42c548]
call fcn.00404578
jmp case.0x42444f.40038
mov eax, dword [0x42cd7c]
call fcn.0040d02c
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.0040514c
mov eax, ebx
call fcn.0041aeb8
jmp case.0x42444f.40038
cmp byte [0x42b84c], 0
je 0x424f91
mov eax, dword [0x42cda8]
call fcn.00409cf0
mov eax, dword [0x42ce38]
push eax
mov ecx, dword [0x42ce34]
mov edx, dword [0x42c604]
mov eax, dword [0x42cda8]
call fcn.0040522c
jmp case.0x42444f.40038
mov eax, dword [0x42cda4]
call fcn.00409cf0
mov eax, dword [0x42ce38]
push eax
mov ecx, dword [0x42ce34]
mov edx, dword [0x42c604]
mov eax, dword [0x42cda4]
call fcn.0040522c
jmp case.0x42444f.40038
cmp byte [0x42b84c], 0
je 0x424ff0
mov eax, dword [0x42cda8]
call fcn.00409d3c
mov eax, dword [0x42ce38]
push eax
mov ecx, dword [0x42ce34]
mov edx, dword [0x42c604]
mov eax, dword [0x42cda8]
call fcn.0040522c
jmp case.0x42444f.40038
mov eax, dword [0x42cda4]
call fcn.00409d3c
mov eax, dword [0x42ce38]
push eax
mov ecx, dword [0x42ce34]
mov edx, dword [0x42c604]
mov eax, dword [0x42cda4]
call fcn.0040522c
jmp case.0x42444f.40038
push 0
push 0x20
push pe_nt_image_headers32
push ebx
call sub.user32.dll_SendMessageA
jmp case.0x42444f.40038
push 0
push 8
push pe_nt_image_headers32
push ebx
call sub.user32.dll_SendMessageA
jmp case.0x42444f.40038
mov eax, dword [0x42cda4]
call fcn.0040707c
mov eax, ebx
call fcn.0041aeb8
jmp case.0x42444f.40038
cmp byte [0x42b86c], 0
jne case.0x42444f.40038
push 0x4207f0
xor ecx, ecx
mov edx, 0x66
mov eax, dword [0x42c548]
call fcn.00404578
jmp case.0x42444f.40038
mov esi, 0x42613c
lea edi, [ebp - 0x108]
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
mov dword [0x42cdb8], 0x4c
mov dword [0x42cdbc], ebx
lea eax, [ebp - 0x108]
mov dword [0x42cdd4], eax
mov dword [0x42cdd8], 0x100
mov eax, 0x4262c8
mov dword [0x42cdf4], eax
mov eax, 0x4262d0
mov dword [0x42cdc4], eax
mov dword [0x42cdd0], 1
xor eax, eax
mov dword [0x42cddc], eax
mov eax, 0x42626c
mov dword [0x42cde8], eax
xor eax, eax
mov dword [0x42cde0], eax
xor eax, eax
mov dword [0x42cde4], eax
push 0x42cdb8
call sub.comdlg32.dll_GetSaveFileNameA
test eax, eax
je case.0x42444f.40038
cmp byte [0x42b84c], 0
je 0x42513b
lea eax, [ebp - 0x12c]
lea edx, [ebp - 0x108]
mov ecx, pe_nt_image_headers32
call fcn.004031fc
mov edx, dword [ebp - 0x12c]
mov eax, dword [0x42cda8]
call fcn.00405778
jmp case.0x42444f.40038
lea eax, [ebp - 0x12c]
lea edx, [ebp - 0x108]
mov ecx, pe_nt_image_headers32
call fcn.004031fc
mov edx, dword [ebp - 0x12c]
mov eax, dword [0x42cda4]
call fcn.00405778
jmp case.0x42444f.40038
push 0x422334
mov ecx, ebx
mov edx, 0x67
mov eax, dword [0x42c548]
call fcn.00404578
jmp case.0x42444f.40038
push 0x420b44
mov ecx, ebx
mov edx, 0x68
mov eax, dword [0x42c548]
call fcn.00404578
jmp case.0x42444f.40038
mov eax, dword [0x42cd7c]
call fcn.0040d02c
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov edx, dword [eax + 0x14]
mov eax, dword [0x42cdb4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov esi, dword [eax + 0x34]
mov eax, esi
mov ecx, 5
cdq
idiv ecx
mov ebx, eax
mov dword [ebp - 0x23c], ebx
fild dword [ebp - 0x23c]
mov dword [ebp - 0x240], esi
fild dword [ebp - 0x240]
fdivp st(1)
mov eax, dword [0x42cda4]
fild dword [eax + 0x30]
fmulp st(1)
call fcn.00402638
push 0x18
mov ecx, ebx
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.00404c2c
mov edx, dword [0x42cda4]
mov eax, dword [0x42cdb4]
call fcn.0040bff8
push 0
push 0x9c47
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce05], 1
mov byte [0x42b84c], 0
push 8
push 0x9c48
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce08], 1
mov eax, dword [0x42c5f0]
call fcn.0041aeb8
jmp case.0x42444f.40038
mov eax, dword [0x42cd7c]
call fcn.0040d02c
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov edx, dword [eax + 0x14]
mov eax, dword [0x42cdb4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov esi, dword [eax + 0x34]
mov ebx, esi
sar ebx, 1
jns 0x4252c6
adc ebx, 0
mov dword [ebp - 0x23c], ebx
fild dword [ebp - 0x23c]
mov dword [ebp - 0x240], esi
fild dword [ebp - 0x240]
fdivp st(1)
mov eax, dword [0x42cda4]
fild dword [eax + 0x30]
fmulp st(1)
call fcn.00402638
push 0x18
mov ecx, ebx
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.00404c2c
mov edx, dword [0x42cda4]
mov eax, dword [0x42cdb4]
call fcn.0040bff8
push 0
push 0x9c47
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce05], 1
mov byte [0x42b84c], 0
push 8
push 0x9c48
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce08], 1
mov eax, dword [0x42c5f0]
call fcn.0041aeb8
jmp case.0x42444f.40038
mov eax, dword [0x42cd7c]
call fcn.0040d02c
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov edx, dword [eax + 0x14]
mov eax, dword [0x42cdb4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov esi, dword [eax + 0x34]
mov eax, esi
test eax, eax
jns 0x4253b4
add eax, 3
sar eax, 2
lea ebx, [eax + eax*2]
mov dword [ebp - 0x23c], ebx
fild dword [ebp - 0x23c]
mov dword [ebp - 0x240], esi
fild dword [ebp - 0x240]
fdivp st(1)
mov eax, dword [0x42cda4]
fild dword [eax + 0x30]
fmulp st(1)
call fcn.00402638
push 0x18
mov ecx, ebx
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.00404c2c
mov edx, dword [0x42cda4]
mov eax, dword [0x42cdb4]
call fcn.0040bff8
push 0
push 0x9c47
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce05], 1
mov byte [0x42b84c], 0
push 8
push 0x9c48
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce08], 1
mov eax, dword [0x42c5f0]
call fcn.0041aeb8
jmp case.0x42444f.40038
mov eax, dword [0x42cd7c]
call fcn.0040d02c
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.0040514c
push 0
push 0x9c47
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce05], 1
mov byte [0x42b84c], 0
push 8
push 0x9c48
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce08], 1
mov eax, dword [0x42c5f0]
call fcn.0041aeb8
jmp case.0x42444f.40038
mov eax, dword [0x42cd7c]
call fcn.0040d02c
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov edx, dword [eax + 0x14]
mov eax, dword [0x42cdb4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov esi, dword [eax + 0x34]
mov eax, esi
mov ecx, 5
cdq
idiv ecx
mov ebx, eax
add ebx, esi
mov dword [ebp - 0x23c], ebx
fild dword [ebp - 0x23c]
mov dword [ebp - 0x240], esi
fild dword [ebp - 0x240]
fdivp st(1)
mov eax, dword [0x42cda4]
fild dword [eax + 0x30]
fmulp st(1)
call fcn.00402638
push 0x18
mov ecx, ebx
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.00404c2c
mov edx, dword [0x42cda4]
mov eax, dword [0x42cdb4]
call fcn.0040bff8
push 0
push 0x9c47
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce05], 1
mov byte [0x42b84c], 0
push 8
push 0x9c48
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce08], 1
mov eax, dword [0x42c5f0]
call fcn.0041aeb8
jmp case.0x42444f.40038
mov eax, dword [0x42cd7c]
call fcn.0040d02c
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov edx, dword [eax + 0x14]
mov eax, dword [0x42cdb4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov esi, dword [eax + 0x34]
mov ebx, esi
mov eax, esi
sar eax, 1
jns 0x42561f
adc eax, 0
add ebx, eax
mov dword [ebp - 0x23c], ebx
fild dword [ebp - 0x23c]
mov dword [ebp - 0x240], esi
fild dword [ebp - 0x240]
fdivp st(1)
mov eax, dword [0x42cda4]
fild dword [eax + 0x30]
fmulp st(1)
call fcn.00402638
push 0x18
mov ecx, ebx
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.00404c2c
mov edx, dword [0x42cda4]
mov eax, dword [0x42cdb4]
call fcn.0040bff8
push 0
push 0x9c47
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce05], 1
mov byte [0x42b84c], 0
push 8
push 0x9c48
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce08], 1
mov eax, dword [0x42c5f0]
call fcn.0041aeb8
jmp case.0x42444f.40038
mov eax, dword [0x42cd7c]
call fcn.0040d02c
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov edx, dword [eax + 0x14]
mov eax, dword [0x42cdb4]
call fcn.0040514c
mov eax, dword [0x42cda4]
mov esi, dword [eax + 0x34]
mov ebx, esi
add ebx, ebx
mov dword [ebp - 0x23c], ebx
fild dword [ebp - 0x23c]
mov dword [ebp - 0x240], esi
fild dword [ebp - 0x240]
fdivp st(1)
mov eax, dword [0x42cda4]
fild dword [eax + 0x30]
fmulp st(1)
call fcn.00402638
push 0x18
mov ecx, ebx
mov edx, eax
mov eax, dword [0x42cda4]
call fcn.00404c2c
mov edx, dword [0x42cda4]
mov eax, dword [0x42cdb4]
call fcn.0040bff8
push 0
push 0x9c47
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 0
push 0x9c47
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce05], 1
mov byte [0x42b84c], 0
push 8
push 0x9c48
mov eax, dword [0x42ce10]
push eax
call sub.user32.dll_CheckMenuItem
push 8
push 0x9c48
mov eax, dword [0x42ce14]
push eax
call sub.user32.dll_CheckMenuItem
mov byte [0x42ce08], 1
mov eax, dword [0x42c5f0]
call fcn.0041aeb8
jmp case.0x42444f.40038
mov dword [0x42ceb8], 0x42
mov dword [0x42cecc], 0x100
mov dword [0x42cebc], ebx
xor eax, eax
mov dword [0x42ceda], eax
push 0x42ceb8
call sub.comdlg32.dll_PrintDlgA
neg eax
sbb eax, eax
neg eax
cmp al, 1
jne case.0x42444f.40038
push 0x41e76c
mov ecx, ebx
mov edx, 0x65
mov eax, dword [0x42c548]
call fcn.00404578
dec eax
jne case.0x42444f.40038
mov dword [0x42cefc], 0x14
mov eax, 0x4262e8
mov dword [0x42cf00], eax
xor eax, eax
mov dword [0x42cf04], eax
xor eax, eax
mov dword [0x42cf08], eax
xor eax, eax
mov dword [0x42cf0c], eax
push 0x42cefc
mov eax, dword [0x42cec8]
push eax
call sub.gdi32.dll_StartDocA
mov eax, dword [0x42cec8]
mov dword [0x42c60c], eax
push 8
mov eax, dword [0x42c60c]
push eax
call sub.gdi32.dll_GetDeviceCaps
mov edi, eax
push 0xa
mov eax, dword [0x42c60c]
push eax
call sub.gdi32.dll_GetDeviceCaps
push 0x58
mov eax, dword [0x42c60c]
push eax
call sub.gdi32.dll_GetDeviceCaps
mov ebx, eax
push 0x5a
mov eax, dword [0x42c60c]
push eax
call sub.gdi32.dll_GetDeviceCaps
mov esi, eax
sub edi, ebx
mov eax, dword [0x42cda4]
mov eax, dword [eax + 0x34]
imul edi
mov dword [ebp - 0x23c], eax
fild dword [ebp - 0x23c]
mov eax, dword [0x42cda4]
fild dword [eax + 0x30]
fdivp st(1)
call fcn.00402638
mov dword [ebp - 4], eax
mov dword [ebp - 0x124], esi
mov eax, ebx
sar eax, 1
jns 0x4258cb
adc eax, 0
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 4]
add eax, esi
mov dword [ebp - 0x11c], eax
mov eax, ebx
sar eax, 1
jns 0x4258e5
adc eax, 0
add eax, edi
mov dword [ebp - 0x120], eax
push 0
lea eax, [ebp - 0x128]
push eax
push 0x10
push 0x100d
mov eax, dword [0x42c60c]
push eax
call sub.gdi32.dll_Escape
mov eax, dword [0x42c60c]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x42b894]
sub eax, 1
jb 0x425921
je 0x42596e
jmp 0x425988
mov dl, 1
mov eax, dword [0x4046c0]
call fcn.00404720
mov dword [ebp - 8], eax
push 0x18
mov ecx, dword [ebp - 4]
mov edx, edi
mov eax, dword [ebp - 8]
call fcn.00404c2c
mov edx, dword [ebp - 8]
mov eax, dword [0x42cda4]
call fcn.0040bc1c
push esi
mov ecx, ebx
sar ecx, 1
jns 0x425956
adc ecx, 0
mov edx, dword [0x42c60c]
mov eax, dword [ebp - 8]
call fcn.0040522c
mov eax, dword [ebp - 8]
call fcn.004028b0
jmp 0x425988
push esi
mov ecx, ebx
sar ecx, 1
jns 0x425978
adc ecx, 0
mov edx, dword [0x42c60c]
mov eax, dword [0x42cda4]
call fcn.0040522c
mov eax, dword [0x42c60c]
push eax
call sub.gdi32.dll_EndPage
mov eax, dword [0x42cec8]
push eax
call sub.gdi32.dll_EndDoc
mov eax, dword [0x42cec8]
push eax
call sub.gdi32.dll_DeleteDC
jmp case.0x42444f.40038
mov dword [0x42b860], 1
push 0
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c7d
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 2
push 0
push 0x9c7e
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c7e
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 3
push 0
push 0x9c7f
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c7f
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 4
push 0
push 0x9c80
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c80
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 5
push 0
push 0x9c81
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c81
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 6
push 0
push 0x9c82
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c82
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 7
push 0
push 0x9c83
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c83
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 8
push 0
push 0x9c84
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c84
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 9
push 0
push 0x9c85
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c85
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0xa
push 0
push 0x9c86
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c86
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0xb
push 0
push 0x9c87
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c87
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0xc
push 0
push 0x9c88
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c88
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0xd
push 0
push 0x9c89
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c89
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0xe
push 0
push 0x9c8a
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c8a
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0xf
push 0
push 0x9c8b
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c8b
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x10
push 0
push 0x9c8c
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c8c
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x11
push 0
push 0x9c8d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c8d
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x12
push 0
push 0x9c8e
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c8e
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x13
push 0
push 0x9c8f
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c8f
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
xor eax, eax
mov dword [0x42b860], eax
push 0
push 0x9c90
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c90
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x14
push 0
push 0x9c91
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c91
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x15
push 0
push 0x9c92
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c92
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x16
push 0
push 0x9c93
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c93
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x17
push 0
push 0x9c94
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c94
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0xffffffff
push 0
push 0x9c95
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c95
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x18
push 0
push 0x9c96
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c96
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x19
push 0
push 0x9c97
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c97
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x1a
push 0
push 0x9c98
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c98
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x1b
push 0
push 0x9c99
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c99
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x1c
push 0
push 0x9c9a
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c9a
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
jmp case.0x42444f.40038
mov dword [0x42b860], 0x1d
push 0
push 0x9c9b
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_SetMenuDefaultItem
push 0
push 0x9c9b
push 0x9c9b
push 0x9c7d
mov eax, dword [0x42ce18]
push eax
call sub.user32.dll_CheckMenuRadioItem
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x426133
lea eax, [ebp - 0x238]
mov edx, 3
call fcn.004030d0
lea eax, [ebp - 0x12c]
call fcn.004030ac
ret