Function at 0x522d80
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xfc
mov eax, dword [0x65480c]
push ebx
push esi
mov dword [ebp - 4], eax
push edi
lea eax, [ebp - 0x98]
push eax
mov dword [ebp - 0x98], 0x94
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
mov ebx, dword [ebp - 0x88]
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x48
cmp ebx, 2
push 0x60
setne cl
push 8
mov byte [0x65106a], cl
call esi
push str.Tahoma
xor ebx, ebx
push ebx
push ebx
mov edi, dword [sym.imp.GDI32.dll_CreateFontA]
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x190
push ebx
push ebx
neg eax
push ebx
push eax
call edi
push 0x48
push 0x60
push 0xa
mov dword [0x68c25c], eax
call esi
push str.Tahoma
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x2bc
push ebx
push ebx
neg eax
push ebx
push eax
call edi
push 0x7f00
push ebx
mov dword [0x68c260], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [ebp + 8]
cmp eax, 0x68cd10
je 0x522e4b
mov ecx, dword [eax + 4]
lea edx, [ebp + 0xf]
push edx
mov edx, dword [eax]
push ecx
push edx
mov ecx, 0x68cd10
call fcn.0040c800
mov eax, dword [ebp + 0xc]
cmp eax, 0x68cd34
je 0x522e6a
mov edx, dword [eax + 4]
mov eax, dword [eax]
lea ecx, [ebp + 0xf]
push ecx
push edx
push eax
mov ecx, 0x68cd34
call fcn.0040c800
push 0xf
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xd8], ebx
mov dword [ebp - 0xd4], ebx
call dword [sym.imp.USER32.dll_GetSysColorBrush]
push 0x7f00
push ebx
mov dword [ebp - 0xc4], eax
call dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f01
push ebx
mov dword [ebp - 0xc8], eax
call dword [sym.imp.USER32.dll_LoadIconA]
mov ecx, dword [0x68be40]
lea edx, [ebp - 0xe0]
push edx
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xdc], 0x522cd0
mov dword [ebp - 0xbc], str.SEHWindow
mov dword [ebp - 0xc0], ebx
call dword [sym.imp.USER32.dll_RegisterClassA]
push ebx
push 0x82ca0000
lea eax, [ebp - 0xb4]
push eax
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], 0x190
mov dword [ebp - 0xa8], 0x12c
call dword [sym.imp.USER32.dll_AdjustWindowRect]
mov ecx, dword [0x68be40]
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xac]
push ebx
push ecx
mov ecx, dword [ebp - 0xb0]
push ebx
push ebx
sub edx, ecx
mov ecx, dword [ebp - 0xb4]
push edx
sub eax, ecx
push eax
push 0x40
push 0x40
push 0x82ca0000
push str.Fatal_Error_
push str.SEHWindow
push ebx
mov ebx, dword [sym.imp.USER32.dll_CreateWindowExA]
call ebx
mov ecx, dword [0x68be40]
mov edx, dword [0x68cd1c]
push 0
push ecx
push 0
push eax
push 0x54
push 0x180
push 8
push 8
push 0x50000804
push edx
push str.EDIT
push 0
mov dword [ebp - 0xa0], eax
call ebx
push 0x48
push 0x60
push 9
mov dword [ebp - 0x9c], eax
call esi
push str.Arial
push 0
push 0
push 0
push 0
push 0
neg eax
push 0
push 0
push 0
push 0x2bc
push 0
push 0
push 0
push eax
call edi
mov cl, byte [0x65106a]
test cl, cl
mov dword [ebp - 0xa4], eax
jne 0x522fdf
push 0
push eax
mov eax, dword [ebp - 0x9c]
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [0x68be40]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0xa0]
push 0
push edx
push 0
push ecx
push 0xa8
push 0x180
push 0x5c
push 8
push 0x50a00804
push eax
push str.EDIT
push 0
call ebx
push 0x48
push 0x60
push 8
mov dword [ebp - 0x9c], eax
call esi
push str.Courier_New
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x190
push 0
push 0
neg eax
push 0
push eax
call edi
mov cl, byte [0x65106a]
test cl, cl
mov dword [ebp - 0xb8], eax
jne 0x523068
mov edx, dword [ebp - 0x9c]
push 0
push eax
push 0x30
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [0x68c258]
test eax, eax
mov dword [ebp + 0xc], 0x50000001
jne 0x52307f
mov dword [ebp + 0xc], 0x58000001
mov al, byte [0x651069]
test al, al
je 0x523099
mov eax, dword [0x68cd28]
cmp eax, dword [0x68cd2c]
je 0x523099
mov cl, 1
jmp 0x52309b
xor cl, cl
xor edx, edx
test cl, cl
setne dl
mov eax, 0x31
mov edi, dword [ebp - 0xa0]
inc edx
mov esi, edx
sub eax, esi
shl eax, 3
cdq
idiv esi
test cl, cl
mov esi, eax
mov eax, 8
je 0x52310e
mov eax, dword [0x68be40]
mov ecx, dword [ebp + 0xc]
push 0
push eax
push 0
push edi
push 0x18
push esi
push 0x10c
push 8
push ecx
push str.Send_Report
push str.BUTTON
push 0
call ebx
mov cl, byte [0x65106a]
test cl, cl
mov dword [0x68c268], eax
jne 0x52310b
mov edx, dword [ebp - 0xa4]
push 0
push edx
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [esi + 0x10]
mov ecx, dword [0x68be40]
push 0
push ecx
push 0
push edi
push 0x18
push esi
push 0x10c
push eax
push 0x50000001
push str.Close_Now
push str.BUTTON
push 0
call ebx
mov cl, byte [0x65106a]
test cl, cl
mov dword [0x68c26c], eax
jne 0x523157
mov edx, dword [ebp - 0xa4]
push 0
push edx
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push 1
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
push 0
lea eax, [ebp - 0xfc]
push eax
call esi
test eax, eax
jle 0x5231b2
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
nop
mov al, byte [0x68c29c]
test al, al
jne 0x5231b2
lea ecx, [ebp - 0xfc]
push ecx
call ebx
lea edx, [ebp - 0xfc]
push edx
call dword [sym.imp.USER32.dll_DispatchMessageA]
push 0
push 0
push 0
lea eax, [ebp - 0xfc]
push eax
call esi
test eax, eax
jg 0x523180
push edi
call dword [sym.imp.USER32.dll_DestroyWindow]
mov ecx, dword [0x68c25c]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
push ecx
call esi
mov edx, dword [0x68c260]
push edx
call esi
mov eax, dword [ebp - 0xa4]
push eax
call esi
mov ecx, dword [ebp - 0xb8]
push ecx
call esi
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
call fcn.005e149c
mov esp, ebp
pop ebp
ret