Function at 0x4050d0
Capabilities:
Encode data using xor
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c0
push esi
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
movzx eax, word [0x41b004]
sub eax, 0xa81
mov word [0x41b004], ax
mov dword [ebp - 0x2fc], 0xffdf
movzx ecx, word [0x41b004]
mov dword [ebp - 0x388], ecx
cmp dword [ebp - 0x388], 0x81e
je 0x40513c
cmp dword [ebp - 0x388], 0x9fa
je 0x405127
jmp 0x405163
push 0x2f
push 0x2f
mov edx, 0xd2
mov ecx, 0xfc
call fcn.004085c0
jmp 0x405163
movzx edx, word [0x41b004]
push edx
movzx eax, word [0x41b004]
push eax
push 0x41
movzx ecx, word [0x41b004]
push ecx
push 0xb7
call fcn.00404ff0
add esp, 0x14
mov dword [ebp - 0xb8], 0xdda3
movzx edx, word [0x41b004]
mov dword [ebp - 0x38c], edx
cmp dword [ebp - 0x38c], 0xf9e9
je 0x40518b
jmp 0x408423
mov dword [0x771654], 0x92e
mov ax, word [0x41b004]
mov word [ebp - 0x60], ax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov byte [ebp - 0x289], 0x72
mov ecx, 0xa3
mov word [ebp - 0x340], cx
cmp dword [ebp - 0x2fc], 0x1154e
je 0x40549a
movzx edx, byte [ebp - 0x289]
and edx, 0x7d
mov byte [ebp - 0x289], dl
movzx eax, word [0x41b004]
sub eax, 0xf89
mov word [ebp - 0x60], ax
movsx ecx, word [ebp - 0x340]
add ecx, 0x12e
mov word [ebp - 0x340], cx
movzx edx, word [ebp - 0x60]
add edx, 0x9b5
mov word [0x41b004], dx
movsx eax, word [ebp - 0x340]
sub eax, 0x61d
mov word [ebp - 0x340], ax
movzx ecx, word [0x41b004]
or ecx, 0x460
mov word [ebp - 0x60], cx
movzx edx, word [0x41b004]
shl edx, 0xa
mov word [ebp - 0x60], dx
movsx eax, word [ebp - 0x340]
sar eax, 0xd
mov word [ebp - 0x340], ax
movzx ecx, byte [ebp - 0x289]
xor ecx, 0xce
mov byte [ebp - 0x289], cl
movsx edx, word [ebp - 0x340]
and edx, 0x28c
mov word [ebp - 0x340], dx
movzx eax, word [ebp - 0x60]
sub eax, 0x85c
mov word [0x41b004], ax
movzx ecx, word [0x41b004]
add ecx, 0x959
mov word [ebp - 0x60], cx
movzx edx, word [0x41b004]
sub edx, 0xd9f
mov word [ebp - 0x60], dx
movzx eax, byte [ebp - 0x289]
add eax, 0xd8
mov byte [ebp - 0x289], al
movsx ecx, word [ebp - 0x340]
and ecx, 0x4c8
mov word [ebp - 0x340], cx
movzx edx, word [0x41b004]
sub edx, 0x29a
mov word [ebp - 0x60], dx
movzx eax, byte [ebp - 0x289]
add eax, 0xf6
mov byte [ebp - 0x289], al
movsx ecx, word [ebp - 0x340]
sub ecx, 0x4d5
mov word [ebp - 0x340], cx
movsx edx, word [ebp - 0x340]
add edx, 0x6bd
mov word [ebp - 0x340], dx
movzx eax, word [0x41b004]
sar eax, 0xf
mov word [ebp - 0x60], ax
movzx ecx, byte [ebp - 0x289]
shl ecx, 5
mov byte [ebp - 0x289], cl
movzx edx, byte [ebp - 0x289]
xor edx, 0x8b
mov byte [ebp - 0x289], dl
movsx eax, word [ebp - 0x340]
or eax, 0x6e2
mov word [ebp - 0x340], ax
movsx ecx, word [ebp - 0x340]
and ecx, 0x25d
mov word [ebp - 0x340], cx
movzx edx, byte [ebp - 0x289]
sub edx, 0x52
mov byte [ebp - 0x289], dl
movzx eax, word [ebp - 0x60]
add eax, 0x16e
mov word [0x41b004], ax
movzx ecx, byte [ebp - 0x289]
add ecx, 0xfe
mov byte [ebp - 0x289], cl
movzx edx, word [0x41b004]
sub edx, 0x49b
mov word [ebp - 0x60], dx
movzx eax, byte [ebp - 0x289]
add eax, 0x70
mov byte [ebp - 0x289], al
movsx ecx, word [ebp - 0x340]
and ecx, 0x6ad
mov word [ebp - 0x340], cx
mov edx, dword [ebp - 0x2fc]
add edx, 0x3b
mov dword [ebp - 0x2fc], edx
movzx eax, word [0x41b004]
sub eax, 0xe86
mov word [ebp - 0x60], ax
movsx ecx, word [ebp - 0x340]
sub ecx, 0x53f
mov word [ebp - 0x340], cx
movsx edx, word [ebp - 0x340]
add edx, 0x1cb
mov word [ebp - 0x340], dx
mov eax, dword [0x771654]
xor eax, 0xa869
mov dword [0x771654], eax
movzx ecx, byte [ebp - 0x289]
or ecx, 0xc9
mov byte [ebp - 0x289], cl
movzx edx, byte [ebp - 0x289]
shl edx, 2
mov byte [ebp - 0x289], dl
mov dword [ebp - 0x208], 0x11c
movsx eax, word [ebp - 0x340]
sar eax, 3
mov word [ebp - 0x340], ax
movsx ecx, word [ebp - 0x340]
and ecx, 0x473
mov word [ebp - 0x340], cx
movzx edx, word [0x41b004]
add edx, 0x93f
mov word [ebp - 0x60], dx
jmp 0x4051bc
mov eax, dword [0x7705c8]
sub eax, 0x5638
mov dword [0x7705c8], eax
cmp dword [0x7705c8], 0x14f8
jl 0x4054db
movzx ecx, byte [ebp - 0x289]
add ecx, 0x10
mov byte [ebp - 0x289], cl
movzx edx, word [0x41b004]
sub edx, 0x5a9
mov word [ebp - 0x60], dx
jmp 0x405563
movzx eax, byte [ebp - 0x289]
cmp eax, 0x67
jge 0x405508
movsx ecx, word [ebp - 0x340]
add ecx, 0x1e6
mov word [ebp - 0x340], cx
push 0x1b
push 0x7c
push 0x5f
push 0xd
call fcn.00405060
mov edx, dword [0x7705c8]
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x2f4], 0x242f
movzx eax, word [ebp - 0x60]
mov dword [ebp - 0x390], eax
cmp dword [ebp - 0x390], 0xb98
je 0x405536
jmp 0x405559
mov ecx, dword [0x7705c8]
push ecx
call fcn.00405020
add esp, 4
movsx edx, word [ebp - 0x340]
sub edx, 0x2e9
mov word [ebp - 0x340], dx
mov dword [ebp - 0x258], 0xddf6
cmp dword [0x771654], 0x589a
jbe 0x4083d8
cmp dword [ebp - 0x258], 0xc43c
jbe 0x405701
movzx eax, word [0x41b004]
xor eax, 0x6e6
mov word [ebp - 0x60], ax
movzx ecx, word [0x41b004]
sar ecx, 8
mov word [ebp - 0x60], cx
movsx edx, word [ebp - 0x340]
shl edx, 4
mov word [ebp - 0x340], dx
movsx eax, word [ebp - 0x340]
or eax, 0x50d
mov word [ebp - 0x340], ax
mov ecx, dword [0x7705c8]
sub ecx, 0x3ce
mov dword [ebp - 0x26c], ecx
movzx edx, byte [ebp - 0x289]
and edx, 0x9a
mov byte [ebp - 0x289], dl
mov eax, dword [0x7705c8]
add eax, 0x682b
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x258]
sub ecx, 0xb2
mov dword [ebp - 0x258], ecx
mov edx, dword [0x7705c8]
sub edx, 0x3346
mov dword [ebp - 0x26c], edx
mov eax, dword [0x7705c8]
add eax, 0x682a
mov dword [ebp - 0x26c], eax
movzx ecx, word [0x41b004]
sub ecx, 0xb4f
mov word [ebp - 0x60], cx
mov edx, dword [ebp - 0x26c]
sub edx, 0x215
mov dword [0x7705c8], edx
movzx eax, byte [ebp - 0x289]
add eax, 0xa5
mov byte [ebp - 0x289], al
mov ecx, dword [0x7705c8]
sub ecx, 0xf05
mov dword [ebp - 0x26c], ecx
mov edx, dword [0x7705c8]
and edx, 0x1964
mov dword [ebp - 0x26c], edx
mov eax, dword [0x7705c8]
or eax, 0x216b
mov dword [ebp - 0x26c], eax
mov ecx, dword [0x7705c8]
shl ecx, 0x13
mov dword [ebp - 0x26c], ecx
movzx edx, word [0x41b004]
xor edx, 0x99e
mov word [ebp - 0x60], dx
movzx eax, byte [ebp - 0x289]
sar eax, 7
mov byte [ebp - 0x289], al
movzx ecx, word [ebp - 0x60]
add ecx, 0x360
mov word [0x41b004], cx
movzx edx, word [0x41b004]
add edx, 0x46d
mov word [ebp - 0x60], dx
movsx eax, word [ebp - 0x340]
and eax, 0x7f4
mov word [ebp - 0x340], ax
jmp 0x405573
mov cl, byte [ebp - 0x289]
mov byte [ebp - 0x25], cl
mov dword [ebp - 0xa0], 0x41b004
lea edx, [ebp - 0x26c]
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0xa0]
movzx ecx, word [eax]
mov dword [ebp - 0x394], ecx
cmp dword [ebp - 0x394], 0xc6
je 0x405750
cmp dword [ebp - 0x394], 0x68d0
je 0x4057ec
jmp 0x40839a
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
add eax, dword [ebp - 0x26c]
mov dword [0x7705c8], eax
movzx ecx, word [0x41b004]
mov edx, dword [ebp - 0xa0]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x60], cx
lea ecx, [ebp - 0x280]
push ecx
push 0xd9
push 0x6e
mov edx, dword [ebp - 0x384]
push edx
call sub.WINSPOOL.DRV_FindFirstPrinterChangeNotification
mov dword [ebp - 0x374], eax
mov eax, dword [0x7705c8]
add eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x21c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
sub eax, dword [0x7705c8]
mov ecx, dword [ebp - 0x21c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
sub eax, dword [0x7705c8]
mov dword [ebp - 0x26c], eax
movsx ecx, word [ebp - 0x340]
sar ecx, 0xe
mov word [ebp - 0x340], cx
jmp 0x40839a
mov dl, byte [ebp - 0x289]
mov byte [ebp - 0x209], dl
mov ax, word [ebp - 0x60]
mov word [ebp - 0x20], ax
movsx ecx, word [ebp - 0x340]
or ecx, 0x2c0
mov word [0x7705cc], cx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
mov dword [ebp - 8], eax
mov dword [ebp - 0x3c], 0x7705c8
movzx ecx, byte [ebp - 0x209]
movzx edx, byte [ebp - 0x289]
xor ecx, edx
mov byte [ebp - 0x25], cl
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 8]
shl eax, cl
mov ecx, dword [ebp - 0x21c]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x209]
movzx eax, byte [ebp - 0x289]
and edx, eax
mov byte [ebp - 0x25], dl
movzx ecx, word [0x41b004]
mov edx, dword [ebp - 0xa0]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x20], cx
mov ecx, dword [ebp - 8]
sub ecx, dword [0x7705c8]
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0xb8]
sub edx, 0xf2
mov dword [ebp - 0xb8], edx
movzx eax, byte [ebp - 0x209]
movzx ecx, byte [ebp - 0x289]
and eax, ecx
mov byte [ebp - 0x25], al
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3c]
add eax, dword [ecx]
mov edx, dword [ebp - 0x21c]
mov dword [edx], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3c]
add ecx, dword [edx]
mov dword [ebp - 0x26c], ecx
movzx eax, word [ebp - 0x20]
movzx ecx, word [ebp - 0x60]
sub eax, ecx
mov edx, dword [ebp - 0xa0]
mov word [edx], ax
movzx eax, byte [ebp - 0x25]
movzx ecx, byte [ebp - 0x289]
add eax, ecx
mov byte [ebp - 0x209], al
movsx edx, word [0x7705cc]
sub edx, 0x790
mov word [ebp - 0x340], dx
movsx eax, word [0x7705cc]
shl eax, 1
mov word [ebp - 0x340], ax
cmp dword [ebp - 0xb8], 0xbaa9
ja 0x405830
movsx ecx, word [ebp - 0x340]
xor ecx, 7
movsx edx, word [0x7705cc]
cmp ecx, edx
jg 0x4059bc
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [eax]
and edx, dword [ecx]
mov dword [ebp - 8], edx
movsx eax, word [0x7705cc]
sub eax, 0x6fb
mov word [ebp - 0x340], ax
lea ecx, [ebp - 0x384]
push ecx
push 0xd2
push 0xf3
mov edx, dword [ebp - 0x370]
push edx
call sub.WINSPOOL.DRV_FindFirstPrinterChangeNotification
mov dword [ebp - 0x374], eax
mov eax, dword [ebp - 0xa0]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x20]
add ecx, edx
mov eax, dword [ebp - 0xa0]
mov word [eax], cx
mov ecx, dword [ebp - 0x26c]
push ecx
call fcn.00405020
add esp, 4
jmp 0x40831f
mov edx, dword [ebp - 0xa0]
movzx ecx, word [edx]
movzx edx, word [ebp - 0x60]
or ecx, edx
movzx eax, word [0x41b004]
movzx esi, word [ebp - 0x20]
cdq
idiv esi
cmp ecx, eax
jl 0x40831f
movzx eax, byte [ebp - 0x289]
movzx ecx, byte [ebp - 0x25]
add eax, ecx
mov byte [ebp - 0x209], al
mov edx, dword [ebp - 8]
mov dword [ebp - 0x2c], edx
movzx eax, byte [ebp - 0x25]
movzx ecx, byte [ebp - 0x209]
sub eax, ecx
movzx edx, byte [ebp - 0x289]
cmp eax, edx
je 0x405a58
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0x2ec], 0x1a21
mov edx, dword [ebp - 0xa0]
mov ax, word [edx]
mov word [0x771648], ax
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x2c]
or eax, dword [edx]
mov ecx, dword [ebp - 0x29c]
mov dword [ecx], eax
push 0x417374
call dword [sym.imp.KERNEL32.dll_AddAtomW]
mov word [ebp - 0x80], ax
lea edx, [ebp - 0x340]
mov dword [ebp - 0xb4], edx
mov dword [ebp - 0x34], 0x1e2e
mov eax, dword [ebp - 0xb4]
movsx edx, word [eax]
movsx ecx, word [0x7705cc]
shl edx, cl
mov word [ebp - 0x340], dx
movzx eax, word [0x41b004]
movzx ecx, word [ebp - 0x20]
sar eax, cl
mov ecx, dword [ebp - 0xa0]
mov word [ecx], ax
movzx edx, word [ebp - 0x20]
movzx eax, word [0x771648]
xor edx, eax
mov ecx, dword [ebp - 0xa0]
mov word [ecx], dx
mov edx, dword [ebp - 0xb4]
movsx eax, word [edx]
movsx ecx, word [0x7705cc]
and eax, ecx
mov word [ebp - 0x340], ax
mov edx, dword [ebp - 0x2c]
sub edx, dword [ebp - 0x26c]
mov dword [0x7705c8], edx
movzx eax, word [ebp - 0x60]
mov ecx, dword [ebp - 0xa0]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x20], ax
movzx eax, byte [ebp - 0x209]
movzx ecx, byte [ebp - 0x289]
sub eax, ecx
mov byte [ebp - 0x25], al
movsx edx, word [0x7705cc]
mov eax, dword [ebp - 0xb4]
movsx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x340], dx
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x21c]
add eax, dword [ecx]
mov edx, dword [ebp - 0x29c]
mov dword [edx], eax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x29c]
mov edx, dword [eax]
and edx, dword [ecx]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0xb4]
movsx ecx, word [eax]
movsx edx, word [0x7705cc]
sub ecx, edx
mov word [ebp - 0x340], cx
mov eax, dword [ebp - 0xa0]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x60]
add ecx, edx
mov eax, dword [ebp - 0xa0]
mov word [eax], cx
movzx ecx, byte [ebp - 0x289]
movzx edx, byte [ebp - 0x25]
sub ecx, edx
mov byte [ebp - 0x209], cl
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xa8]
shl eax, cl
mov dword [0x7705c8], eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x21c]
mov eax, dword [ecx]
or eax, dword [edx]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
movsx edx, word [0x7705cc]
mov eax, dword [ebp - 0xb4]
movsx ecx, word [eax]
xor edx, ecx
mov word [ebp - 0x340], dx
mov edx, dword [ebp - 0xb4]
movsx eax, word [edx]
movsx ecx, word [0x7705cc]
sar eax, cl
mov word [ebp - 0x340], ax
movzx ecx, byte [ebp - 0x25]
movzx edx, byte [ebp - 0x209]
and ecx, edx
mov byte [ebp - 0x289], cl
mov eax, dword [ebp - 0xa0]
movzx ecx, word [eax]
movzx edx, word [0x771648]
add ecx, edx
mov word [ebp - 0x20], cx
mov eax, dword [ebp - 0xb4]
movsx ecx, word [eax]
movsx edx, word [0x7705cc]
sub ecx, edx
mov word [ebp - 0x340], cx
movsx eax, word [0x7705cc]
mov ecx, dword [ebp - 0xb4]
movsx edx, word [ecx]
add eax, edx
mov word [ebp - 0x340], ax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 8]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0x34]
add edx, 0xf4
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x29c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0xa8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xa0]
movzx eax, word [edx]
movzx ecx, word [0x771648]
and eax, ecx
mov word [ebp - 0x60], ax
movzx edx, byte [ebp - 0x289]
movzx eax, byte [ebp - 0x25]
sub edx, eax
mov byte [ebp - 0x209], dl
movsx edx, word [ebp - 0x340]
movsx ecx, word [0x7705cc]
shl edx, cl
mov eax, dword [ebp - 0xb4]
mov word [eax], dx
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 8]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [eax]
or edx, dword [ecx]
mov dword [ebp - 0x26c], edx
lea eax, [ebp - 0x2cc]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
movzx ecx, byte [ebp - 0x289]
movzx edx, byte [ebp - 0x25]
xor ecx, edx
mov byte [ebp - 0x209], cl
movzx eax, word [ebp - 0x60]
movzx ecx, word [ebp - 0x20]
sub eax, ecx
mov edx, dword [ebp - 0xa0]
mov word [edx], ax
movzx eax, byte [ebp - 0x209]
movzx ecx, byte [ebp - 0x25]
and eax, ecx
mov byte [ebp - 0x289], al
mov edx, dword [ebp - 0xb4]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x340]
sub eax, ecx
mov word [0x7705cc], ax
movsx edx, word [ebp - 0x340]
movsx eax, word [0x7705cc]
add edx, eax
mov ecx, dword [ebp - 0xb4]
mov word [ecx], dx
movsx edx, word [0x7705cc]
mov eax, dword [ebp - 0xb4]
movsx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x340], dx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
add eax, dword [edx]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x21c]
mov dword [eax], edx
movzx ecx, word [ebp - 0x60]
movzx edx, word [0x41b004]
sub ecx, edx
mov word [ebp - 0x20], cx
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 8]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x21c]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x289]
movzx ecx, byte [ebp - 0x25]
and eax, ecx
mov byte [ebp - 0x209], al
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 4], eax
mov edx, dword [ebp - 0x26c]
mov ecx, dword [0x7705c8]
shl edx, cl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x26c]
sar eax, cl
mov dword [0x7705c8], eax
mov ecx, dword [ebp - 0xa0]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x20]
or edx, eax
mov ecx, dword [ebp - 0xa0]
mov word [ecx], dx
movsx edx, word [ebp - 0x340]
movsx eax, word [0x7705cc]
xor edx, eax
mov ecx, dword [ebp - 0xb4]
mov word [ecx], dx
push 0
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
mov edx, dword [ebp - 0xa0]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x60]
add eax, ecx
mov edx, dword [ebp - 0xa0]
mov word [edx], ax
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x2c]
add ecx, dword [eax]
mov edx, dword [ebp - 0x21c]
mov dword [edx], ecx
cmp dword [ebp - 0x34], 0x711a
jne 0x405a7a
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
and eax, dword [0x7705c8]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
mov dword [ebp - 0x234], edx
movzx eax, byte [ebp - 0x25]
movzx ecx, byte [ebp - 0x289]
sub eax, ecx
mov byte [0x41b006], al
movzx edx, word [0x771648]
mov dword [ebp - 0x398], edx
cmp dword [ebp - 0x398], 0x6d3d
je 0x405ec4
jmp 0x405f0b
mov eax, dword [ebp - 0xb4]
mov cx, word [eax]
mov word [ebp - 0x10], cx
lea edx, [ebp - 0x60]
mov dword [ebp - 0x50], edx
movzx eax, byte [ebp - 0x25]
movzx ecx, byte [ebp - 0x209]
sub eax, ecx
mov byte [ebp - 0x289], al
mov edx, dword [0x771654]
mov dword [ebp - 0x88], edx
mov eax, dword [0x771654]
mov dword [ebp - 0x64], eax
mov cx, word [ebp - 0x60]
mov word [ebp - 0x270], cx
jmp 0x405f55
movzx edx, byte [ebp - 0x209]
movzx eax, byte [ebp - 0x289]
add edx, eax
mov byte [ebp - 0x25], dl
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0xc8]
sub edx, dword [ecx]
mov dword [ebp - 0xa8], edx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0xa0]
mov cx, word [eax]
call fcn.00408570
movzx ecx, word [ebp - 0x60]
mov edx, dword [ebp - 0x50]
movzx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0xa0]
mov word [edx], cx
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_IsProcessInJob]
mov eax, dword [0x7705c8]
add eax, dword [ebp - 0x26c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x23c], ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessVersion]
lea edx, [ebp - 0x60]
mov dword [ebp - 0x290], edx
lea eax, [ebp - 0x289]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x234]
add edx, dword [ebp - 0x26c]
mov dword [ebp - 0x23c], edx
lea eax, [ebp - 0x10]
mov dword [ebp - 0x22c], eax
movsx ecx, word [ebp - 0x10]
mov dword [ebp - 0x39c], ecx
cmp dword [ebp - 0x39c], 0x329
je 0x405fd1
jmp 0x406043
mov edx, dword [ebp - 0x78]
movzx eax, byte [edx]
movzx ecx, byte [0x41b006]
shl eax, cl
mov byte [ebp - 0x209], al
mov ecx, dword [ebp - 0x88]
xor ecx, dword [ebp - 0xac]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xc8]
mov ecx, dword [edx]
sar eax, cl
mov dword [ebp - 8], eax
mov ecx, dword [0x7705c8]
and ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x21c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x88]
sub eax, dword [ebp - 0x64]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x21c]
add edx, dword [eax]
mov dword [ebp - 0xc8], edx
jmp 0x4082ed
mov ecx, dword [ebp - 0x88]
and ecx, dword [0x771654]
mov edx, dword [ebp - 0xac]
imul edx, dword [ebp - 0x64]
cmp ecx, edx
ja 0x4060ab
lea eax, [ebp - 0x20]
mov dword [ebp - 0x6c], eax
lea ecx, [ebp - 0x289]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x29c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x3c]
mov dword [edx], ecx
lea eax, [ebp - 0x88]
mov dword [ebp - 0x25c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x29c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x234], eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x94], ecx
jmp 0x4060d9
mov edx, dword [ebp - 0xac]
add edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x88]
sub eax, dword [0x771654]
cmp edx, eax
jne 0x4060d9
mov ecx, dword [ebp - 0x78]
movzx edx, byte [ecx]
movzx eax, byte [0x41b006]
add edx, eax
mov byte [ebp - 0x209], dl
movzx edx, word [ebp - 0x20]
movzx ecx, word [ebp - 0x60]
shl edx, cl
mov word [ebp - 0x270], dx
mov eax, dword [ebp - 0x88]
xor edx, edx
div dword [ebp - 0x64]
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx]
xor edx, dword [ebp - 0xac]
cmp eax, edx
je 0x40824c
lea eax, [ebp - 0x209]
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx]
mov dword [ebp - 0x30c], edx
mov eax, dword [ebp - 0xa8]
and eax, dword [ebp - 8]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x234]
mov dword [ebp - 0x2c], edx
lea eax, [ebp - 0x64]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x338]
mov dl, byte [ecx]
mov byte [ebp - 0xad], dl
movsx eax, word [ebp - 0x10]
mov ecx, dword [ebp - 0xb4]
movsx edx, word [ecx]
add eax, edx
movsx ecx, word [ebp - 0x340]
mov edx, dword [ebp - 0x22c]
movsx edx, word [edx]
sub ecx, edx
cmp eax, ecx
je 0x4061bf
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x270]
sub ecx, edx
mov word [0x771648], cx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x234]
or ecx, dword [eax]
mov edx, dword [ebp - 0x29c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x88]
xor eax, dword [ebp - 0x30c]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x248], ecx
mov edx, dword [0x771654]
mov dword [ebp - 0x3a0], edx
cmp dword [ebp - 0x3a0], 0x538d
je 0x4061f7
jmp 0x40623c
mov eax, dword [ebp - 0x21c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x234]
sar edx, cl
mov dword [ebp - 0x248], edx
movsx eax, word [ebp - 0x340]
movsx ecx, word [ebp - 0x10]
and eax, ecx
mov edx, dword [ebp - 0x22c]
mov word [edx], ax
movzx eax, word [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x290]
movzx edx, word [ecx]
push edx
call fcn.00408630
add esp, 8
jmp 0x4062b3
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax]
mov dword [ebp - 0x3a4], ecx
cmp dword [ebp - 0x3a4], 0xa147
je 0x406258
jmp 0x4062a0
mov byte [ebp - 0x71], 0x68
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x338]
movzx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x209], al
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx]
add ecx, eax
mov byte [0x41b007], cl
mov cx, word [ebp - 0x60]
mov word [ebp - 0x70], cx
lea edx, [ebp - 0x88]
mov dword [ebp - 0x288], edx
jmp 0x4062b3
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x3c]
add ecx, dword [edx]
mov dword [ebp - 0x26c], ecx
movzx eax, byte [ebp - 0xad]
movzx ecx, byte [0x41b006]
sub eax, ecx
mov edx, dword [ebp - 0x58]
mov byte [edx], al
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0xbc], 0xb5a7
cmp dword [ebp - 0x2ec], 0x2673
ja 0x40657c
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x70]
sub ecx, edx
mov eax, dword [ebp - 0x290]
mov word [eax], cx
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0xac]
and edx, dword [ecx]
mov eax, dword [ebp - 0x288]
mov dword [eax], edx
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x26c]
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x23c]
sub ecx, dword [eax]
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [0x771654]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x288]
mov dword [ecx], eax
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x58]
movzx ecx, byte [ecx]
shl eax, cl
mov edx, dword [ebp - 0x338]
mov byte [edx], al
mov eax, dword [ebp - 0xa0]
movzx edx, word [eax]
mov eax, dword [ebp - 0x290]
movzx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x20], dx
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x26c]
xor edx, dword [ecx]
mov dword [ebp - 0x23c], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0xa8]
or ecx, dword [eax]
mov edx, dword [ebp - 0x29c]
mov dword [edx], ecx
mov eax, dword [ebp - 0xb4]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x10]
and ecx, edx
mov word [ebp - 0x340], cx
movsx eax, byte [ebp - 0x71]
sub eax, 0x48
mov byte [ebp - 0x71], al
movzx ecx, word [ebp - 0x60]
movzx edx, word [ebp - 0x20]
add ecx, edx
mov word [ebp - 0x70], cx
mov eax, dword [ebp - 0x338]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x209], cl
mov ecx, dword [ebp - 0xac]
sub ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x54]
mov dword [edx], ecx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x54]
add ecx, dword [edx]
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x234]
sub ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x234]
and edx, dword [ebp - 8]
mov eax, dword [ebp - 0x3c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
add edx, dword [0x7705c8]
mov dword [ebp - 0xc8], edx
movzx eax, byte [ebp - 0x209]
movzx ecx, byte [ebp - 0x25]
shl eax, cl
mov byte [ebp - 0x289], al
mov ecx, dword [ebp - 0x50]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x270]
sar edx, cl
mov eax, dword [ebp - 0x290]
mov word [eax], dx
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x30c]
or edx, dword [ecx]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0xa8]
xor eax, dword [ebp - 0x2c]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x2c]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x21c]
mov dword [eax], edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_EscapeCommFunction]
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x88]
and edx, dword [ecx]
mov dword [0x771654], edx
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax]
movzx edx, word [0x771648]
sub ecx, edx
mov word [ebp - 0x60], cx
movzx eax, byte [ebp - 0x289]
mov ecx, dword [ebp - 0x78]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x338]
mov byte [ecx], al
movsx edx, word [ebp - 0x340]
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x10], dx
mov edx, dword [ebp - 0x2ec]
add edx, 0x53
mov dword [ebp - 0x2ec], edx
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax]
mov edx, dword [ebp - 0xb4]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x22c]
mov word [edx], cx
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x30c]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x54]
mov dword [edx], ecx
mov eax, dword [ebp - 0x248]
add eax, dword [0x7705c8]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x78]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x289], al
lea eax, [ebp - 0x364]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
jmp 0x4062de
mov ecx, dword [ebp - 0xa0]
movzx edx, word [ecx]
movzx eax, word [0x771648]
and edx, eax
mov word [ebp - 0x20], dx
lea ecx, [ebp - 0x340]
mov dword [0x771640], ecx
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax]
imul ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x54]
mov dword [edx], ecx
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov dword [ebp - 0x36c], ecx
mov dl, byte [ebp - 0x71]
mov byte [ebp - 0x3a8], dl
cmp byte [ebp - 0x3a8], 0x70
je 0x4065e0
jmp 0x406637
mov eax, dword [ebp - 0x3c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x2f0]
sar edx, cl
mov dword [ebp - 0x23c], edx
mov eax, dword [ebp - 0xa0]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x50]
movzx eax, word [edx]
or ecx, eax
mov word [ebp - 0x70], cx
mov ecx, dword [ebp - 0x58]
mov dl, byte [ecx]
mov byte [ebp - 0x2e5], dl
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x88]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x64], edx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x48], eax
lea ecx, [ebp - 0x88]
mov dword [0x77165c], ecx
jmp 0x406667
mov edx, dword [ebp - 0x29c]
mov eax, dword [edx]
xor eax, dword [ebp - 0x26c]
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax]
call fcn.004085c0
mov dword [ebp - 0x24c], 0xa568
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx]
add edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x288]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x25c]
add ecx, dword [eax]
cmp edx, ecx
jb 0x408175
mov cl, byte [ebp - 0x71]
mov byte [0x771645], cl
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0xac]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x288]
mov dword [ecx], eax
movzx edx, word [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax]
or edx, ecx
mov word [ebp - 0x60], dx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x3ac], edx
cmp dword [ebp - 0x3ac], 0xb2cd8838
je 0x4066dc
jmp 0x4080a1
mov al, byte [ebp - 0x71]
mov byte [ebp - 0x2d], al
mov cx, word [ebp - 0x10]
mov word [ebp - 0x300], cx
mov edx, dword [ebp - 0x290]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x70]
add eax, ecx
mov word [ebp - 0x60], ax
movzx edx, byte [ebp - 0xad]
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x338]
mov byte [eax], dl
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x64]
shl edx, cl
mov dword [ebp - 0x30c], edx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0xc8], edx
movsx eax, word [ebp - 0x10]
mov ecx, dword [ebp - 0x22c]
movsx edx, word [ecx]
xor eax, edx
mov ecx, dword [0x771640]
mov word [ecx], ax
mov edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x54]
mov ecx, dword [edx]
or ecx, dword [eax]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [edx]
and ecx, dword [eax]
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x58]
movzx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 0x78]
mov byte [ecx], al
movzx edx, word [ebp - 0x20]
mov eax, dword [ebp - 0x50]
movzx ecx, word [eax]
sub edx, ecx
mov eax, dword [ebp - 0x6c]
mov word [eax], dx
mov ecx, dword [ebp - 0x234]
sub ecx, dword [ebp - 0x2f0]
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x64]
add eax, dword [edx]
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx]
and edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
mov dword [eax], edx
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
add edx, dword [ebp - 0x248]
mov dword [ebp - 0x234], edx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x64]
add ecx, dword [eax]
mov edx, dword [0x77165c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x24c]
sub eax, 0x26
mov dword [ebp - 0x24c], eax
movzx ecx, word [ebp - 0x20]
mov edx, dword [ebp - 0x6c]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x70], cx
movsx ecx, word [ebp - 0x300]
mov edx, dword [ebp - 0xb4]
movsx eax, word [edx]
add ecx, eax
mov edx, dword [ebp - 0x22c]
mov word [edx], cx
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp - 0xac]
shr eax, cl
mov ecx, dword [ebp - 0x288]
mov dword [ecx], eax
mov edx, dword [0x771654]
mov ecx, dword [ebp - 0x30c]
shl edx, cl
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x36c]
or ecx, dword [eax]
mov dword [ebp - 0x23c], ecx
mov edx, dword [ebp - 0x78]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x289]
xor eax, ecx
mov byte [ebp - 0x25], al
mov edx, dword [ebp - 0x50]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x70]
and eax, ecx
mov word [ebp - 0x60], ax
mov edx, dword [ebp - 0x30c]
sub edx, dword [0x771654]
mov eax, dword [ebp - 0x25c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xa8]
mov dword [0x7705c8], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x21c]
mov dword [eax], edx
mov ecx, dword [0x77165c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x25c]
add edx, dword [eax]
mov dword [ebp - 0x64], edx
mov ecx, dword [ebp - 0x50]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x6c]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0x60], dx
movzx edx, byte [ebp - 0x209]
mov eax, dword [ebp - 0x58]
movzx ecx, byte [eax]
and edx, ecx
mov eax, dword [ebp - 0x338]
mov byte [eax], dl
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
sub edx, dword [ebp - 8]
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x36c]
add ecx, dword [eax]
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x288]
mov eax, dword [edx]
add eax, dword [ebp - 0x64]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xc8]
shl edx, cl
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x234]
xor eax, dword [ebp - 0x2c]
mov dword [0x7705c8], eax
movsx ecx, word [ebp - 0x300]
mov edx, dword [ebp - 0xb4]
movsx eax, word [edx]
or ecx, eax
mov word [ebp - 0x340], cx
movsx edx, byte [0x771645]
movsx ecx, byte [ebp - 0x71]
sar edx, cl
mov byte [ebp - 0x2d], dl
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x209], cl
movzx ecx, word [ebp - 0x270]
mov edx, dword [ebp - 0x6c]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x70], cx
cmp dword [ebp - 0x24c], 0xa32e
ja 0x4066ed
mov ecx, dword [ebp - 0x54]
mov edx, dword [ecx]
add edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x288]
mov ecx, dword [ebp - 0x30c]
add ecx, dword [eax]
cmp edx, ecx
jae 0x406a26
mov edx, dword [ebp - 0x30c]
add edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x288]
mov dword [eax], edx
mov ecx, dword [ebp - 0xa0]
movzx edx, word [ecx]
push edx
movzx eax, word [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x36c]
push ecx
mov edx, dword [ebp - 0x50]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx]
push edx
call fcn.00404ff0
add esp, 0x14
mov eax, dword [ebp - 0x26c]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x290]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x50]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x20], dx
movsx edx, byte [ebp - 0x71]
movsx eax, byte [ebp - 0x2d]
sub edx, eax
movsx ecx, byte [0x771645]
cmp edx, ecx
jge 0x406aad
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x58]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x209], al
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0xac]
sub ecx, dword [eax]
mov dword [0x771654], ecx
mov edx, dword [ebp - 0x260]
or edx, dword [ebp - 0x248]
mov dword [ebp - 0x234], edx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x29c]
mov dword [eax], edx
movzx ecx, word [ebp - 0x60]
mov dword [ebp - 0x3b0], ecx
cmp dword [ebp - 0x3b0], 0x4e5
je 0x406b19
cmp dword [ebp - 0x3b0], 0x73e9
je 0x406ad4
jmp 0x406b79
mov edx, dword [ebp - 0x54]
mov eax, dword [edx]
mov dword [ebp - 0x368], eax
movzx eax, word [0x41b004]
cdq
mov ecx, 0x720
idiv ecx
mov word [ebp - 0x270], ax
movzx edx, byte [ebp - 0x25]
mov eax, dword [ebp - 0x58]
movzx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x338]
mov byte [ecx], dl
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
mov dword [ebp - 0x2e4], eax
jmp 0x406b79
mov ecx, dword [ebp - 0x36c]
xor ecx, dword [ebp - 0xc8]
mov dword [ebp - 0x26c], ecx
movsx edx, byte [ebp - 0x2d]
movsx eax, byte [0x771645]
add edx, eax
mov byte [ebp - 0x71], dl
mov ecx, dword [ebp - 0x22c]
movsx edx, word [ecx]
movsx eax, word [0x7705cc]
and edx, eax
mov ecx, dword [0x771640]
mov word [ecx], dx
mov edx, dword [ebp - 0x94]
mov eax, dword [edx]
push eax
call fcn.004050a0
mov ecx, dword [ebp - 0x338]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x25]
add edx, eax
mov byte [ebp - 0x209], dl
mov ecx, dword [ebp - 0x6c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x290]
movzx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0x270], dx
mov dword [ebp - 0x44], 0xf715
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x38], edx
mov al, byte [ebp - 0x2d]
mov byte [ebp - 0x3b4], al
cmp byte [ebp - 0x3b4], 0
je 0x406bc1
cmp byte [ebp - 0x3b4], 0x45
je 0x406c37
jmp 0x406ca9
mov ecx, dword [ebp - 0x368]
sub ecx, dword [ebp - 0x88]
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [0x771654]
add eax, dword [edx]
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x288]
mov ecx, dword [ecx]
sub ecx, dword [edx]
cmp eax, ecx
je 0x406c1f
lea edx, [ebp - 0x248]
mov dword [ebp - 0x284], edx
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0x260]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0xc8]
shl edx, cl
mov dword [ebp - 0x248], edx
jmp 0x406c35
movzx eax, byte [ebp - 0x209]
movzx ecx, byte [0x41b006]
xor eax, ecx
mov byte [ebp - 0xad], al
jmp 0x406ca9
movzx edx, word [ebp - 0x60]
mov eax, dword [ebp - 0x290]
movzx ecx, word [eax]
or edx, ecx
mov word [ebp - 0x270], dx
lea edx, [ebp - 0x3c]
push edx
push 0x14
lea eax, [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x384]
push ecx
call sub.WINSPOOL.DRV_WritePrinter
mov dword [ebp - 0x298], eax
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x368]
shr edx, cl
mov eax, dword [0x77165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0xa0]
movzx edx, word [ecx]
push edx
movzx eax, word [ebp - 0x270]
push eax
mov ecx, dword [ebp - 8]
push ecx
mov edx, dword [ebp - 0x6c]
movzx eax, word [edx]
push eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
push edx
call fcn.00404ff0
add esp, 0x14
cmp dword [ebp - 0xbc], 0xb0d9
jb 0x40702f
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x94]
mov dword [edx], ecx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x2f0]
add ecx, dword [eax]
mov dword [ebp - 0x36c], ecx
mov edx, dword [ebp - 0x288]
mov eax, dword [0x771654]
and eax, dword [edx]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0xa0]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x70]
add edx, eax
mov word [ebp - 0x270], dx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x338]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x58]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x289], dl
mov edx, dword [ebp - 0xb4]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x300]
sub eax, ecx
mov word [ebp - 0x340], ax
movsx edx, byte [ebp - 0x71]
movsx eax, byte [0x771645]
sub edx, eax
mov byte [ebp - 0x2d], dl
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x288]
add edx, dword [eax]
mov dword [ebp - 0x88], edx
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x26c]
add edx, dword [ecx]
mov dword [0x7705c8], edx
movzx eax, byte [ebp - 0x2e5]
movzx ecx, byte [ebp - 0xad]
add eax, ecx
mov byte [ebp - 0x289], al
movzx edx, word [ebp - 0x270]
movzx eax, word [ebp - 0x70]
add edx, eax
mov ecx, dword [ebp - 0x290]
mov word [ecx], dx
mov edx, dword [0x7705c8]
mov ecx, dword [ebp - 0x260]
sar edx, cl
mov eax, dword [ebp - 0x21c]
mov dword [eax], edx
mov ecx, dword [ebp - 0xbc]
sub ecx, 0x52
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xac]
mov ecx, dword [ebp - 0x368]
shl edx, cl
mov dword [ebp - 0x88], edx
mov eax, dword [0x7705c8]
or eax, dword [ebp - 0x248]
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x36c]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x21c]
mov dword [eax], edx
movzx ecx, word [ebp - 0x270]
mov edx, dword [ebp - 0xa0]
movzx eax, word [edx]
and ecx, eax
mov edx, dword [ebp - 0x6c]
mov word [edx], cx
movzx eax, byte [ebp - 0x289]
movzx ecx, byte [ebp - 0x209]
sub eax, ecx
mov byte [ebp - 0x2e5], al
mov edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x368]
sub eax, dword [edx]
mov dword [0x771654], eax
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx]
and edx, dword [ebp - 0x248]
mov eax, dword [ebp - 0x21c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2e4]
add ecx, dword [ebp - 0x234]
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x26c]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x94]
mov dword [ecx], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x29c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x284]
mov dword [edx], ecx
movsx eax, word [ebp - 0x300]
mov ecx, dword [ebp - 0xb4]
movsx edx, word [ecx]
add eax, edx
mov word [ebp - 0x10], ax
movsx eax, byte [ebp - 0x71]
movsx ecx, byte [0x771645]
add eax, ecx
mov byte [ebp - 0x2d], al
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0xad]
xor eax, ecx
mov byte [ebp - 0x25], al
mov edx, dword [ebp - 0x290]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x6c]
movzx ecx, word [ecx]
sar eax, cl
mov edx, dword [ebp - 0xa0]
mov word [edx], ax
mov eax, dword [ebp - 0x88]
or eax, dword [ebp - 0x30c]
mov dword [0x771654], eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [0x771654]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x50]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x60]
and ecx, edx
mov word [ebp - 0x270], cx
movzx eax, byte [ebp - 0x209]
mov ecx, dword [ebp - 0x58]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x25], al
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 8]
sub ecx, dword [eax]
mov dword [ebp - 0x260], ecx
mov edx, dword [ebp - 0x88]
add edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x25c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2e4]
sub ecx, dword [ebp - 0x26c]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
and eax, dword [ebp - 0xc8]
mov dword [ebp - 0x26c], eax
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
mov ecx, dword [ebp - 0x50]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x270]
add edx, eax
mov word [ebp - 0x20], dx
mov ecx, dword [ebp - 0x338]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x25]
add edx, eax
mov byte [0x41b007], dl
mov ecx, dword [ebp - 0x288]
mov edx, dword [ecx]
sub edx, dword [0x771654]
mov eax, dword [ebp - 0x54]
mov dword [eax], edx
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x48]
add edx, dword [eax]
mov dword [ebp - 0x2f0], edx
movsx edx, word [ebp - 0x300]
movsx ecx, word [ebp - 0x10]
sar edx, cl
mov word [ebp - 0x340], dx
movsx eax, byte [ebp - 0x71]
movsx ecx, byte [0x771645]
shl eax, cl
mov byte [ebp - 0x2d], al
movzx ecx, word [ebp - 0x60]
movzx edx, word [ebp - 0x70]
or ecx, edx
mov word [ebp - 0x20], cx
movzx eax, byte [ebp - 0x25]
movzx ecx, byte [ebp - 0xad]
xor eax, ecx
mov byte [ebp - 0x2e5], al
mov edx, dword [ebp - 0x288]
mov eax, dword [ebp - 0x25c]
mov ecx, dword [edx]
and ecx, dword [eax]
mov edx, dword [ebp - 0x54]
mov dword [edx], ecx
jmp 0x406ca9
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x2a8], eax
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x48]
add edx, dword [eax]
mov dword [0x7705d0], edx
mov ecx, dword [ebp - 0x78]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x58]
movzx ecx, byte [eax]
sub edx, ecx
movzx eax, byte [0x41b006]
mov ecx, dword [ebp - 0x338]
movzx ecx, byte [ecx]
sub eax, ecx
cmp edx, eax
jle 0x40709c
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2e4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [0x77165c]
mov edx, dword [ebp - 0x88]
add edx, dword [ecx]
mov dword [ebp - 0x64], edx
call fcn.00408520
movsx eax, byte [ebp - 0x71]
movsx ecx, byte [ebp - 0x2d]
and eax, ecx
movsx edx, byte [0x771645]
cmp eax, edx
jl 0x4070df
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [eax]
add ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x29c]
mov dword [edx], ecx
movzx eax, word [ebp - 0x270]
push eax
movzx ecx, word [0x41b004]
push ecx
call fcn.00408630
add esp, 8
movzx edx, word [ebp - 0x60]
movzx eax, word [ebp - 0x270]
add edx, eax
mov word [ebp - 0x20], dx
mov cl, byte [ebp - 0x25]
mov byte [ebp - 0x2d5], cl
mov edx, dword [ebp - 0x284]
mov eax, dword [edx]
sub eax, dword [ebp - 0x2c]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0xac]
xor ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x25c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0xc0], eax
lea ecx, [ebp - 8]
mov dword [0x771660], ecx
movzx edx, byte [ebp - 0x289]
mov eax, dword [ebp - 0x58]
movzx ecx, byte [eax]
or edx, ecx
mov eax, dword [ebp - 0x78]
mov byte [eax], dl
mov ecx, dword [ebp - 0x50]
mov dx, word [ecx]
mov word [ebp - 0x228], dx
lea eax, [ebp - 0x2d]
mov dword [ebp - 0x244], eax
cmp dword [ebp - 0x44], 0x10d77
je 0x4072bd
mov ecx, dword [0x771640]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax]
sar edx, cl
mov word [ebp - 0x300], dx
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x88], edx
mov eax, dword [0x771660]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x36c]
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x2d5]
sub eax, ecx
mov byte [ebp - 0x289], al
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetProcessHandleCount]
mov edx, dword [ebp - 0x6c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x70]
add eax, ecx
mov word [ebp - 0x60], ax
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x368]
add eax, dword [edx]
mov dword [0x771654], eax
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x23c]
mov dword [ebp - 0x2f0], edx
mov eax, dword [0x7705d0]
sub eax, dword [ebp - 0x26c]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x288]
mov edx, dword [ecx]
add edx, dword [ebp - 0x30c]
mov dword [ebp - 0x64], edx
movzx eax, word [ebp - 0x228]
movzx ecx, word [0x41b004]
and eax, ecx
mov word [ebp - 0x70], ax
movzx edx, byte [ebp - 0x289]
movzx eax, byte [ebp - 0x209]
add edx, eax
mov ecx, dword [ebp - 0x338]
mov byte [ecx], dl
mov edx, dword [ebp - 0x29c]
mov eax, dword [0x771660]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x234], edx
mov eax, dword [ebp - 0x44]
add eax, 0xbf
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xc8]
shl edx, cl
mov dword [ebp - 0x2e4], edx
mov eax, dword [ebp - 0x368]
xor eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x288]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2e4]
or eax, dword [edx]
mov ecx, dword [0x771660]
mov dword [ecx], eax
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
add eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x94]
mov dword [ecx], eax
jmp 0x40715a
movsx edx, word [ebp - 0x10]
mov eax, dword [ebp - 0xb4]
movsx ecx, word [eax]
and edx, ecx
mov word [ebp - 0x340], dx
mov edx, dword [ebp - 0x94]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x284]
add eax, dword [ecx]
mov edx, dword [ebp - 0x2a8]
mov ecx, dword [ebp - 0x2e4]
sub ecx, dword [edx]
cmp eax, ecx
jle 0x40807d
movzx edx, byte [0x41b006]
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
add edx, ecx
mov eax, dword [ebp - 0x338]
mov byte [eax], dl
mov ecx, dword [ebp - 0xac]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x2f0]
add eax, dword [edx]
mov dword [ebp - 0xa8], eax
mov cl, byte [ebp - 0x2e5]
mov byte [ebp - 0x3b8], cl
cmp byte [ebp - 0x3b8], 0x9c
je 0x40734d
cmp byte [ebp - 0x3b8], 0xe5
je 0x4073a6
jmp 0x4073b5
mov edx, dword [ebp - 0x6c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x270]
sub eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x338]
movzx edx, byte [ecx]
and eax, edx
mov byte [0x41b006], al
mov eax, dword [ebp - 0x50]
movzx ecx, word [eax]
push ecx
movzx edx, word [ebp - 0x60]
push edx
mov eax, dword [ebp - 0x260]
push eax
mov ecx, dword [ebp - 0x290]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
push ecx
call fcn.00404ff0
add esp, 0x14
jmp 0x4073b5
mov edx, dword [ebp - 0x368]
xor edx, dword [ebp - 0x5c]
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x2a8]
mov ecx, dword [eax]
mov dword [ebp - 0x27c], ecx
mov eax, dword [ebp - 0x36c]
cdq
idiv dword [ebp - 0x2f0]
mov dword [ebp - 0xc0], eax
lea edx, [ebp - 0x88]
mov dword [ebp - 0x220], edx
mov eax, dword [ebp - 0x338]
movzx edx, byte [eax]
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x2d5], dl
movzx edx, word [ebp - 0x228]
movzx ecx, word [0x771648]
shl edx, cl
mov eax, dword [ebp - 0x50]
mov word [eax], dx
mov ecx, dword [ebp - 0x284]
mov edx, dword [ecx]
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x48]
mov edx, dword [eax]
or edx, dword [ecx]
mov dword [ebp - 0x2e4], edx
mov eax, dword [ebp - 0xb4]
movsx ecx, word [eax]
mov edx, dword [0x771640]
movsx eax, word [edx]
sub ecx, eax
mov word [0x7705cc], cx
mov ecx, dword [ebp - 0x244]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x71]
add edx, eax
mov byte [ebp - 0x2d], dl
mov ecx, dword [ebp - 0x338]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x25], dl
mov edx, dword [ebp - 0x6c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x290]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x60], ax
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x288]
mov dword [edx], ecx
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x288]
add ecx, dword [edx]
mov dword [ebp - 0x64], ecx
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2f0]
add eax, dword [edx]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xc8]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x58]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x78]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x289], cl
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x5c]
add edx, dword [ecx]
mov eax, dword [0x77165c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2f4]
add ecx, 0xe3
mov dword [ebp - 0x2f4], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x5c]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x288]
mov dword [ecx], eax
mov edx, dword [0x7705d0]
mov ecx, dword [ebp - 0x2f0]
shl edx, cl
mov dword [ebp - 0x2e4], edx
cmp dword [ebp - 0x2f4], 0x317c
jb 0x40741a
mov dword [ebp - 0x90], 0x2a228e1e
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc8]
sar eax, cl
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x380], ecx
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x78]
movzx edx, byte [ecx]
or eax, edx
mov byte [ebp - 0x2d5], al
mov eax, dword [ebp - 0x290]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x70]
and ecx, edx
mov eax, dword [ebp - 0x6c]
mov word [eax], cx
mov ecx, dword [ebp - 0xb4]
mov dx, word [ecx]
mov word [ebp - 0x210], dx
push 0
push 8
push 0
push 0
push 1
push 0xc0000000
push str.uqW6XDGlMiJDzuCHX_nVeR7T
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp - 0x90]
xor eax, 0x2a268e1e
mov dword [ebp - 0x90], eax
lea ecx, [ebp - 0x2d]
mov dword [ebp - 0x250], ecx
lea edx, [ebp - 0x64]
mov dword [0x77164c], edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x2a8]
add ecx, dword [edx]
mov dword [ebp - 0x248], ecx
mov ax, word [0x41b004]
mov word [ebp - 0x2dc], ax
mov dword [ebp - 0x224], 0x676bb751
movzx ecx, byte [ebp - 0x2e5]
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x78]
movzx eax, byte [edx]
mov edx, dword [ebp - 0x58]
movzx edx, byte [edx]
and eax, edx
cmp ecx, eax
jg 0x40800f
mov eax, dword [ebp - 0x2a8]
mov edx, dword [ebp - 0x36c]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x2f0], edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
movzx eax, word [0x771648]
mov ecx, dword [ebp - 0x290]
movzx edx, word [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x50]
mov word [ecx], ax
movzx edx, byte [ebp - 0x2d5]
movzx eax, byte [ebp - 0x25]
or edx, eax
mov byte [0x770586], dl
mov ecx, dword [ebp - 0x224]
xor ecx, 0x676ba611
mov dword [ebp - 0x224], ecx
lea edx, [ebp - 0x64]
mov dword [ebp - 0xa4], edx
mov eax, dword [0x7705d0]
and eax, dword [ebp - 0x14]
mov dword [ebp - 0x260], eax
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x224]
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x29c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x14]
mov dword [ebp - 0x23c], edx
call fcn.00403700
mov eax, dword [ebp - 0x250]
mov cl, byte [eax]
mov byte [ebp - 0x23d], cl
mov dx, word [ebp - 0x300]
mov word [ebp - 0x278], dx
mov eax, dword [ebp - 0x2d0]
push eax
mov ecx, dword [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x90]
push edx
call dword [ebp - 0x9c]
mov dword [ebp - 0x37c], eax
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx]
sub ecx, eax
mov edx, dword [ebp - 0x78]
mov byte [edx], cl
mov ax, word [ebp - 0x20]
mov word [0x771650], ax
mov ecx, dword [ebp - 0x37c]
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x88]
mov dword [ebp - 0x68], edx
mov eax, dword [0x77164c]
mov ecx, dword [ebp - 0x368]
add ecx, dword [eax]
mov dword [ebp - 0x64], ecx
mov dl, byte [ebp - 0x25]
mov byte [ebp - 0x29d], dl
lea eax, [ebp - 0x334]
push eax
call dword [sym.imp.KERNEL32.dll_GetNativeSystemInfo]
mov ecx, dword [ebp - 0x290]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x228]
imul edx, eax
mov ecx, dword [ebp - 0xa0]
mov word [ecx], dx
mov dword [ebp - 0x304], 0x229dcd3b
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x230]
and eax, dword [edx]
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], eax
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x7c], 0xad
mov ecx, dword [ebp - 0x234]
add ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0x21c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x22c]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x278]
add ecx, edx
mov eax, dword [ebp - 0xb4]
movsx edx, word [eax]
movsx eax, word [ebp - 0x210]
add edx, eax
cmp ecx, edx
jg 0x40784a
mov ecx, dword [ebp - 0x26c]
mov dword [ebp - 0x254], ecx
movzx edx, byte [ebp - 0x2d5]
movzx eax, byte [ebp - 0x25]
sub edx, eax
mov byte [0x770587], dl
mov ecx, dword [ebp - 0x50]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x270]
xor edx, eax
mov word [ebp - 0x60], dx
mov eax, dword [ebp - 0x38]
xor edx, edx
div dword [0x771654]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
mov dword [ebp - 0x2d4], edx
mov eax, dword [ebp - 0x78]
mov cl, byte [eax]
mov byte [ebp - 0x3bc], cl
cmp byte [ebp - 0x3bc], 0
je 0x40787b
cmp byte [ebp - 0x3bc], 0x1e
je 0x407faa
jmp 0x407fc2
movzx edx, word [ebp - 0x2dc]
mov eax, dword [ebp - 0xa0]
movzx ecx, word [eax]
imul edx, ecx
mov word [ebp - 0x20], dx
lea edx, [ebp - 0x40]
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0x338]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x2d5]
and ecx, edx
movzx eax, byte [ebp - 0x209]
mov edx, dword [ebp - 0x58]
movzx edx, byte [edx]
sub eax, edx
cmp ecx, eax
jne 0x407fa3
mov eax, dword [ebp - 0x29c]
mov ecx, dword [ebp - 0x230]
sub ecx, dword [eax]
mov dword [0x7705d4], ecx
mov edx, dword [ebp - 0x2a8]
mov eax, dword [edx]
add eax, dword [0x7705d0]
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x98]
mov dword [ebp - 0x238], ecx
mov edx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x54]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
mov dword [ebp - 0x18], eax
movzx ecx, word [ebp - 0x60]
movzx edx, word [0x771648]
add ecx, edx
mov word [ebp - 0x70], cx
lea eax, [ebp - 0x2e5]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x29c]
mov dword [ecx], eax
mov edx, dword [ebp - 0xa4]
mov eax, dword [edx]
sub eax, dword [0x771654]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0xe0], 0xa84adde5
mov ecx, dword [ebp - 0x248]
mov dword [ebp - 0x308], ecx
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0xc0]
add eax, dword [edx]
mov dword [0x7705c8], eax
mov ecx, dword [ebp - 0xe0]
add ecx, 0x5aa9813c
mov dword [ebp - 0xe0], ecx
lea edx, [ebp - 0x2cc]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x2d5], cl
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x268], ecx
mov edx, dword [ebp - 0x7c]
cmp edx, dword [ebp - 0xe0]
jae 0x407de7
mov eax, dword [ebp - 0x250]
movsx edx, byte [eax]
mov eax, dword [ebp - 0x244]
movsx ecx, byte [eax]
shl edx, cl
mov ecx, dword [ebp - 0x250]
mov byte [ecx], dl
movsx edx, word [0x7705cc]
movsx eax, word [ebp - 0x300]
or edx, eax
mov word [ebp - 0x278], dx
mov ecx, dword [ebp - 0x288]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx]
xor eax, dword [edx]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x238]
mov dl, byte [ecx]
mov byte [ebp - 0x89], dl
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [eax]
mov ecx, dword [ecx]
sar edx, cl
mov eax, dword [ebp - 0x2a8]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x29d]
mov edx, dword [ebp - 0x1c]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x25], cl
movzx ecx, word [ebp - 0x60]
movzx edx, word [ebp - 0x70]
add ecx, edx
mov word [ebp - 0x2dc], cx
mov eax, dword [0x77165c]
mov ecx, dword [ebp - 0xa4]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [0x771654], edx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x21c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x284]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x89]
add ecx, dword [ebp - 0x304]
mov byte [ebp - 0x89], cl
push 0
push 0x100
push 4
push 0
push 4
push 0xc0000000
push str.js_vpakRxKnWvcdfnW
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x294], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [edx]
sub eax, dword [0x7705d4]
mov dword [ebp - 0x36c], eax
mov ecx, dword [ebp - 0xe4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x288]
add edx, dword [eax]
mov dword [ebp - 0x68], edx
movzx ecx, byte [ebp - 0x25]
movzx edx, byte [ebp - 0x2e5]
add ecx, edx
mov byte [ebp - 0x209], cl
movzx eax, word [ebp - 0x60]
mov ecx, dword [ebp - 0x290]
movzx edx, word [ecx]
and eax, edx
mov ecx, dword [ebp - 0xa0]
mov word [ecx], ax
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x248]
add eax, dword [edx]
mov dword [ebp - 0x18], eax
mov cl, byte [ebp - 0x304]
mov dl, byte [ebp - 0x89]
rol dl, cl
mov byte [ebp - 0x89], dl
mov eax, dword [0x771660]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x27c]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x25c]
mov edx, dword [edx]
mov ecx, dword [eax]
shr edx, cl
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x230]
or eax, dword [0x7705d0]
mov ecx, dword [0x771660]
mov dword [ecx], eax
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx]
shl eax, cl
mov ecx, dword [ebp - 0x2a8]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x71]
movsx eax, byte [ebp - 0x23d]
sub edx, eax
mov byte [ebp - 0x2d], dl
mov ecx, dword [0x771640]
movsx edx, word [ecx]
mov eax, dword [ebp - 0xb4]
movsx ecx, word [eax]
and edx, ecx
mov word [ebp - 0x210], dx
mov edx, dword [ebp - 0xc]
mov al, byte [ebp - 0x89]
mov byte [edx], al
movzx ecx, word [ebp - 0x60]
mov edx, dword [ebp - 0xa0]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0x70], cx
movzx ecx, byte [ebp - 0x209]
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x25], cl
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0xe4]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0xa4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x29c]
mov eax, dword [ebp - 0x21c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x290]
movzx eax, word [edx]
mov ecx, dword [ebp - 0xa0]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x70], ax
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x29d]
sub ecx, edx
mov byte [0x770587], cl
mov eax, dword [ebp - 0x238]
add eax, 1
mov dword [ebp - 0x238], eax
push 0
push 4
push 0
push 0
push 8
push 0xc0000000
push str.v7cRroLLvZ_nwoPayVF
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x310], eax
mov ecx, dword [ebp - 0xe4]
mov edx, dword [0x771654]
add edx, dword [ecx]
mov eax, dword [ebp - 0xa4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx]
and edx, dword [ebp - 0x308]
mov eax, dword [ebp - 0x21c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x27c]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x38]
shl eax, cl
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x50]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x290]
movzx edx, word [ecx]
xor eax, edx
mov ecx, dword [ebp - 0x268]
mov word [ecx], ax
movzx edx, byte [ebp - 0x2d5]
movzx eax, byte [ebp - 0xad]
or edx, eax
mov byte [ebp - 0x29d], dl
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
add edx, dword [ebp - 8]
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x304]
sub eax, 0xb67d
mov dword [ebp - 0x304], eax
mov ecx, dword [0x771660]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x94]
add edx, dword [eax]
mov dword [ebp - 0x18], edx
movsx ecx, word [ebp - 0x340]
mov edx, dword [ebp - 0x22c]
movsx eax, word [edx]
and ecx, eax
mov edx, dword [0x771640]
mov word [edx], cx
mov eax, dword [ebp - 0x304]
imul eax, eax, 0x4d2d
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x244]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x71]
add edx, eax
mov byte [ebp - 0x2d], dl
mov ecx, dword [ebp - 0x6c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x228]
sub edx, eax
mov word [ebp - 0x20], dx
movzx ecx, byte [ebp - 0x2e5]
movzx edx, byte [ebp - 0x25]
sub ecx, edx
mov byte [ebp - 0x289], cl
push 0
push 0
call dword [sym.imp.KERNEL32.dll_SetSystemTimeAdjustment]
mov eax, dword [0x77165c]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x380]
mov edx, dword [ebp - 0x288]
mov dword [edx], ecx
mov eax, dword [ebp - 0x7c]
add eax, 0x439bc
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x68]
mov dword [ebp - 0x30c], ecx
mov edx, dword [0x7705c8]
sub edx, dword [ebp - 0x23c]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x260]
sub eax, dword [ebp - 0x2f0]
mov ecx, dword [ebp - 0x21c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
jmp 0x4079b2
mov edx, dword [ebp - 0x290]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x2dc]
xor eax, ecx
mov word [ebp - 0x70], ax
mov dl, byte [ebp - 0x209]
mov byte [0x771644], dl
lea eax, [ebp - 0x68]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x37c]
add ecx, 0xb3
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x21c]
mov eax, dword [ebp - 0x2a8]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x284]
mov dword [eax], edx
mov ecx, dword [ebp - 0x26c]
or ecx, dword [ebp - 0x260]
mov dword [ebp - 0x2d4], ecx
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x2e0], edx
movzx eax, byte [ebp - 0x2e5]
mov ecx, dword [ebp - 0x78]
movzx ecx, byte [ecx]
shl eax, cl
mov byte [ebp - 0x29d], al
mov edx, dword [ebp - 0x98]
add edx, 0xb3
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x3c0], eax
cmp dword [ebp - 0x3c0], 0x3de2
je 0x407f49
cmp dword [ebp - 0x3c0], 0x54f5ac00
je 0x407ead
jmp 0x407f52
lea ecx, [ebp - 0x2e4]
mov dword [ebp - 0x378], ecx
mov edx, dword [ebp - 0x290]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x268]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0x70], ax
mov eax, dword [ebp - 0x58]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x25]
add ecx, edx
mov byte [ebp - 0x2d5], cl
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x288]
mov edx, dword [ecx]
mov eax, dword [0x77164c]
add edx, dword [eax]
mov ecx, dword [ebp - 0x220]
mov dword [ecx], edx
lea edx, [ebp - 0xd4]
push edx
call dword [ebp - 0x37c]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx]
add edx, dword [ebp - 0x2e4]
mov dword [ebp - 0x308], edx
movzx eax, word [ebp - 0x2dc]
movzx ecx, word [0x771648]
sub eax, ecx
mov word [ebp - 0x270], ax
jmp 0x407f52
mov edx, dword [ebp - 0x14]
push edx
call fcn.004050a0
movzx eax, word [ebp - 0x70]
movzx ecx, word [ebp - 0x20]
and eax, ecx
mov edx, dword [ebp - 0x290]
mov word [edx], ax
mov eax, dword [0x771640]
movsx ecx, word [eax]
movsx edx, word [ebp - 0x210]
sub ecx, edx
mov eax, dword [ebp - 0x22c]
mov word [eax], cx
mov ecx, dword [ebp - 0x244]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x250]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x71], dl
mov edx, dword [ebp - 0x24]
mov eax, dword [edx]
and eax, dword [ebp - 0x68]
mov dword [0x771654], eax
call fcn.00408520
jmp 0x407fc2
movzx ecx, byte [ebp - 0x289]
movzx edx, byte [ebp - 0x29d]
or ecx, edx
mov eax, dword [ebp - 0x338]
mov byte [eax], cl
mov ecx, dword [ebp - 0x244]
movsx edx, byte [ecx]
movsx ecx, byte [ebp - 0x71]
shl edx, cl
mov byte [ebp - 0x2d], dl
mov eax, dword [0x771640]
movsx edx, word [eax]
movsx ecx, word [ebp - 0x10]
sar edx, cl
mov word [ebp - 0x340], dx
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x368]
push ecx
lea edx, [ebp - 0x260]
push edx
mov eax, dword [ebp - 0x218]
push eax
call sub.WINSPOOL.DRV_FindNextPrinterChangeNotification
mov dword [ebp - 0x2a4], eax
jmp 0x408044
mov ecx, dword [0x77165c]
mov edx, dword [ecx]
sub edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x25c]
mov ecx, dword [ebp - 0x288]
mov eax, dword [eax]
sub eax, dword [ecx]
cmp edx, eax
jae 0x408044
mov ecx, dword [ebp - 0x284]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ecx]
sar edx, cl
mov dword [ebp - 0x36c], edx
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x58]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x2d5], cl
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x234]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x284]
mov dword [eax], edx
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [0x771654]
mov dword [ebp - 0x88], ecx
mov edx, dword [ebp - 0x244]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x71]
sub eax, ecx
mov byte [ebp - 0x2d], al
movzx edx, word [ebp - 0x60]
movzx eax, word [ebp - 0x20]
sub edx, eax
mov ecx, dword [ebp - 0x6c]
mov word [ecx], dx
jmp 0x408110
mov edx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x2c]
add eax, dword [edx]
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x50]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x20]
and edx, eax
mov word [ebp - 0x60], dx
mov ecx, dword [ebp - 0x338]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x78]
movzx ecx, byte [eax]
add edx, ecx
mov byte [0x41b007], dl
mov edx, dword [ebp - 0xac]
sub edx, dword [ebp - 0x30c]
mov dword [ebp - 0x64], edx
push 0xdb
mov eax, dword [ebp - 0x384]
push eax
call sub.WINSPOOL.DRV_ScheduleJob
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 8]
sub ecx, dword [0x7705c8]
mov edx, dword [ebp - 0x21c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x78]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x289]
sar edx, cl
mov byte [ebp - 0xad], dl
mov eax, dword [ebp - 0xc8]
xor eax, dword [ebp - 8]
mov dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x25c]
mov eax, dword [ecx]
and eax, dword [edx]
mov dword [ebp - 0x30c], eax
mov ecx, dword [ebp - 0x50]
mov dx, word [ecx]
mov eax, dword [ebp - 0x290]
mov cx, word [eax]
call fcn.00408570
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x29c]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
jmp 0x4081fb
movzx edx, byte [ebp - 0x25]
movzx eax, byte [ebp - 0xad]
and edx, eax
movzx ecx, byte [ebp - 0x289]
movzx eax, byte [0x41b006]
sub ecx, eax
cmp edx, ecx
je 0x4081fb
mov ecx, dword [ebp - 0xb4]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x10]
add edx, eax
mov word [ebp - 0x340], dx
movsx ecx, byte [ebp - 0x71]
sub ecx, 0x14
mov byte [ebp - 0x71], cl
mov edx, dword [ebp - 0x78]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x209]
sub eax, ecx
mov edx, dword [ebp - 0x338]
mov byte [edx], al
movzx eax, word [ebp - 0x60]
mov ecx, dword [ebp - 0x50]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x54]
mov dword [edx], ecx
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
push ecx
call fcn.004050a0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 8]
add eax, dword [edx]
mov dword [ebp - 0x23c], eax
lea ecx, [ebp - 0x48]
push ecx
lea edx, [ebp - 0xad]
push edx
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x370]
push ecx
call sub.WINSPOOL.DRV_FindNextPrinterChangeNotification
mov dword [ebp - 0x2a4], eax
mov edx, dword [ebp - 0x48]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3c]
add eax, dword [ecx]
mov edx, dword [ebp - 0x94]
mov dword [edx], eax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [eax]
push ecx
call fcn.004050a0
jmp 0x40827a
mov edx, dword [ebp - 0x3c]
mov eax, dword [edx]
sub eax, dword [ebp - 8]
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x50]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x270]
add edx, eax
mov word [ebp - 0x60], dx
push 0x25
push 0xffffffffffffffcf
push 0x21
push 0xfffffffffffffffe
call fcn.00405060
movsx ecx, word [ebp - 0x10]
movsx edx, word [0x7705cc]
and ecx, edx
mov word [ebp - 0x340], cx
lea eax, [ebp - 0x280]
push eax
push 0x38
push 0xc3
mov ecx, dword [ebp - 0x218]
push ecx
call sub.WINSPOOL.DRV_FindFirstPrinterChangeNotification
mov dword [ebp - 0x374], eax
mov edx, dword [ebp - 0xb4]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x22c]
movsx edx, word [ecx]
sub eax, edx
mov ecx, dword [ebp - 0xb4]
mov word [ecx], ax
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x270]
call fcn.00408570
mov edx, dword [ebp - 0x88]
add edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x25c]
mov dword [eax], edx
call fcn.00408520
movzx ecx, byte [ebp - 0x25]
mov edx, dword [ebp - 0x78]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x289], cl
mov ecx, dword [ebp - 0x290]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x270]
or edx, eax
mov ecx, dword [ebp - 0xa0]
mov word [ecx], dx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x26c]
mov ecx, dword [edx]
sar eax, cl
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x26c]
and ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x3c]
mov dword [edx], ecx
movzx eax, byte [ebp - 0x209]
movzx ecx, byte [ebp - 0x25]
sub eax, ecx
mov byte [ebp - 0x289], al
mov edx, dword [ebp - 0xa0]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x60]
add eax, ecx
mov word [0x41b004], ax
mov edx, dword [0x7705c8]
sub edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x3c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x21c]
add edx, dword [eax]
mov dword [ebp - 0x26c], edx
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
push edx
call fcn.00405020
add esp, 4
movzx eax, word [ebp - 0x60]
movzx ecx, word [0x41b004]
sub eax, ecx
mov edx, dword [ebp - 0xa0]
mov word [edx], ax
mov eax, dword [ebp - 0x21c]
mov ecx, dword [0x7705c8]
sub ecx, dword [eax]
mov dword [ebp - 0x26c], ecx
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx]
add eax, dword [0x7705c8]
mov dword [ebp - 0x26c], eax
mov ecx, dword [0x7705c8]
and ecx, 0x741
mov dword [ebp - 0x26c], ecx
mov edx, dword [0x7705c8]
add edx, 0x30bb
mov dword [ebp - 0x26c], edx
movzx eax, word [ebp - 0x60]
push eax
movzx ecx, word [ebp - 0x60]
push ecx
mov edx, dword [ebp - 0x26c]
push edx
movzx eax, word [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x26c]
push ecx
call fcn.00404ff0
add esp, 0x14
jmp 0x408483
movzx edx, word [0x41b004]
add edx, 0x918
mov word [0x41b004], dx
lea eax, [ebp - 0x280]
push eax
push 0x8c
lea ecx, [ebp - 0x280]
push ecx
mov edx, dword [ebp - 0x33c]
push edx
call sub.WINSPOOL.DRV_ReadPrinter
mov dword [ebp - 0x280], eax
movzx eax, word [0x41b004]
push eax
movzx ecx, word [0x41b004]
push ecx
push 0xb6
movzx edx, word [0x41b004]
push edx
push 0x6b
call fcn.00404ff0
add esp, 0x14
movzx eax, word [0x41b004]
add eax, 0x27e
mov word [0x41b004], ax
movzx ecx, word [0x41b004]
and ecx, 0xd09
mov word [0x41b004], cx
push 0x35
call fcn.004050a0
movzx edx, word [0x41b004]
xor edx, 0x4c7
mov word [0x41b004], dx
movzx eax, word [0x41b004]
sar eax, 0xe
mov word [0x41b004], ax
movzx ecx, word [0x41b004]
shl ecx, 2
mov word [0x41b004], cx
movzx edx, word [0x41b004]
or edx, 0xea0
mov word [0x41b004], dx
movzx eax, word [0x41b004]
sub eax, 0x739
mov word [0x41b004], ax
mov eax, dword [ebp - 0x308]
pop esi
mov esp, ebp
pop ebp
ret