Function at 0x420654
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffc0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x1c], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x420f03
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebx + 0xa0]
push eax
lea edx, [ebp - 0x18]
lea eax, [ebp - 0x12]
mov ecx, dword [ebx + 0xa4]
call fcn.0041eed4
mov eax, 0xffff
call fcn.0040254c
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
xor ecx, ecx
mov edx, 0xffff
call fcn.00402918
mov eax, dword [ebp - 4]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
call fcn.0041eb10
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dword [ebp - 0xc], eax
mov esi, dword [ebp - 8]
mov dword [esi], 0x80c800c0
xor eax, eax
mov dword [esi + 4], eax
xor eax, eax
mov al, byte [ebx + 0x9c]
add ax, 0xa
xor edx, edx
mov dl, byte [ebx + 0x9d]
add ax, dx
xor edx, edx
mov dl, byte [ebx + 0x9e]
add ax, dx
mov word [esi + 8], ax
mov word [esi + 0xa], 0
mov word [esi + 0xc], 0
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f14]
call fcn.004027e0
mov word [esi + 0xe], ax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f18]
call fcn.004027e0
mov word [esi + 0x10], ax
mov eax, dword [ebp - 8]
add eax, 0x12
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
add eax, 4
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0x84]
call fcn.00403684
mov ecx, eax
add ecx, ecx
add ecx, 2
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0x84]
call fcn.00403c20
mov eax, dword [ebx + 0x84]
call fcn.00403684
add eax, eax
add eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
mov dx, word [ebx + 0xa4]
mov word [eax], dx
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
mov eax, dword [ebx + 0xa0]
call fcn.00403684
mov ecx, eax
add ecx, ecx
add ecx, 2
mov edx, dword [ebp - 8]
mov eax, dword [ebx + 0xa0]
call fcn.00403c20
mov eax, dword [ebx + 0xa0]
call fcn.00403684
add eax, eax
add eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f1c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f20]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f24]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f28]
call fcn.004027e0
push eax
push 0x84
push 0
push 1
lea eax, [ebp - 8]
mov cx, 6
mov edx, 0x10002
call fcn.0041eb1c
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f1c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f2c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f30]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f34]
call fcn.004027e0
push eax
push 0x80
push 0x420f40
push 1
lea eax, [ebp - 8]
mov cx, 5
mov edx, 0x10003
call fcn.0041eb1c
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f4c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f1c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f50]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f54]
call fcn.004027e0
push eax
push 0x80
push 0x420f60
push 1
lea eax, [ebp - 8]
mov cx, 1
mov edx, 0x10001
call fcn.0041eb1c
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f4c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f64]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f50]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f54]
call fcn.004027e0
push eax
push 0x80
push 0x420f70
push 1
lea eax, [ebp - 8]
mov cx, 2
mov edx, 0x10000
call fcn.0041eb1c
cmp byte [ebx + 0x9c], 0
je 0x4209e9
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f78]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f7c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f80]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f54]
call fcn.004027e0
push eax
push 0x80
push 0x420f8c
push 1
lea eax, [ebp - 8]
mov cx, 4
mov edx, 0x10000
call fcn.0041eb1c
cmp byte [ebx + 0x9d], 0
je 0x420a5f
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f4c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f94]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f50]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f54]
call fcn.004027e0
push eax
push 0x80
push 0x420fa0
push 1
lea eax, [ebp - 8]
mov cx, 7
mov edx, 0x10000
call fcn.0041eb1c
cmp byte [ebx + 0x9e], 0
je 0x420ad5
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f4c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420fa8]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f50]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f54]
call fcn.004027e0
push eax
push 0x80
push 0x420fb4
push 1
lea eax, [ebp - 8]
mov cx, 8
mov edx, 0x10000
call fcn.0041eb1c
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f1c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420fc0]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f24]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f34]
call fcn.004027e0
push eax
push 0x82
push 0x420fcc
push 1
lea eax, [ebp - 8]
mov cx, 0xc8
xor edx, edx
call fcn.0041eb1c
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f1c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420fe4]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f24]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420fe8]
call fcn.004027e0
push eax
push 0x82
mov eax, dword [ebx + 0x88]
push eax
push 1
lea eax, [ebp - 8]
mov cx, 0xc9
xor edx, edx
call fcn.0041eb1c
lea eax, [ebp - 0x1c]
call fcn.00403408
mov eax, dword [ebx + 0x8c]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x420bfc
inc esi
mov dword [ebp - 0x20], 0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x8c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x40]
push 0x420ff4
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00403744
inc dword [ebp - 0x20]
dec esi
jne 0x420bcd
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f1c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420ff8]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420ffc]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x421000]
call fcn.004027e0
push eax
push 0x82
mov eax, dword [ebp - 0x1c]
push eax
push 1
lea eax, [ebp - 8]
mov cx, 0xca
xor edx, edx
call fcn.0041eb1c
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f1c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x421004]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420ffc]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420fe8]
call fcn.004027e0
push eax
push 0x82
mov eax, dword [ebx + 0x90]
push eax
push 1
lea eax, [ebp - 8]
mov cx, 0xcb
xor edx, edx
call fcn.0041eb1c
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f1c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x421008]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x42100c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x420f34]
call fcn.004027e0
push eax
push 0x82
mov eax, dword [ebx + 0x94]
push eax
push 1
lea eax, [ebp - 8]
mov cx, 0xcc
xor edx, edx
call fcn.0041eb1c
lea eax, [ebp - 0x1c]
call fcn.00403408
mov eax, dword [ebx + 0x98]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x420d8e
inc esi
mov dword [ebp - 0x20], 0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x40]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebx + 0x98]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x40]
push 0x420ff4
lea eax, [ebp - 0x1c]
mov edx, 3
call fcn.00403744
inc dword [ebp - 0x20]
dec esi
jne 0x420d5f
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x420f1c]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x421010]
call fcn.004027e0
push eax
lea eax, [ebp - 0x12]
call fcn.00404e04
fdivr dword [0x421014]
call fcn.004027e0
push eax
lea eax, [ebp - 0x18]
call fcn.00404e04
fdivr dword [0x421018]
call fcn.004027e0
push eax
push 0x82
mov eax, dword [ebp - 0x1c]
push eax
push 1
lea eax, [ebp - 8]
mov cx, 0xcd
xor edx, edx
call fcn.0041eb1c
push 0x4202f0
mov eax, dword [ebp - 0xc]
mov edx, eax
mov eax, dword [0x4238f4]
mov eax, dword [eax]
xor ecx, ecx
call fcn.00405604
mov dword [0x4246f4], eax
mov eax, dword [ebp - 4]
call fcn.00402564
push 5
mov eax, dword [0x4246f4]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [0x4246f4]
push eax
call sub.user32.dll_BringWindowToTop
mov eax, dword [0x4246f4]
push eax
call sub.user32.dll_GetDC
mov esi, eax
mov eax, dword [ebx + 0xa0]
call fcn.00403848
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push 1
push 0
push 0
push 0
push 0
push 0
push 0x48
push 0x5a
push esi
call sub.gdi32.dll_GetDeviceCaps
push eax
mov eax, dword [ebx + 0xa4]
push eax
call sub.kernel32.dll_MulDiv
neg eax
push eax
call sub.gdi32.dll_CreateFontA
mov ebx, eax
push esi
mov eax, dword [0x4246f4]
push eax
call sub.user32.dll_ReleaseDC
push 1
push ebx
push 0x30
push 0xcc
mov eax, dword [0x4246f4]
push eax
call sub.user32.dll_GetDlgItem
push eax
call sub.user32.dll_SendMessageA
cmp dword [0x4246f4], 0
je 0x420eda
jmp 0x420ec7
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x4246f4]
push eax
call sub.user32.dll_IsDialogMessageA
push 0
push 0
push 0
lea eax, [ebp - 0x3c]
push eax
call sub.user32.dll_GetMessageA
test eax, eax
jne 0x420eb8
mov eax, dword [0x4246f4]
push eax
call sub.user32.dll_DestroyWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x420f0a
lea eax, [ebp - 0x40]
call fcn.00403408
lea eax, [ebp - 0x1c]
call fcn.00403408
ret