Function at 0x4494e4
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb0
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x130], edx
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0x48], eax
xor eax, eax
push ebp
push 0x44a973
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0064e78c
mov dword [0x6725e0], eax
lea edx, [ebp - 0x130]
mov eax, dword [0x66f76c]
mov eax, dword [eax + 4]
call fcn.00619ca0
mov eax, dword [ebp - 0x130]
call fcn.0064d5c0
mov dword [0x6725e4], eax
mov eax, dword [0x66e8a8]
test byte [eax + 7], 0x20
je 0x449565
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x48]
call fcn.005c5b44
lea ecx, [ebp - 0x11c]
xor edx, edx
mov eax, dword [ebp - 0x48]
call fcn.005eb4e8
mov eax, dword [ebp - 0x48]
mov al, byte [eax + 0x14e]
mov byte [ebp - 0xd6], al
mov eax, dword [0x66fc50]
test byte [eax], 8
setne al
mov byte [ebp - 0xd7], al
xor edx, edx
mov eax, dword [ebp - 0x48]
call fcn.00562d28
cmp byte [ebp - 0xd7], 0
je 0x4495a2
mov eax, 0x1fae
call fcn.004e30ec
mov eax, dword [ebp - 0x48]
call fcn.005bd094
mov dl, 1
mov eax, dword [ebp - 0x48]
call fcn.005eb620
call fcn.0044aefc
mov eax, dword [ebp - 0x48]
mov dword [0x6725dc], eax
mov byte [ebp - 0xd5], 0
xor eax, eax
mov dword [0x6725cc], eax
push ebp
call fcn.00447ba4
pop ecx
test al, al
je 0x44a7dd
cmp dword [ebp - 0x34], 0
jne 0x4495f5
mov eax, dword [0x66f324]
mov eax, dword [eax]
call fcn.0062006c
jmp 0x44a7dd
test byte [ebp - 0x30], 1
je 0x4496b8
mov ecx, dword [ebp - 0x48]
mov dl, 1
mov eax, dword [0x533da0]
call fcn.00533edc
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x1d4]
mov dword [ebp - 0xb4], edx
mov edx, dword [eax + 0x604]
mov dword [ebp - 0xb0], edx
mov edx, dword [ebp - 0x48]
mov edx, dword [edx + 0x1d4]
mov dword [eax + 0x1d4], edx
mov edx, dword [ebp - 0x48]
mov edx, dword [edx + 0x604]
mov dword [eax + 0x604], edx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0xa4]
call fcn.00534564
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 8]
mov dword [0x6725dc], eax
mov eax, dword [0x6725dc]
mov byte [eax + 0x400], 0
mov eax, dword [0x6725dc]
call fcn.005b9d24
mov eax, dword [0x66e8a8]
test byte [eax + 7], 0x20
je 0x449736
lea edx, [ebp - 0x11c]
mov eax, dword [0x6725dc]
call fcn.005c5b44
lea ecx, [ebp - 0x11c]
xor edx, edx
mov eax, dword [0x6725dc]
call fcn.005eb4e8
jmp 0x449736
xor eax, eax
mov dword [ebp - 0xa4], eax
xor eax, eax
mov dword [ebp - 0xb4], eax
xor eax, eax
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x48]
mov dword [0x6725dc], eax
call fcn.00656138
mov eax, dword [ebp - 0x48]
fstp qword [eax + 0x1b0]
wait
mov eax, dword [0x66e8a8]
test byte [eax + 7], 0x20
je 0x449710
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x48]
call fcn.005c5b44
lea ecx, [ebp - 0x11c]
xor edx, edx
mov eax, dword [ebp - 0x48]
call fcn.005eb4e8
mov edx, dword [0x66ed7c]
mov eax, dword [ebp - 0x48]
call fcn.005e5af8
test al, al
je 0x449736
mov eax, dword [ebp - 0x48]
mov byte [eax + 0x468], 1
mov dl, 1
mov eax, dword [ebp - 0x48]
call fcn.005eb620
mov byte [0x6725d5], 1
mov cl, 4
mov dl, 0x16
mov eax, dword [0x6725dc]
call fcn.00564f9c
mov dl, 0x79
mov eax, dword [0x6725dc]
call fcn.00564f50
mov eax, dword [0x6725dc]
mov eax, dword [eax + 0x148]
mov dword [0x6725f0], eax
mov eax, dword [0x66eb44]
mov eax, dword [eax]
call fcn.00624ae8
push 0
mov eax, dword [0x66fb14]
mov eax, dword [eax]
push eax
call sub.user32.dll_EnableWindow
mov eax, dword [ebp - 0x34]
mov dword [0x6725ec], eax
mov byte [ebp - 0x79], 0
mov eax, dword [0x6725e0]
cmp dword [eax + 0x18], 0
jne 0x4497c4
xor edx, edx
mov eax, dword [0x6725e0]
call fcn.0064e9dc
mov eax, dword [0x6725dc]
mov eax, dword [eax + 0x13c]
mov edx, dword [eax + 0x18]
dec edx
sub edx, dword [0x6725fc]
mov eax, dword [0x6725e0]
call fcn.0064e9dc
call fcn.0044766c
xor eax, eax
mov dword [ebp - 0x98], eax
push ebp
call fcn.00448034
pop ecx
test al, al
je 0x44a6af
mov eax, 0x672614
mov edx, 0x14
call fcn.00658ea4
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x160]
call fcn.006552dc
mov dword [0x672614], 0x14
mov eax, dword [ebp - 0xb8]
mov dword [0x672618], eax
call fcn.00506a54
movzx edx, word [ebp - 0x24]
mov ecx, dword [0x6725e0]
imul edx, dword [ecx + 0x18]
mov ecx, dword [0x66f8e0]
mov ecx, dword [ecx]
call fcn.00503ed0
cmp byte [0x6725e8], 0
je 0x4498e7
cmp byte [0x672631], 0
jne 0x4498e7
call fcn.00446578
test byte [ebp - 0x30], 0x10
je 0x4498b6
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a6a1
mov dword [ebp - 0xbc], 1
mov eax, dword [0x6725e0]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x449890
inc ebx
xor esi, esi
push ebp
mov eax, esi
call fcn.00449408
pop ecx
inc esi
dec ebx
jne 0x449883
movzx eax, word [ebp - 0x24]
cmp eax, dword [ebp - 0xbc]
jle 0x4498a8
push ebp
call fcn.00448af8
pop ecx
call fcn.00446578
inc dword [ebp - 0xbc]
dec edi
jne 0x449873
jmp 0x44a6a1
mov eax, dword [0x6725e0]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl 0x44a6a1
inc edi
xor esi, esi
movzx ebx, word [ebp - 0x24]
test ebx, ebx
jle 0x4498de
push ebp
mov eax, esi
call fcn.00449408
pop ecx
dec ebx
jne 0x4498d2
inc esi
dec edi
jne 0x4498ca
jmp 0x44a6a1
mov eax, dword [0x66f76c]
test byte [eax], 2
je 0x44a644
cmp byte [0x672631], 0
je 0x449f07
mov eax, dword [0x67260c]
and eax, 0x80000001
jns 0x449913
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x449928
mov eax, dword [0x66f270]
mov eax, dword [eax]
call fcn.0061feb4
jmp 0x44a6af
mov edx, dword [0x66f76c]
mov edx, dword [edx + 8]
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
call fcn.0065358c
mov dword [ebp - 0x9c], eax
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
mov edx, 4
call fcn.00653598
mov edx, dword [0x672600]
shr edx, 1
mov ecx, edx
cdq
idiv ecx
mov edx, eax
mov eax, 4
call fcn.00653540
mov edx, 4
call fcn.00653598
mov dword [ebp - 0xcc], eax
call fcn.0064e78c
mov dword [ebp - 0xa8], eax
call fcn.0064e78c
mov dword [ebp - 0xac], eax
mov edi, dword [ebp - 0x9c]
dec edi
test edi, edi
jl 0x449a87
inc edi
mov dword [ebp - 0xc0], 0
push ebp
mov eax, dword [ebp - 0xc0]
call fcn.00449490
pop ecx
mov ebx, dword [ebp - 0xa0]
shr ebx, 1
dec ebx
test ebx, ebx
jl 0x449a68
inc ebx
xor esi, esi
test esi, 1
je 0x449a1d
mov edx, dword [0x66f76c]
mov edx, dword [edx + 8]
imul edx, dword [ebp - 0xc0]
add edx, esi
mov eax, dword [ebp - 0xa8]
call fcn.0064e9dc
mov edx, dword [0x66f76c]
mov edx, dword [edx + 8]
imul edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xa0]
sub eax, esi
dec eax
add edx, eax
mov eax, dword [ebp - 0xa8]
call fcn.0064e9dc
jmp 0x449a60
mov edx, dword [0x66f76c]
mov edx, dword [edx + 8]
imul edx, dword [ebp - 0xc0]
mov eax, dword [ebp - 0xa0]
sub eax, esi
dec eax
add edx, eax
mov eax, dword [ebp - 0xa8]
call fcn.0064e9dc
mov edx, dword [0x66f76c]
mov edx, dword [edx + 8]
imul edx, dword [ebp - 0xc0]
add edx, esi
mov eax, dword [ebp - 0xa8]
call fcn.0064e9dc
inc esi
dec ebx
jne 0x4499d0
inc dword [ebp - 0xc0]
dec edi
jne 0x4499af
jmp 0x449a87
mov edx, 0x7fffffff
mov eax, dword [ebp - 0xa8]
call fcn.0064e9dc
mov edx, dword [0x672600]
add edx, edx
mov eax, dword [ebp - 0xa8]
mov ebx, dword [eax + 0x18]
mov eax, ebx
call fcn.00653598
cmp eax, ebx
jg 0x449a77
mov edx, dword [0x672600]
add edx, edx
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x18]
call fcn.00653598
cdq
idiv dword [0x672600]
mov edi, eax
dec edi
test edi, edi
jl 0x449ba5
inc edi
mov dword [ebp - 0xd4], 0
mov ebx, dword [0x672600]
shr ebx, 1
dec ebx
test ebx, ebx
jl 0x449b98
inc ebx
xor esi, esi
test byte [ebp - 0xd4], 1
je 0x449b2d
mov eax, dword [0x67260c]
shr eax, 1
push eax
mov eax, esi
pop edx
mov ecx, edx
cdq
idiv ecx
mov ecx, esi
sub ecx, edx
mov eax, dword [0x67260c]
shr eax, 1
push eax
mov eax, esi
pop edx
push ecx
mov ecx, edx
cdq
idiv ecx
pop ecx
mov eax, dword [0x67260c]
shr eax, 1
dec eax
sub eax, edx
add ecx, eax
mov dword [ebp - 0xd0], ecx
jmp 0x449b33
mov dword [ebp - 0xd0], esi
mov eax, dword [ebp - 0xd4]
add eax, eax
mov edx, dword [ebp - 0xd0]
imul edx, dword [ebp - 0xcc]
add eax, edx
mov edx, dword [ebp - 0xa8]
mov edx, dword [edx + 0x1c]
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xac]
call fcn.0064e9dc
mov eax, dword [ebp - 0xd4]
add eax, eax
mov edx, dword [ebp - 0xd0]
imul edx, dword [ebp - 0xcc]
add eax, edx
mov edx, dword [ebp - 0xa8]
mov edx, dword [edx + 0x1c]
mov edx, dword [edx + eax*4 + 4]
mov eax, dword [ebp - 0xac]
call fcn.0064e9dc
inc esi
dec ebx
jne 0x449aea
inc dword [ebp - 0xd4]
dec edi
jne 0x449ad6
call fcn.00506a54
movzx edx, word [ebp - 0x24]
mov ecx, dword [ebp - 0xac]
imul edx, dword [ecx + 0x18]
mov dword [eax + 0x278], edx
cmp byte [0x6725e8], 0
je 0x449c18
call fcn.00446578
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x449eec
mov eax, dword [ebp - 0xac]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x449c10
inc ebx
xor esi, esi
push ebp
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + esi*4]
call fcn.00449408
pop ecx
mov eax, esi
cdq
idiv dword [0x672600]
and al, 1
xor al, 1
mov byte [ebp - 0x79], al
inc esi
dec ebx
jne 0x449be9
dec edi
jne 0x449bd8
jmp 0x449eec
mov eax, dword [0x6725e0]
cmp dword [eax + 0x18], 1
jne 0x449c4b
call fcn.00446578
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x449eec
inc dword [ebp - 0x98]
push ebp
xor eax, eax
call fcn.00449408
pop ecx
dec edi
jne 0x449c34
jmp 0x449eec
mov al, byte [0x6725ea]
shl eax, 0x10
mov ax, word [0x6725e8]
push eax
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
mov edx, dword [0x672600]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov edx, eax
imul edx, dword [0x6725f8]
xor ecx, ecx
mov eax, dword [0x6725c8]
call fcn.004462f8
test al, al
je 0x449eec
call fcn.00446578
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x449dec
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x449cbe
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
jne 0x449d51
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
cdq
idiv dword [0x672600]
dec eax
cmp eax, 0
jl 0x449de5
mov dword [ebp - 0xd4], eax
test byte [ebp - 0xd4], 1
je 0x449cf4
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x449d0a
test byte [ebp - 0xd4], 1
jne 0x449d3d
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
jne 0x449d3d
mov ebx, dword [0x672600]
dec ebx
test ebx, ebx
jl 0x449d3d
inc ebx
xor esi, esi
push ebp
mov eax, dword [ebp - 0xd4]
imul dword [0x672600]
add eax, esi
mov edx, dword [ebp - 0xac]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
call fcn.00449408
pop ecx
inc esi
dec ebx
jne 0x449d18
dec dword [ebp - 0xd4]
cmp dword [ebp - 0xd4], 0xffffffff
jne 0x449cde
jmp 0x449de5
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
cdq
idiv dword [0x672600]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x449de5
inc ebx
mov dword [ebp - 0xd4], 0
test byte [ebp - 0xd4], 1
je 0x449d89
mov al, byte [0x44a98c]
cmp al, byte [0x6725ea]
je 0x449d9f
test byte [ebp - 0xd4], 1
jne 0x449ddc
mov al, byte [0x44a990]
cmp al, byte [0x6725ea]
jne 0x449ddc
mov eax, dword [0x672600]
dec eax
test eax, eax
jl 0x449ddc
inc eax
mov dword [ebp - 0xdc], eax
xor esi, esi
push ebp
mov eax, dword [ebp - 0xd4]
imul dword [0x672600]
add eax, esi
mov edx, dword [ebp - 0xac]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
call fcn.00449408
pop ecx
inc esi
dec dword [ebp - 0xdc]
jne 0x449db2
inc dword [ebp - 0xd4]
dec ebx
jne 0x449d73
dec edi
jne 0x449ca0
push ebp
call fcn.00448af8
pop ecx
mov al, byte [0x6725ea]
shl eax, 0x10
mov ax, word [0x6725e8]
push eax
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
mov edx, dword [0x672600]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov edx, eax
imul edx, dword [0x6725f8]
mov cl, 1
mov eax, dword [0x6725c8]
call fcn.004462f8
test al, al
je 0x449eec
call fcn.00446578
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
cdq
idiv dword [0x672600]
dec eax
cmp eax, 0
jl 0x449eec
mov dword [ebp - 0xd4], eax
test byte [ebp - 0xd4], 1
je 0x449e7f
mov al, byte [0x44a990]
cmp al, byte [0x6725ea]
je 0x449ea2
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
je 0x449ea2
test byte [ebp - 0xd4], 1
jne 0x449ed9
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x449ea2
mov al, byte [0x44a98c]
cmp al, byte [0x6725ea]
jne 0x449ed9
mov edi, dword [0x672600]
dec edi
test edi, edi
jl 0x449ed9
inc edi
xor esi, esi
push ebp
mov eax, dword [ebp - 0xd4]
imul dword [0x672600]
add eax, esi
mov edx, dword [ebp - 0xac]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
call fcn.00449408
pop ecx
mov byte [ebp - 0x79], 1
inc esi
dec edi
jne 0x449eb0
dec dword [ebp - 0xd4]
cmp dword [ebp - 0xd4], 0xffffffff
jne 0x449e5c
mov eax, dword [ebp - 0xac]
call fcn.0064edac
mov eax, dword [ebp - 0xa8]
call fcn.0064edac
jmp 0x44a6a1
cmp byte [0x67262a], 0
jne 0x44a2ec
mov eax, dword [0x6725e0]
cmp dword [eax + 0x18], 1
jne 0x449f47
call fcn.00446578
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a6a1
inc dword [ebp - 0x98]
push ebp
xor eax, eax
call fcn.00449408
pop ecx
dec edi
jne 0x449f30
jmp 0x44a6a1
mov al, byte [0x6725ea]
shl eax, 0x10
mov ax, word [0x6725e8]
push eax
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
mov edx, 2
call fcn.0065358c
mov edx, eax
imul edx, dword [0x6725f8]
xor ecx, ecx
mov eax, dword [0x6725c8]
call fcn.004462f8
test al, al
je 0x44a6a1
call fcn.00446578
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x449faa
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
jne 0x44a0b3
test byte [ebp - 0x30], 0x10
je 0x44a02c
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a1b0
mov eax, dword [0x6725e0]
test byte [eax + 0x18], 1
je 0x449fdd
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_EndPage
mov eax, dword [0x6725e0]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x44a024
test esi, 1
je 0x44a000
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x44a015
test esi, 1
jne 0x44a01e
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
jne 0x44a01e
push ebp
mov eax, esi
call fcn.00449408
pop ecx
dec esi
cmp esi, 0xffffffff
jne 0x449feb
dec edi
jne 0x449fbc
jmp 0x44a1b0
mov eax, dword [0x6725e0]
test byte [eax + 0x18], 1
je 0x44a058
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a058
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_EndPage
dec edi
jne 0x44a03f
mov eax, dword [0x6725e0]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x44a1b0
test esi, 1
je 0x44a07f
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x44a094
test esi, 1
jne 0x44a0a8
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
jne 0x44a0a8
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a0a8
push ebp
mov eax, esi
call fcn.00449408
pop ecx
dec edi
jne 0x44a09c
dec esi
cmp esi, 0xffffffff
jne 0x44a06a
jmp 0x44a1b0
test byte [ebp - 0x30], 0x10
je 0x44a132
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a1b0
mov eax, dword [0x6725e0]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x44a10c
inc ebx
xor esi, esi
test esi, 1
je 0x44a0ea
mov al, byte [0x44a98c]
cmp al, byte [0x6725ea]
je 0x44a0ff
test esi, 1
jne 0x44a108
mov al, byte [0x44a990]
cmp al, byte [0x6725ea]
jne 0x44a108
push ebp
mov eax, esi
call fcn.00449408
pop ecx
inc esi
dec ebx
jne 0x44a0d5
mov eax, dword [0x6725e0]
test byte [eax + 0x18], 1
je 0x44a12d
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_EndPage
dec edi
jne 0x44a0c5
jmp 0x44a1b0
mov eax, dword [0x6725e0]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl 0x44a184
inc edi
xor esi, esi
test esi, 1
je 0x44a157
mov al, byte [0x44a98c]
cmp al, byte [0x6725ea]
je 0x44a16c
test esi, 1
jne 0x44a180
mov al, byte [0x44a990]
cmp al, byte [0x6725ea]
jne 0x44a180
movzx ebx, word [ebp - 0x24]
test ebx, ebx
jle 0x44a180
push ebp
mov eax, esi
call fcn.00449408
pop ecx
dec ebx
jne 0x44a174
inc esi
dec edi
jne 0x44a142
mov eax, dword [0x6725e0]
test byte [eax + 0x18], 1
je 0x44a1b0
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a1b0
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_EndPage
dec edi
jne 0x44a197
push ebp
call fcn.00448af8
pop ecx
mov al, byte [0x6725ea]
shl eax, 0x10
mov ax, word [0x6725e8]
push eax
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
mov edx, 2
call fcn.0065358c
mov edx, eax
imul edx, dword [0x6725f8]
mov cl, 1
mov eax, dword [0x6725c8]
call fcn.004462f8
test al, al
je 0x44a6a1
call fcn.00446578
test byte [ebp - 0x30], 0x10
je 0x44a277
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a6a1
mov eax, dword [0x6725e0]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x44a26f
test esi, 1
je 0x44a23e
mov al, byte [0x44a990]
cmp al, byte [0x6725ea]
je 0x44a260
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
je 0x44a260
test esi, 1
jne 0x44a269
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x44a260
mov al, byte [0x44a98c]
cmp al, byte [0x6725ea]
jne 0x44a269
push ebp
mov eax, esi
call fcn.00449408
pop ecx
dec esi
cmp esi, 0xffffffff
jne 0x44a21c
dec edi
jne 0x44a20e
jmp 0x44a6a1
mov eax, dword [0x6725e0]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x44a6a1
test esi, 1
je 0x44a2ab
mov al, byte [0x44a990]
cmp al, byte [0x6725ea]
je 0x44a2cd
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
je 0x44a2cd
test esi, 1
jne 0x44a2e1
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x44a2cd
mov al, byte [0x44a98c]
cmp al, byte [0x6725ea]
jne 0x44a2e1
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a2e1
push ebp
mov eax, esi
call fcn.00449408
pop ecx
dec edi
jne 0x44a2d5
dec esi
cmp esi, 0xffffffff
jne 0x44a289
jmp 0x44a6a1
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
cmp eax, dword [0x672600]
jg 0x44a332
call fcn.00446578
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a6a1
mov eax, dword [0x6725e0]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x44a32a
inc ebx
xor esi, esi
push ebp
mov eax, esi
call fcn.00449408
pop ecx
inc esi
dec ebx
jne 0x44a31d
dec edi
jne 0x44a30d
jmp 0x44a6a1
mov al, byte [0x6725ea]
shl eax, 0x10
mov ax, word [0x6725e8]
push eax
mov edx, dword [0x672600]
add edx, edx
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
call fcn.0065358c
mov edx, eax
imul edx, dword [0x6725f8]
xor ecx, ecx
mov eax, dword [0x6725c8]
call fcn.004462f8
test al, al
je 0x44a6a1
call fcn.00446578
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
mov edx, dword [0x672600]
call fcn.0065358c
mov dword [ebp - 0xc8], eax
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x44a3b1
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
jne 0x44a47e
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a54e
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
mov edx, dword [0x672600]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov eax, edx
mov ecx, dword [0x672600]
mov edx, 1
call fcn.00653560
test al, al
je 0x44a3fe
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_EndPage
mov eax, dword [ebp - 0xc8]
dec eax
cmp eax, 0
jl 0x44a472
mov dword [ebp - 0xc4], eax
test byte [ebp - 0xc4], 1
je 0x44a426
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x44a43c
test byte [ebp - 0xc4], 1
jne 0x44a463
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
jne 0x44a463
mov ebx, dword [0x672600]
dec ebx
test ebx, ebx
jl 0x44a463
inc ebx
xor esi, esi
push ebp
mov eax, dword [ebp - 0xc4]
imul dword [0x672600]
add eax, esi
call fcn.00449408
pop ecx
inc esi
dec ebx
jne 0x44a44a
dec dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], 0xffffffff
jne 0x44a410
dec edi
jne 0x44a3bd
jmp 0x44a54e
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a54e
mov ebx, dword [ebp - 0xc8]
dec ebx
test ebx, ebx
jl 0x44a506
inc ebx
mov dword [ebp - 0xc4], 0
test byte [ebp - 0xc4], 1
je 0x44a4b6
mov al, byte [0x44a98c]
cmp al, byte [0x6725ea]
je 0x44a4cc
test byte [ebp - 0xc4], 1
jne 0x44a4fd
mov al, byte [0x44a990]
cmp al, byte [0x6725ea]
jne 0x44a4fd
mov eax, dword [0x672600]
dec eax
test eax, eax
jl 0x44a4fd
inc eax
mov dword [ebp - 0xdc], eax
xor esi, esi
push ebp
mov eax, dword [ebp - 0xc4]
imul dword [0x672600]
add eax, esi
call fcn.00449408
pop ecx
inc esi
dec dword [ebp - 0xdc]
jne 0x44a4df
inc dword [ebp - 0xc4]
dec ebx
jne 0x44a4a0
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
mov edx, dword [0x672600]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov eax, edx
mov ecx, dword [0x672600]
mov edx, 1
call fcn.00653560
test al, al
je 0x44a547
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_EndPage
dec edi
jne 0x44a48a
push ebp
call fcn.00448af8
pop ecx
mov al, byte [0x6725ea]
shl eax, 0x10
mov ax, word [0x6725e8]
push eax
mov edx, dword [0x672600]
add edx, edx
mov eax, dword [0x6725e0]
mov eax, dword [eax + 0x18]
call fcn.0065358c
mov edx, eax
imul edx, dword [0x6725f8]
mov cl, 1
mov eax, dword [0x6725c8]
call fcn.004462f8
test al, al
je 0x44a6a1
call fcn.00446578
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a6a1
mov eax, dword [ebp - 0xc8]
dec eax
cmp eax, 0
jl 0x44a63b
mov dword [ebp - 0xc4], eax
test byte [ebp - 0xc4], 1
je 0x44a5e2
mov al, byte [0x44a990]
cmp al, byte [0x6725ea]
je 0x44a605
mov al, byte [0x44a988]
cmp al, byte [0x6725ea]
je 0x44a605
test byte [ebp - 0xc4], 1
jne 0x44a62c
mov al, byte [0x44a984]
cmp al, byte [0x6725ea]
je 0x44a605
mov al, byte [0x44a98c]
cmp al, byte [0x6725ea]
jne 0x44a62c
mov ebx, dword [0x672600]
dec ebx
test ebx, ebx
jl 0x44a62c
inc ebx
xor esi, esi
push ebp
mov eax, dword [ebp - 0xc4]
imul dword [0x672600]
add eax, esi
call fcn.00449408
pop ecx
inc esi
dec ebx
jne 0x44a613
dec dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], 0xffffffff
jne 0x44a5bf
dec edi
jne 0x44a5a9
jmp 0x44a6a1
call fcn.00446578
test byte [ebp - 0x30], 0x10
je 0x44a679
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44a6a1
mov eax, dword [0x6725e0]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x44a674
inc ebx
xor esi, esi
push ebp
mov eax, esi
call fcn.00449408
pop ecx
inc esi
dec ebx
jne 0x44a667
dec edi
jne 0x44a657
jmp 0x44a6a1
mov eax, dword [0x6725e0]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl 0x44a6a1
inc edi
xor esi, esi
movzx ebx, word [ebp - 0x24]
test ebx, ebx
jle 0x44a69d
push ebp
mov eax, esi
call fcn.00449408
pop ecx
dec ebx
jne 0x44a691
inc esi
dec edi
jne 0x44a689
cmp dword [0x6725fc], 0
setg byte [ebp - 0xd5]
push ebp
call fcn.00448af8
pop ecx
call fcn.00506a54
mov dl, 1
call fcn.00503f2c
mov eax, dword [0x6725ec]
push eax
call sub.gdi32.dll_DeleteDC
lea eax, [ebp - 0x3c]
call fcn.00652f7c
lea eax, [ebp - 0x38]
call fcn.00652f7c
mov eax, dword [0x66f65c]
xor edx, edx
mov dword [eax], edx
cmp byte [0x672631], 0
jne 0x44a6f9
mov eax, dword [0x6700b4]
cmp byte [eax], 0
je 0x44a712
mov eax, dword [0x66f76c]
and byte [eax], 0xfd
cmp byte [0x672632], 0
je 0x44a712
mov eax, dword [0x66f76c]
or byte [eax], 2
cmp byte [0x67262a], 0
je 0x44a734
mov eax, dword [0x66f76c]
and byte [eax], 0xfe
cmp byte [0x672633], 0
je 0x44a734
mov eax, dword [0x66f76c]
or byte [eax], 1
mov byte [0x6725d5], 0
mov eax, dword [0x66eb44]
mov eax, dword [eax]
call fcn.00624ae0
mov edx, dword [0x6725f0]
mov eax, dword [0x6725dc]
call fcn.00561ff8
mov edx, 3
mov eax, dword [0x6725dc]
call fcn.00565028
mov eax, dword [0x6725dc]
cmp eax, dword [ebp - 0x48]
je 0x44a79c
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0xb4]
mov dword [eax + 0x1d4], edx
mov edx, dword [ebp - 0xb0]
mov dword [eax + 0x604], edx
mov eax, dword [ebp - 0xa4]
call fcn.004028c0
push 0xffffffffffffffff
mov eax, dword [0x66fb14]
mov eax, dword [eax]
push eax
call sub.user32.dll_EnableWindow
mov eax, dword [0x66f364]
mov byte [eax + 0xa], 1
mov dl, 0x18
mov eax, dword [ebp - 0x48]
call fcn.00564f50
call fcn.0053a704
mov eax, dword [ebp - 0x48]
call fcn.00565004
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x174]
mov bx, 0xffd9
call fcn.00403254
call fcn.004478cc
mov eax, dword [0x6725cc]
push eax
call sub.winspool.drv_ClosePrinter
mov eax, dword [0x6725e4]
call fcn.004028c0
mov eax, dword [0x6725e0]
call fcn.0064edac
mov eax, dword [0x6725c4]
call fcn.004028c0
mov dl, byte [ebp - 0xd6]
mov eax, dword [ebp - 0x48]
call fcn.00562d28
cmp byte [ebp - 0xd7], 0
je 0x44a82c
mov eax, 0x1fae
call fcn.004e30ec
cmp byte [ebp - 0xd5], 0
je 0x44a94f
mov eax, dword [0x66e968]
mov eax, dword [eax]
mov cl, 0xd
mov dl, 3
call fcn.006200d0
cmp ax, 6
jne 0x44a94f
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x13c]
mov edx, dword [eax + 0x18]
sub edx, dword [0x6725fc]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + edx*4]
mov dl, byte [0x44a988]
call fcn.00558dc4
mov edx, dword [eax + 8]
mov edx, dword [edx + 0x18]
mov dword [ebp - 0xfc], edx
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x13c]
call fcn.0064ea3c
mov dl, byte [0x44a988]
call fcn.00558e38
mov edx, dword [eax + 8]
mov ecx, dword [edx + 0x18]
mov dword [ebp - 0xec], ecx
mov ebx, dword [edx + 8]
mov dword [ebp - 0xe8], ebx
push 0x7fffffff
mov al, byte [0x44a988]
push eax
mov ecx, ebx
mov esi, dword [ebp - 0xec]
mov edx, esi
mov eax, dword [ebp - 0x48]
call fcn.005c0320
push esi
push ebx
mov al, byte [0x44a988]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x48]
call fcn.005c2d68
mov eax, 0x4b0
call fcn.004e30ec
lea edx, [ebp - 0x150]
mov eax, dword [ebp - 0x48]
call fcn.005c5b44
lea esi, [ebp - 0x140]
lea edi, [ebp - 0x12c]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push 0x7fffffff
mov al, byte [0x44a994]
push eax
mov ecx, dword [ebp - 0x128]
dec ecx
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x48]
call fcn.005c0320
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x174]
mov bx, 0xffd9
call fcn.00403254
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44a97a
lea eax, [ebp - 0x130]
call fcn.00403274
lea eax, [ebp - 0xb8]
call fcn.00403880
ret