Function at 0x505bc0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
mov dword [ebp - 0x78], 0x5792f4
mov dword [ebp - 4], 1
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 1
cmp dword [0x602980], 0
jne 0x505c0c
call fcn.004fc590
cmp dword [0x602988], 0
je 0x505c07
mov eax, dword [0x602988]
cmp dword [eax + 4], 0
jne 0x505c0c
jmp 0x5063bb
mov dword [0x71d5a0], 0x42
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov dword [0x71d5a4], eax
mov ecx, dword [0x602980]
mov dword [0x71d5a8], ecx
mov edx, dword [0x602984]
mov dword [0x71d5ac], edx
mov eax, 1
mov word [0x71d5c0], ax
mov dword [0x71d5b4], 0x104
mov ecx, 1
mov word [0x71d5b8], cx
mov edx, 9
mov word [0x71d5ba], dx
mov eax, 1
mov word [0x71d5bc], ax
mov ecx, 0x3e7
mov word [0x71d5be], cx
push 0x71d5a0
call dword [sym.imp.COMDLG32.dll_PrintDlgA]
test eax, eax
jne 0x505c91
jmp 0x5063bb
cmp dword [0x71d5ac], 0
je 0x505cb1
mov edx, dword [0x71d5ac]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov dword [0x71d5ac], 0
cmp dword [0x71d5b0], 0
je 0x505cc4
mov eax, dword [0x71d5b0]
mov dword [0x71d310], eax
cmp dword [0x71d310], 0
jne 0x505cd2
jmp 0x5063bb
push 0x3e8
push 0x58
mov ecx, dword [0x71d310]
push ecx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
mov edx, dword [0x602988]
mov eax, dword [edx + 0x2c]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [0x602994], eax
mov dword [0x71d30c], 0x48ea70
mov dword [0x71d300], 0x48e9f0
mov ecx, dword [0x71d300]
push ecx
mov edx, dword [0x71d310]
push edx
call dword [sym.imp.GDI32.dll_SetAbortProc]
mov dword [ebp - 0x24], 0x14
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x24]
push ecx
mov edx, dword [0x71d310]
push edx
call dword [sym.imp.GDI32.dll_StartDocA]
mov dword [ebp - 0x74], eax
cmp dword [ebp - 0x74], 0
jg 0x505da4
cmp dword [ebp - 0x74], 0xfffffffe
je 0x505d92
mov dword [0x5fa35c], 1
push 0x1010
push 0
push 0x57930c
mov eax, dword [0x60137c]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [0x5fa35c], 0
mov ecx, dword [0x71d310]
push ecx
call dword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x5063bb
mov dword [0x71d304], 0
push 0
mov edx, dword [0x71d30c]
push edx
mov eax, dword [0x60137c]
push eax
push 0x579318
mov ecx, dword [0x6013e4]
push ecx
call dword [sym.imp.USER32.dll_CreateDialogParamA]
mov dword [0x71d540], eax
cmp dword [0x71d540], 0
jne 0x505e0f
mov dword [0x5fa35c], 1
push 0x1010
push 0
push 0x579324
mov edx, dword [0x60137c]
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
mov dword [0x5fa35c], 0
jmp 0x5063bb
push 1
mov eax, dword [0x71d540]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 2
call fcn.005063c0
add esp, 4
lea ecx, [ebp - 0x5c]
push ecx
mov edx, dword [0x71d310]
push edx
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov eax, dword [ebp - 0x5c]
imul eax, eax, 0xf
cdq
mov ecx, 0xa
idiv ecx
mov dword [0x60399c], eax
push 0x58
mov edx, dword [0x71d310]
push edx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [0x578d24], eax
push 0x5a
mov eax, dword [0x71d310]
push eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [0x578d28], eax
push 0xa
mov ecx, dword [0x71d310]
push ecx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov dword [ebp - 0x64], eax
push 8
mov edx, dword [0x71d310]
push edx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
sub eax, dword [0x602994]
sub eax, dword [0x602994]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x64]
cdq
idiv dword [0x60399c]
sub eax, 1
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
sub eax, 5
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x68], 1
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x60], ecx
cmp dword [ebp - 0x60], 0
jge 0x505ed7
mov edx, dword [0x60282c]
mov dword [ebp - 0x60], edx
movzx eax, word [0x71d5b8]
cmp eax, 1
jle 0x505f0c
push 0
push 0xffffffffffffffff
call fcn.00506570
add esp, 8
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x70]
sub ecx, dword [ebp - 0x7c]
add ecx, 1
mov edx, dword [ebp - 0x60]
sub edx, ecx
mov dword [ebp - 0x60], edx
jns 0x505f0c
mov dword [ebp - 8], 0
movzx eax, word [0x71d5b8]
mov dword [ebp - 4], eax
jmp 0x505f21
mov ecx, dword [ebp - 4]
add ecx, 1
mov dword [ebp - 4], ecx
movzx edx, word [0x71d5ba]
cmp dword [ebp - 4], edx
jg 0x506382
cmp dword [ebp - 8], 0
je 0x506382
cmp dword [0x71d304], 0
jne 0x506382
cmp dword [ebp - 0x60], 0
jle 0x506376
mov eax, dword [0x71d310]
push eax
call dword [sym.imp.GDI32.dll_StartPage]
test eax, eax
je 0x506367
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0xa8], 0
mov ecx, dword [ebp - 0xa4]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00506570
add esp, 8
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x90], eax
jmp 0x505fb7
mov ecx, dword [ebp - 0x90]
add ecx, 1
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x70]
jg 0x5062e9
cmp dword [ebp - 0xc], 0
jne 0x505fde
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x8c], 0
mov edx, dword [0x60399c]
imul edx, dword [ebp - 0x90]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x60]
sub eax, 1
mov dword [ebp - 0x60], eax
jns 0x50609b
cmp dword [ebp - 0xc], 2
jne 0x50607e
mov ecx, dword [0x71d310]
push ecx
call dword [sym.imp.GDI32.dll_EndPage]
mov edx, dword [0x71d310]
push edx
call dword [sym.imp.GDI32.dll_StartPage]
test eax, eax
je 0x50607e
mov eax, dword [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 4]
push ecx
call fcn.00506570
add esp, 8
mov dword [ebp - 0xac], eax
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xa4], edx
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x60]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x80]
sub eax, 1
mov dword [ebp - 0x90], eax
mov dword [ebp - 0xc], 3
jmp 0x505fa8
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0
jmp 0x5062e9
cmp dword [ebp + 8], 0
jle 0x5060b9
mov ecx, dword [0x6027f4]
sub ecx, dword [ebp - 0x60]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + ecx*4 - 4]
mov dword [ebp - 0xb0], eax
jmp 0x5060cb
mov ecx, dword [0x60282c]
sub ecx, dword [ebp - 0x60]
sub ecx, 1
mov dword [ebp - 0xb0], ecx
mov edx, dword [0x602724]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xb4], eax
jmp 0x5060f1
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb4]
cmp edx, dword [0x6027e0]
jge 0x5062e4
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xb8], eax
mov ecx, dword [0x602724]
mov dword [ebp - 0x6c], ecx
cmp dword [0x6027d8], 5
je 0x50612e
cmp dword [0x6027d8], 6
jne 0x5061c6
cmp dword [0x6039a0], 0
je 0x506154
mov edx, dword [ebp - 0xb8]
cmp edx, dword [0x6039a0]
jl 0x506154
mov eax, dword [ebp - 0xb8]
add eax, 3
mov dword [ebp - 0xb8], eax
cmp dword [0x6039a4], 0
je 0x50617a
mov ecx, dword [ebp - 0xb8]
cmp ecx, dword [0x6039a4]
jl 0x50617a
mov edx, dword [ebp - 0xb8]
add edx, 3
mov dword [ebp - 0xb8], edx
cmp dword [0x6039a8], 0
je 0x5061a0
mov eax, dword [ebp - 0xb8]
cmp eax, dword [0x6039a8]
jl 0x5061a0
mov ecx, dword [ebp - 0xb8]
add ecx, 3
mov dword [ebp - 0xb8], ecx
cmp dword [0x6039ac], 0
je 0x5061c6
mov edx, dword [ebp - 0xb8]
cmp edx, dword [0x6039ac]
jl 0x5061c6
mov eax, dword [ebp - 0xb8]
add eax, 3
mov dword [ebp - 0xb8], eax
mov ecx, dword [0x602820]
mov edx, dword [ecx*4 + 0x602728]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [edx + eax*4 + 0xac]
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0xb8]
shl edx, 4
add edx, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x84]
imul eax, dword [0x578d24]
cdq
mov ecx, 0x8c
idiv ecx
cmp eax, dword [ebp - 0x10]
jle 0x506233
cmp dword [ebp - 0xc], 1
jne 0x50622e
mov dword [ebp - 0xc], 2
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0xa8], edx
jmp 0x5062e4
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0xa0], eax
mov ecx, dword [ebp - 0xa0]
add ecx, dword [ebp - 0x84]
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0x9c]
add eax, dword [0x60399c]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0xb8]
push ecx
call fcn.00504bf0
add esp, 4
push eax
sub esp, 0x10
mov edx, esp
mov eax, dword [ebp - 0xa0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x9c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x98]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x94]
mov dword [edx + 0xc], ecx
mov edx, dword [ebp - 0xb4]
push edx
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [0x71d310]
push ecx
call fcn.004fde40
add esp, 0x20
mov edx, dword [ebp - 0x8c]
add edx, dword [ebp - 0x84]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0x6c]
add eax, 0x10
mov dword [ebp - 0x6c], eax
jmp 0x5060e2
jmp 0x505fa8
mov ecx, dword [ebp - 0x90]
cmp ecx, dword [ebp - 0x70]
jne 0x506367
cmp dword [ebp - 0xc], 2
jne 0x506367
mov edx, dword [0x71d310]
push edx
call dword [sym.imp.GDI32.dll_EndPage]
mov eax, dword [0x71d310]
push eax
call dword [sym.imp.GDI32.dll_StartPage]
test eax, eax
je 0x506367
mov ecx, dword [ebp - 0xa8]
push ecx
mov edx, dword [ebp - 4]
push edx
call fcn.00506570
add esp, 8
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x90]
sub ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x60]
lea eax, [edx + ecx + 1]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x80]
sub ecx, 1
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xc], 3
jmp 0x505f18
mov edx, dword [0x71d310]
push edx
call dword [sym.imp.GDI32.dll_EndPage]
jmp 0x50637d
mov dword [ebp - 8], 0
jmp 0x505f18
push 0
call fcn.005063c0
add esp, 4
cmp dword [0x71d304], 0
jne 0x5063a1
mov eax, dword [0x71d310]
push eax
call dword [sym.imp.GDI32.dll_EndDoc]
mov ecx, dword [0x71d540]
push ecx
call dword [sym.imp.USER32.dll_DestroyWindow]
mov edx, dword [0x71d310]
push edx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov esp, ebp
pop ebp
ret