Function at 0x44a1f0
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 0x44b669
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00651de8
mov dword [0x6755e4], eax
lea edx, [ebp - 0x130]
mov eax, dword [0x6727d4]
mov eax, dword [eax + 4]
call fcn.0061d1d8
mov eax, dword [ebp - 0x130]
call fcn.00650c30
mov dword [0x6755e8], eax
mov eax, dword [0x671910]
test byte [eax + 7], 0x20
je 0x44a271
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x48]
call fcn.005c8b04
lea ecx, [ebp - 0x11c]
xor edx, edx
mov eax, dword [ebp - 0x48]
call fcn.005ee4b4
mov eax, dword [ebp - 0x48]
mov al, byte [eax + 0x14e]
mov byte [ebp - 0xd5], al
mov eax, dword [0x672cb4]
test byte [eax], 8
setne al
mov byte [ebp - 0xd6], al
xor edx, edx
mov eax, dword [ebp - 0x48]
call fcn.00565ce0
cmp byte [ebp - 0xd6], 0
je 0x44a2ae
mov eax, 0x1fae
call fcn.004e5968
mov eax, dword [ebp - 0x48]
call fcn.005c004c
mov dl, 1
mov eax, dword [ebp - 0x48]
call fcn.005ee5ec
call fcn.0044bbf0
mov eax, dword [ebp - 0x48]
mov dword [0x6755e0], eax
xor ebx, ebx
xor eax, eax
mov dword [0x6755d0], eax
push ebp
call fcn.004488bc
pop ecx
test al, al
je 0x44b4dc
cmp dword [ebp - 0x34], 0
jne 0x44a2fc
mov eax, dword [0x67238c]
mov eax, dword [eax]
call fcn.006235a4
jmp 0x44b4dc
test byte [ebp - 0x30], 1
je 0x44a3bf
mov ecx, dword [ebp - 0x48]
mov dl, 1
mov eax, dword [0x536bf4]
call fcn.00536d30
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.005373b8
mov eax, dword [ebp - 0xa4]
mov eax, dword [eax + 8]
mov dword [0x6755e0], eax
mov eax, dword [0x6755e0]
mov byte [eax + 0x400], 0
mov eax, dword [0x6755e0]
call fcn.005bccdc
mov eax, dword [0x671910]
test byte [eax + 7], 0x20
je 0x44a43d
lea edx, [ebp - 0x11c]
mov eax, dword [0x6755e0]
call fcn.005c8b04
lea ecx, [ebp - 0x11c]
xor edx, edx
mov eax, dword [0x6755e0]
call fcn.005ee4b4
jmp 0x44a43d
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 [0x6755e0], eax
call fcn.00659760
mov eax, dword [ebp - 0x48]
fstp qword [eax + 0x1b0]
wait
mov eax, dword [0x671910]
test byte [eax + 7], 0x20
je 0x44a417
lea edx, [ebp - 0x11c]
mov eax, dword [ebp - 0x48]
call fcn.005c8b04
lea ecx, [ebp - 0x11c]
xor edx, edx
mov eax, dword [ebp - 0x48]
call fcn.005ee4b4
mov edx, dword [0x671de4]
mov eax, dword [ebp - 0x48]
call fcn.005e8ac4
test al, al
je 0x44a43d
mov eax, dword [ebp - 0x48]
mov byte [eax + 0x468], 1
mov dl, 1
mov eax, dword [ebp - 0x48]
call fcn.005ee5ec
mov byte [0x6755d9], 1
mov cl, 4
mov dl, 0x16
mov eax, dword [0x6755e0]
call fcn.00567f54
mov dl, 0x79
mov eax, dword [0x6755e0]
call fcn.00567f08
mov eax, dword [0x6755e0]
mov eax, dword [eax + 0x148]
mov dword [0x6755f4], eax
mov eax, dword [0x671bac]
mov eax, dword [eax]
call fcn.00627fc4
push 0
mov eax, dword [0x672b78]
mov eax, dword [eax]
push eax
call sub.user32.dll_EnableWindow
mov eax, dword [ebp - 0x34]
mov dword [0x6755f0], eax
mov byte [ebp - 0x79], 0
mov eax, dword [0x6755e4]
cmp dword [eax + 0x18], 0
jne 0x44a4cb
xor edx, edx
mov eax, dword [0x6755e4]
call fcn.00652038
mov eax, dword [0x6755e0]
mov eax, dword [eax + 0x13c]
mov edx, dword [eax + 0x18]
dec edx
sub edx, dword [0x675600]
mov eax, dword [0x6755e4]
call fcn.00652038
call fcn.00448384
xor eax, eax
mov dword [ebp - 0x98], eax
push ebp
call fcn.00448d40
pop ecx
test al, al
je 0x44b3b2
mov eax, 0x675618
mov edx, 0x14
call fcn.0065c4dc
lea edx, [ebp - 0xb8]
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x160]
call fcn.00658904
mov dword [0x675618], 0x14
mov eax, dword [ebp - 0xb8]
mov dword [0x67561c], eax
call fcn.005093e8
movzx edx, word [ebp - 0x24]
mov ecx, dword [0x6755e4]
imul edx, dword [ecx + 0x18]
mov ecx, dword [0x672944]
mov ecx, dword [ecx]
call fcn.0050687c
cmp byte [0x6755ec], 0
je 0x44a5ee
cmp byte [0x675635], 0
jne 0x44a5ee
call fcn.00447290
test byte [ebp - 0x30], 0x10
je 0x44a5bd
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44b3a8
mov dword [ebp - 0xbc], 1
mov eax, dword [0x6755e4]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x44a597
inc ebx
xor esi, esi
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
inc esi
dec ebx
jne 0x44a58a
movzx eax, word [ebp - 0x24]
cmp eax, dword [ebp - 0xbc]
jle 0x44a5af
push ebp
call fcn.00449804
pop ecx
call fcn.00447290
inc dword [ebp - 0xbc]
dec edi
jne 0x44a57a
jmp 0x44b3a8
mov eax, dword [0x6755e4]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl 0x44b3a8
inc edi
xor esi, esi
movzx ebx, word [ebp - 0x24]
test ebx, ebx
jle 0x44a5e5
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
dec ebx
jne 0x44a5d9
inc esi
dec edi
jne 0x44a5d1
jmp 0x44b3a8
mov eax, dword [0x6727d4]
test byte [eax], 2
je 0x44b34b
cmp byte [0x675635], 0
je 0x44ac0e
mov eax, dword [0x675610]
and eax, 0x80000001
jns 0x44a61a
dec eax
or eax, 0xfffffffe
inc eax
test eax, eax
je 0x44a62f
mov eax, dword [0x6722d8]
mov eax, dword [eax]
call fcn.006233ec
jmp 0x44b3b2
mov edx, dword [0x6727d4]
mov edx, dword [edx + 8]
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
call fcn.00656bc4
mov dword [ebp - 0x9c], eax
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
mov edx, 4
call fcn.00656bd0
mov edx, dword [0x675604]
shr edx, 1
mov ecx, edx
cdq
idiv ecx
mov edx, eax
mov eax, 4
call fcn.00656b78
mov edx, 4
call fcn.00656bd0
mov dword [ebp - 0xcc], eax
call fcn.00651de8
mov dword [ebp - 0xa8], eax
call fcn.00651de8
mov dword [ebp - 0xac], eax
mov edi, dword [ebp - 0x9c]
dec edi
test edi, edi
jl 0x44a78e
inc edi
mov dword [ebp - 0xc0], 0
push ebp
mov eax, dword [ebp - 0xc0]
call fcn.0044a19c
pop ecx
mov ebx, dword [ebp - 0xa0]
shr ebx, 1
dec ebx
test ebx, ebx
jl 0x44a76f
inc ebx
xor esi, esi
test esi, 1
je 0x44a724
mov edx, dword [0x6727d4]
mov edx, dword [edx + 8]
imul edx, dword [ebp - 0xc0]
add edx, esi
mov eax, dword [ebp - 0xa8]
call fcn.00652038
mov edx, dword [0x6727d4]
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.00652038
jmp 0x44a767
mov edx, dword [0x6727d4]
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.00652038
mov edx, dword [0x6727d4]
mov edx, dword [edx + 8]
imul edx, dword [ebp - 0xc0]
add edx, esi
mov eax, dword [ebp - 0xa8]
call fcn.00652038
inc esi
dec ebx
jne 0x44a6d7
inc dword [ebp - 0xc0]
dec edi
jne 0x44a6b6
jmp 0x44a78e
mov edx, 0x7fffffff
mov eax, dword [ebp - 0xa8]
call fcn.00652038
mov edx, dword [0x675604]
add edx, edx
mov eax, dword [ebp - 0xa8]
mov ebx, dword [eax + 0x18]
mov eax, ebx
call fcn.00656bd0
cmp eax, ebx
jg 0x44a77e
mov edx, dword [0x675604]
add edx, edx
mov eax, dword [ebp - 0xa8]
mov eax, dword [eax + 0x18]
call fcn.00656bd0
cdq
idiv dword [0x675604]
mov edi, eax
dec edi
test edi, edi
jl 0x44a8ac
inc edi
mov dword [ebp - 0xd4], 0
mov ebx, dword [0x675604]
shr ebx, 1
dec ebx
test ebx, ebx
jl 0x44a89f
inc ebx
xor esi, esi
test byte [ebp - 0xd4], 1
je 0x44a834
mov eax, dword [0x675610]
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 [0x675610]
shr eax, 1
push eax
mov eax, esi
pop edx
push ecx
mov ecx, edx
cdq
idiv ecx
pop ecx
mov eax, dword [0x675610]
shr eax, 1
dec eax
sub eax, edx
add ecx, eax
mov dword [ebp - 0xd0], ecx
jmp 0x44a83a
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.00652038
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.00652038
inc esi
dec ebx
jne 0x44a7f1
inc dword [ebp - 0xd4]
dec edi
jne 0x44a7dd
call fcn.005093e8
movzx edx, word [ebp - 0x24]
mov ecx, dword [ebp - 0xac]
imul edx, dword [ecx + 0x18]
mov dword [eax + 0x278], edx
cmp byte [0x6755ec], 0
je 0x44a91f
call fcn.00447290
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44abf3
mov eax, dword [ebp - 0xac]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x44a917
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.0044a114
pop ecx
mov eax, esi
cdq
idiv dword [0x675604]
and al, 1
xor al, 1
mov byte [ebp - 0x79], al
inc esi
dec ebx
jne 0x44a8f0
dec edi
jne 0x44a8df
jmp 0x44abf3
mov eax, dword [0x6755e4]
cmp dword [eax + 0x18], 1
jne 0x44a952
call fcn.00447290
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44abf3
inc dword [ebp - 0x98]
push ebp
xor eax, eax
call fcn.0044a114
pop ecx
dec edi
jne 0x44a93b
jmp 0x44abf3
mov al, byte [0x6755ee]
shl eax, 0x10
mov ax, word [0x6755ec]
push eax
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
mov edx, dword [0x675604]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov edx, eax
imul edx, dword [0x6755fc]
xor ecx, ecx
mov eax, dword [0x6755cc]
call fcn.00447010
test al, al
je 0x44abf3
call fcn.00447290
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44aaf3
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44a9c5
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
jne 0x44aa58
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
cdq
idiv dword [0x675604]
dec eax
cmp eax, 0
jl 0x44aaec
mov dword [ebp - 0xd4], eax
test byte [ebp - 0xd4], 1
je 0x44a9fb
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44aa11
test byte [ebp - 0xd4], 1
jne 0x44aa44
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
jne 0x44aa44
mov ebx, dword [0x675604]
dec ebx
test ebx, ebx
jl 0x44aa44
inc ebx
xor esi, esi
push ebp
mov eax, dword [ebp - 0xd4]
imul dword [0x675604]
add eax, esi
mov edx, dword [ebp - 0xac]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
call fcn.0044a114
pop ecx
inc esi
dec ebx
jne 0x44aa1f
dec dword [ebp - 0xd4]
cmp dword [ebp - 0xd4], 0xffffffff
jne 0x44a9e5
jmp 0x44aaec
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
cdq
idiv dword [0x675604]
mov ebx, eax
dec ebx
test ebx, ebx
jl 0x44aaec
inc ebx
mov dword [ebp - 0xd4], 0
test byte [ebp - 0xd4], 1
je 0x44aa90
mov al, byte [0x44b680]
cmp al, byte [0x6755ee]
je 0x44aaa6
test byte [ebp - 0xd4], 1
jne 0x44aae3
mov al, byte [0x44b684]
cmp al, byte [0x6755ee]
jne 0x44aae3
mov eax, dword [0x675604]
dec eax
test eax, eax
jl 0x44aae3
inc eax
mov dword [ebp - 0xdc], eax
xor esi, esi
push ebp
mov eax, dword [ebp - 0xd4]
imul dword [0x675604]
add eax, esi
mov edx, dword [ebp - 0xac]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
call fcn.0044a114
pop ecx
inc esi
dec dword [ebp - 0xdc]
jne 0x44aab9
inc dword [ebp - 0xd4]
dec ebx
jne 0x44aa7a
dec edi
jne 0x44a9a7
push ebp
call fcn.00449804
pop ecx
mov al, byte [0x6755ee]
shl eax, 0x10
mov ax, word [0x6755ec]
push eax
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
mov edx, dword [0x675604]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov edx, eax
imul edx, dword [0x6755fc]
mov cl, 1
mov eax, dword [0x6755cc]
call fcn.00447010
test al, al
je 0x44abf3
call fcn.00447290
mov eax, dword [ebp - 0xac]
mov eax, dword [eax + 0x18]
cdq
idiv dword [0x675604]
dec eax
cmp eax, 0
jl 0x44abf3
mov dword [ebp - 0xd4], eax
test byte [ebp - 0xd4], 1
je 0x44ab86
mov al, byte [0x44b684]
cmp al, byte [0x6755ee]
je 0x44aba9
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
je 0x44aba9
test byte [ebp - 0xd4], 1
jne 0x44abe0
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44aba9
mov al, byte [0x44b680]
cmp al, byte [0x6755ee]
jne 0x44abe0
mov edi, dword [0x675604]
dec edi
test edi, edi
jl 0x44abe0
inc edi
xor esi, esi
push ebp
mov eax, dword [ebp - 0xd4]
imul dword [0x675604]
add eax, esi
mov edx, dword [ebp - 0xac]
mov edx, dword [edx + 0x1c]
mov eax, dword [edx + eax*4]
call fcn.0044a114
pop ecx
mov byte [ebp - 0x79], 1
inc esi
dec edi
jne 0x44abb7
dec dword [ebp - 0xd4]
cmp dword [ebp - 0xd4], 0xffffffff
jne 0x44ab63
mov eax, dword [ebp - 0xac]
call fcn.00652408
mov eax, dword [ebp - 0xa8]
call fcn.00652408
jmp 0x44b3a8
cmp byte [0x67562e], 0
jne 0x44aff3
mov eax, dword [0x6755e4]
cmp dword [eax + 0x18], 1
jne 0x44ac4e
call fcn.00447290
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44b3a8
inc dword [ebp - 0x98]
push ebp
xor eax, eax
call fcn.0044a114
pop ecx
dec edi
jne 0x44ac37
jmp 0x44b3a8
mov al, byte [0x6755ee]
shl eax, 0x10
mov ax, word [0x6755ec]
push eax
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
mov edx, 2
call fcn.00656bc4
mov edx, eax
imul edx, dword [0x6755fc]
xor ecx, ecx
mov eax, dword [0x6755cc]
call fcn.00447010
test al, al
je 0x44b3a8
call fcn.00447290
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44acb1
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
jne 0x44adba
test byte [ebp - 0x30], 0x10
je 0x44ad33
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44aeb7
mov eax, dword [0x6755e4]
test byte [eax + 0x18], 1
je 0x44ace4
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_EndPage
mov eax, dword [0x6755e4]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x44ad2b
test esi, 1
je 0x44ad07
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44ad1c
test esi, 1
jne 0x44ad25
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
jne 0x44ad25
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
dec esi
cmp esi, 0xffffffff
jne 0x44acf2
dec edi
jne 0x44acc3
jmp 0x44aeb7
mov eax, dword [0x6755e4]
test byte [eax + 0x18], 1
je 0x44ad5f
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44ad5f
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_EndPage
dec edi
jne 0x44ad46
mov eax, dword [0x6755e4]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x44aeb7
test esi, 1
je 0x44ad86
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44ad9b
test esi, 1
jne 0x44adaf
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
jne 0x44adaf
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44adaf
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
dec edi
jne 0x44ada3
dec esi
cmp esi, 0xffffffff
jne 0x44ad71
jmp 0x44aeb7
test byte [ebp - 0x30], 0x10
je 0x44ae39
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44aeb7
mov eax, dword [0x6755e4]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x44ae13
inc ebx
xor esi, esi
test esi, 1
je 0x44adf1
mov al, byte [0x44b680]
cmp al, byte [0x6755ee]
je 0x44ae06
test esi, 1
jne 0x44ae0f
mov al, byte [0x44b684]
cmp al, byte [0x6755ee]
jne 0x44ae0f
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
inc esi
dec ebx
jne 0x44addc
mov eax, dword [0x6755e4]
test byte [eax + 0x18], 1
je 0x44ae34
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_EndPage
dec edi
jne 0x44adcc
jmp 0x44aeb7
mov eax, dword [0x6755e4]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl 0x44ae8b
inc edi
xor esi, esi
test esi, 1
je 0x44ae5e
mov al, byte [0x44b680]
cmp al, byte [0x6755ee]
je 0x44ae73
test esi, 1
jne 0x44ae87
mov al, byte [0x44b684]
cmp al, byte [0x6755ee]
jne 0x44ae87
movzx ebx, word [ebp - 0x24]
test ebx, ebx
jle 0x44ae87
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
dec ebx
jne 0x44ae7b
inc esi
dec edi
jne 0x44ae49
mov eax, dword [0x6755e4]
test byte [eax + 0x18], 1
je 0x44aeb7
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44aeb7
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_EndPage
dec edi
jne 0x44ae9e
push ebp
call fcn.00449804
pop ecx
mov al, byte [0x6755ee]
shl eax, 0x10
mov ax, word [0x6755ec]
push eax
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
mov edx, 2
call fcn.00656bc4
mov edx, eax
imul edx, dword [0x6755fc]
mov cl, 1
mov eax, dword [0x6755cc]
call fcn.00447010
test al, al
je 0x44b3a8
call fcn.00447290
test byte [ebp - 0x30], 0x10
je 0x44af7e
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44b3a8
mov eax, dword [0x6755e4]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x44af76
test esi, 1
je 0x44af45
mov al, byte [0x44b684]
cmp al, byte [0x6755ee]
je 0x44af67
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
je 0x44af67
test esi, 1
jne 0x44af70
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44af67
mov al, byte [0x44b680]
cmp al, byte [0x6755ee]
jne 0x44af70
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
dec esi
cmp esi, 0xffffffff
jne 0x44af23
dec edi
jne 0x44af15
jmp 0x44b3a8
mov eax, dword [0x6755e4]
mov esi, dword [eax + 0x18]
dec esi
cmp esi, 0
jl 0x44b3a8
test esi, 1
je 0x44afb2
mov al, byte [0x44b684]
cmp al, byte [0x6755ee]
je 0x44afd4
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
je 0x44afd4
test esi, 1
jne 0x44afe8
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44afd4
mov al, byte [0x44b680]
cmp al, byte [0x6755ee]
jne 0x44afe8
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44afe8
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
dec edi
jne 0x44afdc
dec esi
cmp esi, 0xffffffff
jne 0x44af90
jmp 0x44b3a8
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
cmp eax, dword [0x675604]
jg 0x44b039
call fcn.00447290
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44b3a8
mov eax, dword [0x6755e4]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x44b031
inc ebx
xor esi, esi
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
inc esi
dec ebx
jne 0x44b024
dec edi
jne 0x44b014
jmp 0x44b3a8
mov al, byte [0x6755ee]
shl eax, 0x10
mov ax, word [0x6755ec]
push eax
mov edx, dword [0x675604]
add edx, edx
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
call fcn.00656bc4
mov edx, eax
imul edx, dword [0x6755fc]
xor ecx, ecx
mov eax, dword [0x6755cc]
call fcn.00447010
test al, al
je 0x44b3a8
call fcn.00447290
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
mov edx, dword [0x675604]
call fcn.00656bc4
mov dword [ebp - 0xc8], eax
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44b0b8
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
jne 0x44b185
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44b255
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
mov edx, dword [0x675604]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov eax, edx
mov ecx, dword [0x675604]
mov edx, 1
call fcn.00656b98
test al, al
je 0x44b105
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_EndPage
mov eax, dword [ebp - 0xc8]
dec eax
cmp eax, 0
jl 0x44b179
mov dword [ebp - 0xc4], eax
test byte [ebp - 0xc4], 1
je 0x44b12d
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44b143
test byte [ebp - 0xc4], 1
jne 0x44b16a
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
jne 0x44b16a
mov ebx, dword [0x675604]
dec ebx
test ebx, ebx
jl 0x44b16a
inc ebx
xor esi, esi
push ebp
mov eax, dword [ebp - 0xc4]
imul dword [0x675604]
add eax, esi
call fcn.0044a114
pop ecx
inc esi
dec ebx
jne 0x44b151
dec dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], 0xffffffff
jne 0x44b117
dec edi
jne 0x44b0c4
jmp 0x44b255
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44b255
mov ebx, dword [ebp - 0xc8]
dec ebx
test ebx, ebx
jl 0x44b20d
inc ebx
mov dword [ebp - 0xc4], 0
test byte [ebp - 0xc4], 1
je 0x44b1bd
mov al, byte [0x44b680]
cmp al, byte [0x6755ee]
je 0x44b1d3
test byte [ebp - 0xc4], 1
jne 0x44b204
mov al, byte [0x44b684]
cmp al, byte [0x6755ee]
jne 0x44b204
mov eax, dword [0x675604]
dec eax
test eax, eax
jl 0x44b204
inc eax
mov dword [ebp - 0xdc], eax
xor esi, esi
push ebp
mov eax, dword [ebp - 0xc4]
imul dword [0x675604]
add eax, esi
call fcn.0044a114
pop ecx
inc esi
dec dword [ebp - 0xdc]
jne 0x44b1e6
inc dword [ebp - 0xc4]
dec ebx
jne 0x44b1a7
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
mov edx, dword [0x675604]
add edx, edx
mov ecx, edx
cdq
idiv ecx
mov eax, edx
mov ecx, dword [0x675604]
mov edx, 1
call fcn.00656b98
test al, al
je 0x44b24e
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_StartPage
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_EndPage
dec edi
jne 0x44b191
push ebp
call fcn.00449804
pop ecx
mov al, byte [0x6755ee]
shl eax, 0x10
mov ax, word [0x6755ec]
push eax
mov edx, dword [0x675604]
add edx, edx
mov eax, dword [0x6755e4]
mov eax, dword [eax + 0x18]
call fcn.00656bc4
mov edx, eax
imul edx, dword [0x6755fc]
mov cl, 1
mov eax, dword [0x6755cc]
call fcn.00447010
test al, al
je 0x44b3a8
call fcn.00447290
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44b3a8
mov eax, dword [ebp - 0xc8]
dec eax
cmp eax, 0
jl 0x44b342
mov dword [ebp - 0xc4], eax
test byte [ebp - 0xc4], 1
je 0x44b2e9
mov al, byte [0x44b684]
cmp al, byte [0x6755ee]
je 0x44b30c
mov al, byte [0x44b67c]
cmp al, byte [0x6755ee]
je 0x44b30c
test byte [ebp - 0xc4], 1
jne 0x44b333
mov al, byte [0x44b678]
cmp al, byte [0x6755ee]
je 0x44b30c
mov al, byte [0x44b680]
cmp al, byte [0x6755ee]
jne 0x44b333
mov ebx, dword [0x675604]
dec ebx
test ebx, ebx
jl 0x44b333
inc ebx
xor esi, esi
push ebp
mov eax, dword [ebp - 0xc4]
imul dword [0x675604]
add eax, esi
call fcn.0044a114
pop ecx
inc esi
dec ebx
jne 0x44b31a
dec dword [ebp - 0xc4]
cmp dword [ebp - 0xc4], 0xffffffff
jne 0x44b2c6
dec edi
jne 0x44b2b0
jmp 0x44b3a8
call fcn.00447290
test byte [ebp - 0x30], 0x10
je 0x44b380
movzx edi, word [ebp - 0x24]
test edi, edi
jle 0x44b3a8
mov eax, dword [0x6755e4]
mov ebx, dword [eax + 0x18]
dec ebx
test ebx, ebx
jl 0x44b37b
inc ebx
xor esi, esi
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
inc esi
dec ebx
jne 0x44b36e
dec edi
jne 0x44b35e
jmp 0x44b3a8
mov eax, dword [0x6755e4]
mov edi, dword [eax + 0x18]
dec edi
test edi, edi
jl 0x44b3a8
inc edi
xor esi, esi
movzx ebx, word [ebp - 0x24]
test ebx, ebx
jle 0x44b3a4
push ebp
mov eax, esi
call fcn.0044a114
pop ecx
dec ebx
jne 0x44b398
inc esi
dec edi
jne 0x44b390
cmp dword [0x675600], 0
setg bl
push ebp
call fcn.00449804
pop ecx
call fcn.005093e8
mov dl, 1
call fcn.005068d4
mov eax, dword [0x6755f0]
push eax
call sub.gdi32.dll_DeleteDC
lea eax, [ebp - 0x3c]
call fcn.006565b4
lea eax, [ebp - 0x38]
call fcn.006565b4
mov eax, dword [0x6726c4]
xor edx, edx
mov dword [eax], edx
cmp byte [0x675635], 0
jne 0x44b3fc
mov eax, dword [0x673118]
cmp byte [eax], 0
je 0x44b415
mov eax, dword [0x6727d4]
and byte [eax], 0xfd
cmp byte [0x675636], 0
je 0x44b415
mov eax, dword [0x6727d4]
or byte [eax], 2
cmp byte [0x67562e], 0
je 0x44b437
mov eax, dword [0x6727d4]
and byte [eax], 0xfe
cmp byte [0x675637], 0
je 0x44b437
mov eax, dword [0x6727d4]
or byte [eax], 1
mov byte [0x6755d9], 0
mov eax, dword [0x671bac]
mov eax, dword [eax]
call fcn.00627fbc
mov edx, dword [0x6755f4]
mov eax, dword [0x6755e0]
call fcn.00564fb0
mov edx, 3
mov eax, dword [0x6755e0]
call fcn.00567fe0
mov eax, dword [0x6755e0]
cmp eax, dword [ebp - 0x48]
je 0x44b49f
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 [0x672b78]
mov eax, dword [eax]
push eax
call sub.user32.dll_EnableWindow
mov eax, dword [0x6723cc]
mov byte [eax + 0xa], 1
mov dl, 0x18
mov eax, dword [ebp - 0x48]
call fcn.00567f08
call fcn.0053d558
mov eax, dword [ebp - 0x48]
call fcn.00567fbc
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x174]
mov edx, dword [eax]
call dword [edx + 0x68]
call fcn.004485e4
mov eax, dword [0x6755d0]
push eax
call sub.winspool.drv_ClosePrinter
mov eax, dword [0x6755e8]
call fcn.004028c0
mov eax, dword [0x6755e4]
call fcn.00652408
mov eax, dword [0x6755c8]
call fcn.004028c0
mov dl, byte [ebp - 0xd5]
mov eax, dword [ebp - 0x48]
call fcn.00565ce0
cmp byte [ebp - 0xd6], 0
je 0x44b52b
mov eax, 0x1fae
call fcn.004e5968
test bl, bl
je 0x44b645
mov eax, dword [0x6719d0]
mov eax, dword [eax]
mov cl, 0xd
mov dl, 3
call fcn.00623608
cmp ax, 6
jne 0x44b645
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x13c]
mov edx, dword [eax + 0x18]
sub edx, dword [0x675600]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + edx*4]
mov dl, byte [0x44b67c]
call fcn.0055bd7c
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.00652098
mov dl, byte [0x44b67c]
call fcn.0055bdf0
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 [0x44b67c]
push eax
mov ecx, ebx
mov esi, dword [ebp - 0xec]
mov edx, esi
mov eax, dword [ebp - 0x48]
call fcn.005c32e0
push esi
push ebx
mov al, byte [0x44b67c]
push eax
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0x48]
call fcn.005c5d28
mov eax, 0x4b0
call fcn.004e5968
lea edx, [ebp - 0x150]
mov eax, dword [ebp - 0x48]
call fcn.005c8b04
lea esi, [ebp - 0x140]
lea edi, [ebp - 0x12c]
mov ecx, 4
rep movsd dword es:[edi], dword [esi]
push 0x7fffffff
mov al, byte [0x44b688]
push eax
mov ecx, dword [ebp - 0x128]
dec ecx
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x48]
call fcn.005c32e0
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x174]
mov edx, dword [eax]
call dword [edx + 0x68]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x44b670
lea eax, [ebp - 0x130]
call fcn.00403274
lea eax, [ebp - 0xb8]
call fcn.00403880
ret