Function at 0x401000
Capabilities:
Accept command line arguments
Encode data using xor
Get disk information
Get system information on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f8
mov eax, 0x8d5
mov word [ebp - 0xa4], ax
mov dword [ebp - 0x160], 0xf977
movsx ecx, byte [section..data]
sub ecx, 0x5b
mov byte [section..data], cl
lea edx, [ebp - 0x160]
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x194], 0x7fd8
mov ax, word [ebp - 0xa4]
mov word [ebp - 0x48], ax
mov byte [ebp - 0x99], 0x96
mov dword [ebp - 0x10], 0x4400
mov dword [ebp - 0x158], 0x1607
movzx ecx, word [ebp - 0xa4]
add ecx, 0x94b
movzx edx, word [ebp - 0x48]
cmp ecx, edx
jle 0x40111f
mov eax, dword [ebp - 0x160]
and eax, 0x6600
mov ecx, dword [ebp - 0x1a0]
cmp eax, dword [ecx]
jae 0x40110f
mov edx, 0x4a1
mov word [ebp - 0x1a4], dx
mov al, byte [section..data]
mov byte [ebp - 0x41], al
mov ecx, dword [ebp - 0x160]
shr ecx, 0x12
mov edx, dword [ebp - 0x1a0]
cmp ecx, dword [edx]
jb 0x401103
movsx eax, byte [ebp - 0x41]
or eax, 0x23
mov byte [section..data], al
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x1a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x158]
push ecx
mov edx, dword [ebp - 0x160]
push edx
movzx eax, byte [ebp - 0x41]
push eax
mov edx, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x160]
call fcn.004051f0
mov dword [ebp - 0x138], 0xddee
jmp 0x40111d
movzx ecx, word [ebp - 0x48]
shl ecx, 5
mov word [ebp - 0xa4], cx
jmp 0x40116d
movzx edx, word [ebp - 0x48]
imul edx, edx, 0x7b7
movzx eax, word [ebp - 0xa4]
cmp edx, eax
jne 0x40116d
movzx ecx, byte [ebp - 0x99]
add ecx, 8
mov byte [ebp - 0x99], cl
movzx edx, word [ebp - 0xa4]
push edx
mov eax, dword [ebp - 0x160]
push eax
mov ecx, dword [ebp - 0x158]
push ecx
mov edx, dword [ebp - 0x158]
push edx
mov eax, dword [ebp - 0x160]
push eax
call fcn.00403960
mov cx, word [ebp - 0x1a4]
mov word [ebp - 0xa0], cx
mov dl, byte [ebp - 0x99]
mov byte [ebp - 0x141], dl
movzx eax, byte [ebp - 0x141]
sub eax, 0xfa
movzx ecx, byte [ebp - 0x99]
cmp eax, ecx
jl 0x401202
movsx edx, byte [section..data]
and edx, 5
mov byte [ebp - 0x41], dl
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x141]
push ecx
push 0xa4
lea edx, [ebp - 0x158]
push edx
push 0x39
push 0xc0
push 0xfb
mov eax, dword [ebp - 0x20]
push eax
call sub.WINSPOOL.DRV_EnumJobsA
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x160]
add ecx, 0x3fcc
mov edx, dword [ebp - 0x1a0]
mov dword [edx], ecx
mov dl, byte [ebp - 0x99]
mov ecx, dword [ebp - 0x1a4]
call fcn.004044e0
lea eax, [ebp - 0x41]
mov dword [ebp - 0x7c], eax
push str.dithers_bisecting_Desideratum_consultation
call dword [sym.imp.KERNEL32.dll_AddAtomA]
mov word [ebp - 0xac], ax
mov cl, byte [ebp - 0x141]
mov byte [0x411c63], cl
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x7c]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x41]
sub ecx, edx
movsx eax, byte [section..data]
cmp ecx, eax
jge 0x401305
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
sub edx, 0x80cd
mov dword [ebp - 0x160], edx
movzx eax, byte [ebp - 0x99]
movzx ecx, byte [0x411c63]
add eax, ecx
mov byte [ebp - 0x141], al
mov edx, dword [ebp - 0x160]
shr edx, 0x10
mov eax, dword [ebp - 0x1a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x158]
xor ecx, 0x99e
mov dword [ebp - 0x1b8], ecx
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x1c0], edx
cmp dword [ebp - 0x1c0], 0x46b9
je 0x4012ed
cmp dword [ebp - 0x1c0], 0x478c
je 0x4012c0
jmp 0x401305
movzx eax, word [ebp - 0xa4]
push eax
mov ecx, dword [ebp - 0x160]
push ecx
mov edx, dword [ebp - 0x158]
push edx
mov eax, dword [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
push edx
call fcn.00403960
jmp 0x401305
mov eax, dword [ebp - 0x1a0]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x160]
shl edx, cl
mov eax, dword [ebp - 0x1a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x1bc], ecx
mov dx, word [ebp - 0xa4]
mov word [ebp - 0xb4], dx
mov dword [ebp - 0x84], 0x3b31
movzx eax, word [ebp - 0xb4]
movzx ecx, word [ebp - 0xa4]
cdq
idiv ecx
mov word [0x411004], ax
mov dword [ebp - 0x18c], 0x226a
lea edx, [ebp - 0x141]
mov dword [ebp - 0x14], edx
movsx eax, word [ebp - 0x1a4]
mov dword [ebp - 0x1c4], eax
cmp dword [ebp - 0x1c4], 0x388
je 0x40136e
jmp 0x401399
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
or edx, 0x679
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x158]
and eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], eax
jmp 0x40393a
cmp dword [ebp - 0x194], 0x98e9
ja 0x40166f
movsx ecx, byte [section..data]
mov edx, dword [ebp - 0x7c]
movsx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x41], cl
movsx ecx, word [ebp - 0xa0]
sub ecx, 0x25e
mov word [ebp - 0x1a4], cx
movzx edx, word [ebp - 0xa4]
movzx eax, word [0x411004]
add edx, eax
mov word [ebp - 0x48], dx
movzx ecx, byte [ebp - 0x141]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x99], cl
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
and edx, 0x68e1
mov dword [ebp - 0x160], edx
movzx eax, byte [ebp - 0x141]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
sub eax, edx
mov byte [0x411c63], al
mov eax, dword [ebp - 0x1bc]
add eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
add edx, dword [ebp - 0x160]
mov eax, dword [ebp - 0x1a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x141]
sub edx, eax
mov ecx, dword [ebp - 0x14]
mov byte [ecx], dl
movzx edx, byte [ebp - 0x141]
movzx ecx, byte [ebp - 0x99]
shl edx, cl
mov eax, dword [ebp - 0x14]
mov byte [eax], dl
movzx ecx, word [ebp - 0xa4]
movzx edx, word [0x411004]
or ecx, edx
mov word [ebp - 0x48], cx
mov eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x158]
sar eax, cl
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
xor edx, 0x4bf7
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x1b8]
and eax, dword [ebp - 0x158]
mov dword [ebp - 0x1bc], eax
movsx ecx, byte [ebp - 0x41]
mov edx, dword [ebp - 0x7c]
movsx eax, byte [edx]
sub ecx, eax
mov byte [section..data], cl
movzx ecx, word [ebp - 0xb4]
movzx edx, word [ebp - 0x48]
add ecx, edx
mov word [ebp - 0xa4], cx
movzx eax, byte [ebp - 0x141]
movzx ecx, byte [ebp - 0x99]
add eax, ecx
mov edx, dword [ebp - 0x14]
mov byte [edx], al
movsx eax, byte [ebp - 0x41]
movsx ecx, byte [section..data]
sub eax, ecx
mov edx, dword [ebp - 0x7c]
mov byte [edx], al
mov eax, dword [ebp - 0x7c]
movsx ecx, byte [eax]
movsx edx, byte [section..data]
sub ecx, edx
mov byte [ebp - 0x41], cl
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
and ecx, 0x4d0a
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x99]
add ecx, edx
mov byte [ebp - 0x141], cl
movzx eax, word [ebp - 0x48]
movzx ecx, word [ebp - 0xa4]
sub eax, ecx
mov word [ebp - 0xb4], ax
mov edx, dword [ebp - 0x160]
or edx, 0xe247
mov eax, dword [ebp - 0x1a0]
mov dword [eax], edx
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
movzx ecx, byte [0x411c63]
sar edx, cl
mov eax, dword [ebp - 0x14]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1b8]
xor ecx, dword [ebp - 0x158]
mov dword [ebp - 0x1bc], ecx
mov edx, dword [ebp - 0x160]
shl edx, 0x15
mov eax, dword [ebp - 0x1a0]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x99]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
and ecx, eax
mov byte [ebp - 0x141], cl
movzx ecx, word [ebp - 0x48]
movzx edx, word [ebp - 0xa4]
add ecx, edx
mov word [ebp - 0xb4], cx
mov eax, dword [ebp - 0x160]
sub eax, 0xa891
mov ecx, dword [ebp - 0x1a0]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x158]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x194]
add eax, 0xcf
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
sub edx, 0x68b1
mov dword [ebp - 0x160], edx
movzx eax, byte [ebp - 0x141]
movzx ecx, byte [ebp - 0x99]
add eax, ecx
mov byte [0x411c63], al
movzx edx, byte [ebp - 0x141]
movzx eax, byte [ebp - 0x99]
sub edx, eax
mov ecx, dword [ebp - 0x14]
mov byte [ecx], dl
movzx edx, byte [ebp - 0x141]
movzx eax, byte [0x411c63]
and edx, eax
mov ecx, dword [ebp - 0x14]
mov byte [ecx], dl
jmp 0x401399
lea edx, [ebp - 0x41]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
add ecx, 0xcd45
cmp ecx, dword [ebp - 0x160]
jbe 0x403843
mov edx, dword [ebp - 0x158]
sub edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], edx
lea eax, [ebp - 0x160]
mov dword [ebp - 0x1ac], eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x14]
mov al, byte [edx]
mov byte [ebp - 0x7d], al
mov ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x13c], 0xa1e3
cmp dword [ebp - 0x13c], 0x7840
jbe 0x401993
mov edx, dword [ebp - 0x168]
sub edx, dword [ebp - 0x158]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
movzx edx, word [ebp - 0xb4]
add ecx, edx
mov word [0x411004], cx
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x7c]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x41], cl
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x141]
and edx, eax
mov ecx, dword [ebp - 0x14]
mov byte [ecx], dl
movzx edx, word [ebp - 0x48]
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
sar edx, cl
mov word [ebp - 0xb4], dx
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x160]
mov ecx, dword [ecx]
shl edx, cl
mov eax, dword [ebp - 0x1ac]
mov dword [eax], edx
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x160]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x1ac]
mov dword [eax], edx
movzx ecx, byte [ebp - 0x141]
movzx edx, byte [0x411c63]
or ecx, edx
mov eax, dword [ebp - 0x14]
mov byte [eax], cl
mov ecx, dword [ebp - 0x168]
add ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], ecx
mov edx, dword [ebp - 0x168]
sub edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x1b8], edx
movzx eax, byte [ebp - 0x7d]
movzx ecx, byte [ebp - 0x141]
and eax, ecx
mov edx, dword [ebp - 0x14]
mov byte [edx], al
movzx eax, word [ebp - 0xa4]
movzx ecx, word [ebp - 0xb4]
add eax, ecx
mov word [ebp - 0x48], ax
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x158]
add edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x7d]
sub ecx, edx
mov eax, dword [ebp - 0x14]
mov byte [eax], cl
mov ecx, dword [ebp - 0x13c]
sub ecx, 0xbb
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1ac]
add eax, dword [ecx]
mov dword [ebp - 0x160], eax
movzx edx, byte [ebp - 0x99]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x141], dl
movzx edx, word [ebp - 0xb4]
movzx eax, word [ebp - 0x48]
add edx, eax
mov word [ebp - 0xa4], dx
mov ecx, dword [ebp - 0x7c]
movsx edx, byte [ecx]
movsx eax, byte [section..data]
sub edx, eax
mov byte [ebp - 0x41], dl
movsx ecx, byte [ebp - 0x41]
mov edx, dword [ebp - 0x7c]
movsx eax, byte [edx]
xor ecx, eax
mov edx, dword [ebp - 8]
mov byte [edx], cl
mov eax, dword [ebp - 0x7c]
movsx edx, byte [eax]
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
shl edx, cl
mov byte [section..data], dl
mov ecx, dword [ebp - 0x158]
or ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], ecx
movzx edx, word [ebp - 0xa4]
movzx ecx, word [ebp - 0xb4]
sar edx, cl
mov word [ebp - 0x48], dx
movzx eax, byte [ebp - 0x7d]
movzx ecx, byte [ebp - 0x141]
and eax, ecx
mov byte [ebp - 0x99], al
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x158]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x160]
add ecx, dword [eax]
mov edx, dword [ebp - 0x1a0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x158]
and eax, dword [ebp - 0x168]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
sub ecx, dword [ebp - 0x158]
mov dword [ebp - 0x168], ecx
movzx edx, word [ebp - 0xa4]
movzx eax, word [ebp - 0xb4]
sub edx, eax
mov ecx, dword [ebp - 0x18]
mov word [ecx], dx
movzx edx, byte [ebp - 0x7d]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
add edx, ecx
mov byte [0x411c63], dl
mov edx, dword [ebp - 0x1ac]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x1a0]
add eax, dword [ecx]
mov dword [ebp - 0x160], eax
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x160]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx], eax
movsx edx, byte [ebp - 0x41]
movsx eax, byte [section..data]
xor edx, eax
mov ecx, dword [ebp - 0x7c]
mov byte [ecx], dl
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x141]
shl eax, cl
mov ecx, dword [ebp - 0x14]
mov byte [ecx], al
jmp 0x4016d1
lea edx, [ebp - 0x158]
mov dword [ebp - 0x88], edx
lea eax, [ebp - 0x41]
mov dword [ebp - 0x134], eax
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x180], ecx
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x160]
mov ecx, dword [edx]
shr eax, cl
mov ecx, dword [ebp - 0x1a0]
cmp eax, dword [ecx]
jb 0x403824
push 0
push 0x20
push 5
push 0
push 8
push 0xc0000000
push str.C:_ferried_figuringprofitablydocs
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xc], eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_AssignProcessToJobObject]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x7d]
or eax, ecx
mov byte [ebp - 0x141], al
mov edx, dword [ebp - 0x1bc]
and edx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x168]
cmp edx, ecx
jne 0x401a44
lea edx, [ebp - 0x48]
mov dword [ebp - 0x10c], edx
lea eax, [ebp - 0x160]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0x160]
mov dword [ebp - 0x50], ecx
lea edx, [ebp - 0x141]
mov dword [ebp - 0x68], edx
lea eax, [ebp - 0x48]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x7d]
sub edx, eax
movzx ecx, byte [ebp - 0x99]
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
add ecx, eax
cmp edx, ecx
jl 0x401a9c
mov ecx, dword [ebp - 0x168]
sub ecx, dword [ebp - 0x158]
mov dword [ebp - 0x1bc], ecx
mov edx, dword [ebp - 0x160]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x118], eax
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov dword [ebp - 0x1c8], eax
cmp dword [ebp - 0x1c8], 0
je 0x401acd
cmp dword [ebp - 0x1c8], 0xa5c9
je 0x401b0e
jmp 0x401b4f
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0xa4]
and edx, eax
mov word [ebp - 0x48], dx
movzx ecx, byte [ebp - 0x7d]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x99], cl
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov dword [ebp - 0x90], eax
jmp 0x401b4f
mov ecx, dword [ebp - 0x180]
movsx edx, word [ecx]
movsx eax, word [ebp - 0x1a4]
sub edx, eax
mov word [ebp - 0xa0], dx
mov ecx, dword [ebp - 0x134]
movsx edx, byte [ecx]
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x41], dl
movzx edx, word [ebp - 0x48]
movzx eax, word [ebp - 0xa4]
add edx, eax
mov word [ebp - 0xb4], dx
movsx edx, word [ebp - 0x1a4]
mov eax, dword [ebp - 0x180]
movsx ecx, word [eax]
sar edx, cl
movsx ecx, word [ebp - 0xa0]
cmp edx, ecx
jg 0x4036b9
movzx edx, byte [ebp - 0x99]
movzx eax, byte [ebp - 0x7d]
xor edx, eax
mov byte [ebp - 0x141], dl
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
mov dword [ebp - 0x38], eax
movzx ecx, word [ebp - 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteAtom]
mov word [ebp - 0x74], ax
mov edx, dword [ebp - 0x18]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x48]
or eax, ecx
mov edx, dword [ebp - 0x3c]
mov word [edx], ax
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
movsx edx, byte [section..data]
and ecx, edx
mov byte [ebp - 0x41], cl
mov eax, dword [ebp - 0x180]
movsx ecx, word [eax]
movsx edx, word [ebp - 0xa0]
add ecx, edx
mov word [ebp - 0x1a4], cx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [eax]
sub edx, dword [ecx]
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x158]
sub ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x16c]
mov dword [edx], ecx
movzx eax, word [0x411004]
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx]
add eax, edx
mov ecx, dword [ebp - 0x18]
mov word [ecx], ax
push str.Bursaries_Dispensation_Awesomeness
call dword [sym.imp.KERNEL32.dll_AddAtomA]
mov word [ebp - 0x74], ax
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x141]
add eax, ecx
mov edx, dword [ebp - 0x14]
mov byte [edx], al
mov eax, dword [ebp - 0x160]
add eax, dword [ebp - 0x154]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x90]
and ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x1b8]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x16c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x154]
shr eax, cl
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x3c]
movzx ecx, word [eax]
xor edx, ecx
mov word [ebp - 0x48], dx
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
or eax, edx
mov byte [ebp - 0x141], al
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x168]
shl edx, cl
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
sub ecx, eax
mov byte [0x411c63], cl
mov ecx, dword [ebp - 0x154]
and ecx, dword [ebp - 0x160]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x84]
add edx, 0x8d
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x88]
mov dword [edx], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x16c]
mov dword [edx], ecx
movsx eax, word [ebp - 0xa0]
mov ecx, dword [ebp - 0x180]
movsx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x1a4], ax
mov eax, dword [ebp - 0x7c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 8]
movsx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x41], cl
push 0xa
call dword [sym.imp.KERNEL32.dll_IsProcessorFeaturePresent]
mov dword [ebp - 0xb0], eax
movzx ecx, byte [ebp - 0x7d]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
add ecx, eax
mov byte [ebp - 0x141], cl
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx]
movzx eax, word [ebp - 0xb4]
sub edx, eax
mov word [ebp - 0x48], dx
cmp dword [ebp - 0x84], 0x41cd
jbe 0x401b92
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
mov dword [ebp - 0x1cc], edx
cmp dword [ebp - 0x1cc], 0x12f
je 0x401db2
jmp 0x401dcc
mov eax, dword [ebp - 0x68]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x99]
and ecx, edx
mov byte [0x411c63], cl
jmp 0x4036a3
movzx eax, word [ebp - 0xb4]
mov dword [ebp - 0x1d0], eax
cmp dword [ebp - 0x1d0], 0
je 0x401e16
cmp dword [ebp - 0x1d0], 0xdf0
je 0x401df3
jmp 0x403691
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x88]
mov eax, dword [edx]
push eax
call fcn.004040b0
jmp 0x403691
mov ecx, dword [ebp - 0x10c]
mov dx, word [ecx]
mov word [ebp - 0x1a8], dx
call dword [sym.imp.KERNEL32.dll_GetLogicalDrives]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x60]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x1ac]
mov dword [edx], ecx
mov eax, dword [ebp - 0x168]
or eax, dword [ebp - 0x118]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x154]
shl edx, cl
mov eax, dword [ebp - 4]
mov dword [eax], edx
mov ecx, dword [ebp - 0x18]
mov dx, word [ecx]
mov word [ebp - 0x8c], dx
movzx eax, byte [ebp - 0x141]
movzx ecx, byte [ebp - 0x99]
add eax, ecx
mov byte [ebp - 0x7d], al
mov edx, dword [ebp - 0x10]
sub edx, 0x17
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x1bc]
mov ecx, dword [ebp - 0x16c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x118]
and eax, dword [edx]
mov ecx, dword [ebp - 0x88]
mov dword [ecx], eax
mov edx, dword [ebp - 0x180]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xa0]
add eax, ecx
mov edx, dword [ebp - 0x180]
mov word [edx], ax
movsx eax, byte [ebp - 0x41]
mov ecx, dword [ebp - 0x7c]
movsx edx, byte [ecx]
sub eax, edx
mov ecx, dword [ebp - 8]
mov byte [ecx], al
movzx edx, byte [ebp - 0x99]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x68]
mov byte [eax], dl
movzx ecx, word [ebp - 0xb4]
movzx edx, word [ebp - 0x1a8]
add ecx, edx
mov eax, dword [ebp - 0x18]
mov word [eax], cx
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x154]
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x160]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x168]
add edx, dword [ebp - 0x158]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
add ecx, eax
mov byte [0x411c63], cl
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x1bc]
shl edx, cl
mov dword [ebp - 0x4c], edx
movzx eax, byte [ebp - 0x7d]
movzx ecx, byte [ebp - 0x99]
or eax, ecx
mov edx, dword [ebp - 0x14]
mov byte [edx], al
movzx eax, word [ebp - 0xa4]
mov ecx, dword [ebp - 0x18]
movzx ecx, word [ecx]
sar eax, cl
mov word [ebp - 0x1a8], ax
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 4]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x88]
mov eax, dword [edx]
and eax, dword [ebp - 0x168]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x88]
add edx, dword [eax]
mov dword [ebp - 0x1bc], edx
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
sub eax, dword [edx]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x7d], dl
movzx edx, word [ebp - 0x8c]
movzx eax, word [ebp - 0x48]
add edx, eax
mov ecx, dword [ebp - 0x3c]
mov word [ecx], dx
movsx edx, byte [ebp - 0x41]
mov eax, dword [ebp - 0x134]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [section..data], dl
mov edx, dword [ebp - 0x180]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xa0]
sub eax, ecx
mov word [ebp - 0x1a4], ax
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx]
add eax, dword [ebp - 0x160]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x168]
sub edx, dword [ebp - 0x90]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
xor ecx, eax
mov byte [ebp - 0x99], cl
movzx edx, word [ebp - 0x48]
movzx ecx, word [ebp - 0x8c]
shl edx, cl
mov word [ebp - 0xa4], dx
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x1ac]
mov edx, dword [edx]
mov ecx, dword [eax]
shr edx, cl
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [eax]
and edx, dword [ecx]
mov dword [ebp - 0x168], edx
movsx eax, byte [ebp - 0x41]
mov ecx, dword [ebp - 0x134]
movsx edx, byte [ecx]
add eax, edx
mov byte [section..data], al
movzx eax, byte [ebp - 0x141]
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x99], al
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x1a8]
sub ecx, edx
mov word [ebp - 0x48], cx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1ac]
add ecx, dword [edx]
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0x4c]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [eax]
mov dword [ebp - 0x1bc], ecx
cmp dword [ebp - 0x10], 0x3ff5
ja 0x401e8d
mov edx, dword [ebp - 0x3c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx]
sub eax, edx
movzx ecx, word [ebp - 0x8c]
mov edx, dword [ebp - 0x10c]
movzx edx, word [edx]
sub ecx, edx
cmp eax, ecx
jle 0x40223a
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
or ecx, dword [ebp - 0x90]
mov dword [ebp - 0x118], ecx
push 0
push 8
push 0
push 0
push 4
push 0x40000000
push str.C:_shock_trapperCraftsmanshipHoarded
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x58], eax
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov dword [ebp - 0x1d4], eax
cmp dword [ebp - 0x1d4], 0
je 0x4021c1
jmp 0x40222b
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [ebp - 0x54], eax
lea ecx, [ebp - 0x41]
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x154]
shr edx, cl
mov dword [0x411008], edx
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x6c], eax
movzx edx, word [0x411004]
mov eax, dword [ebp - 0x10c]
movzx ecx, word [eax]
shl edx, cl
mov word [ebp - 0x1a8], dx
mov cl, byte [ebp - 0x99]
mov byte [ebp - 0x6d], cl
mov edx, dword [ebp - 4]
mov eax, dword [ebp - 0x154]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx], eax
mov dword [ebp - 0x78], 0x5f8c
jmp 0x40223a
mov edx, dword [0x411008]
and edx, dword [ebp - 0x60]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x158]
sub eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [ebp - 0x1bc]
cmp eax, ecx
je 0x4022ef
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x99]
shl eax, cl
mov ecx, dword [ebp - 0x68]
mov byte [ecx], al
movzx edx, word [ebp - 0x48]
mov eax, dword [ebp - 0x3c]
movzx ecx, word [eax]
or edx, ecx
mov word [ebp - 0x1a8], dx
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x50]
mov edx, dword [edx]
mov ecx, dword [eax]
shr edx, cl
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x154]
and ecx, dword [eax]
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0x160]
cmp ecx, edx
jb 0x4022ea
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x88]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x6c]
movsx ecx, word [eax]
mov edx, dword [ebp - 0x180]
movsx eax, word [edx]
sub ecx, eax
mov edx, dword [ebp - 0x6c]
mov word [edx], cx
movsx eax, byte [section..data]
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx]
add eax, edx
mov byte [ebp - 0x41], al
jmp 0x40360b
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
add ecx, dword [0x411008]
mov edx, dword [ebp - 0x60]
sub edx, dword [ebp - 0x154]
cmp ecx, edx
jae 0x402322
movzx eax, word [ebp - 0x8c]
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx]
and eax, edx
mov word [0x411004], ax
mov eax, dword [ebp - 0x68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x6d], cl
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x50]
mov eax, dword [ecx]
or eax, dword [edx]
mov ecx, dword [ebp - 4]
mov dword [ecx], eax
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x158]
sar eax, cl
mov ecx, dword [ebp - 0x16c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x168]
xor edx, dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x88]
mov dword [eax], edx
mov edx, dword [ebp - 0x60]
mov ecx, dword [0x411008]
shl edx, cl
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x90]
sub eax, dword [ebp - 0x4c]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x3c]
movzx edx, word [ecx]
movzx eax, word [ebp - 0x1a8]
and edx, eax
mov word [ebp - 0x8c], dx
movzx ecx, byte [0x411c63]
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
add ecx, eax
mov edx, dword [ebp - 0x14]
mov byte [edx], cl
movsx eax, byte [ebp - 0x41]
mov ecx, dword [ebp - 0x134]
movsx edx, byte [ecx]
sub eax, edx
mov byte [section..data], al
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x160]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
add eax, dword [ebp - 0x158]
mov dword [ebp - 0x1bc], eax
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x4c]
add edx, dword [ecx]
mov eax, dword [ebp - 0x88]
mov dword [eax], edx
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x99], dl
mov edx, dword [ebp - 0x10c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0xa4]
sub eax, ecx
mov word [ebp - 0x48], ax
mov edx, dword [ebp - 0x7c]
movsx eax, byte [edx]
movsx ecx, byte [ebp - 0x41]
and eax, ecx
mov edx, dword [ebp - 0x15c]
mov byte [edx], al
movsx eax, word [ebp - 0x1a4]
mov ecx, dword [ebp - 0x180]
movsx edx, word [ecx]
or eax, edx
mov word [ebp - 0xa0], ax
mov eax, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x60]
shr eax, cl
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x134]
movsx edx, byte [ecx]
movsx eax, byte [ebp - 0x41]
xor edx, eax
mov byte [section..data], dl
mov ecx, dword [ebp - 0x18c]
sub ecx, 0x89
mov dword [ebp - 0x18c], ecx
mov edx, dword [ebp - 0x3c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x18]
movzx ecx, word [ecx]
shl eax, cl
mov edx, dword [ebp - 0x3c]
mov word [edx], ax
mov eax, dword [ebp - 0x68]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x141]
add ecx, edx
mov eax, dword [ebp - 0x14]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x60]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x1b8]
and eax, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x88]
mov dword [ecx], eax
mov edx, dword [ebp - 0x88]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x16c]
add eax, dword [ecx]
mov dword [ebp - 0x1bc], eax
mov edx, dword [ebp - 4]
mov eax, dword [edx]
sub eax, dword [ebp - 0x60]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x3c]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x10c]
mov word [eax], dx
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x6d]
sub edx, eax
mov byte [ebp - 0x99], dl
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx]
add edx, dword [ebp - 0x60]
mov dword [0x411008], edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x168]
add ecx, dword [eax]
mov edx, dword [ebp - 0x16c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x154]
sub ecx, dword [eax]
mov dword [ebp - 0x160], ecx
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x88]
add eax, dword [ecx]
mov dword [ebp - 0x4c], eax
mov edx, dword [ebp - 0x158]
mov ecx, dword [ebp - 0x1bc]
sar edx, cl
mov dword [ebp - 0x90], edx
cmp dword [ebp - 0x18c], 0xfaf
jae 0x402322
mov eax, dword [ebp - 8]
mov cl, byte [eax]
mov byte [ebp - 0x18d], cl
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
or eax, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x1bc]
xor edx, dword [ecx]
cmp eax, edx
je 0x4026d4
mov eax, dword [ebp - 0x14]
mov cl, byte [eax]
mov byte [ebp - 0x1d8], cl
cmp byte [ebp - 0x1d8], 0x90
je 0x4025f7
cmp byte [ebp - 0x1d8], 0xaf
je 0x4026bf
jmp 0x4026d4
mov edx, dword [ebp - 0x180]
movsx eax, word [edx]
mov ecx, dword [ebp - 0x6c]
movsx ecx, word [ecx]
shl eax, cl
movsx edx, word [ebp - 0xa0]
movsx ecx, word [ebp - 0x1a4]
and edx, ecx
cmp eax, edx
jne 0x4026b0
mov edx, dword [ebp - 0x180]
movsx eax, word [edx]
movsx ecx, word [ebp - 0x1a4]
and eax, ecx
mov edx, dword [ebp - 0x180]
mov word [edx], ax
movzx eax, byte [0x411c63]
movzx ecx, byte [ebp - 0x99]
sub eax, ecx
mov byte [ebp - 0x6d], al
mov edx, dword [ebp - 0x10c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x3c]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0xb4], ax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x1ac]
add ecx, dword [edx]
mov dword [0x411008], ecx
lea eax, [ebp - 0x1a0]
push eax
push 0xa5
lea ecx, [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x20]
push edx
call sub.WINSPOOL.DRV_WritePrinter
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x168]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x16c]
mov dword [edx], ecx
jmp 0x4026bd
movzx eax, byte [ebp - 0x18d]
push eax
call fcn.00404e30
jmp 0x4026d4
movzx ecx, byte [ebp - 0x141]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
sub ecx, eax
mov byte [ebp - 0x99], cl
mov ecx, dword [ebp - 0x138]
add ecx, 0x15
mov dword [ebp - 0x138], ecx
mov edx, dword [ebp - 0x18]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x3c]
movzx edx, word [ecx]
or eax, edx
mov word [ebp - 0x8c], ax
mov eax, dword [ebp - 0x50]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x154]
shl edx, cl
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x88]
mov edx, dword [eax]
xor edx, dword [ecx]
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x88]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1b8]
sar edx, cl
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x160]
and ecx, dword [eax]
mov dword [ebp - 0x60], ecx
movzx edx, word [ebp - 0x8c]
mov eax, dword [ebp - 0x10c]
movzx ecx, word [eax]
add edx, ecx
mov word [ebp - 0xb4], dx
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x99]
sub eax, ecx
mov byte [0x411c63], al
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x88]
add eax, dword [ecx]
mov edx, dword [ebp - 0x16c]
mov dword [edx], eax
mov eax, dword [ebp - 0x90]
add eax, dword [ebp - 0x118]
mov dword [ebp - 0x168], eax
movsx ecx, word [ebp - 0x1a4]
mov edx, dword [ebp - 0x6c]
movsx eax, word [edx]
and ecx, eax
mov word [ebp - 0xa0], cx
mov ecx, dword [ebp - 0x7c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 8]
movsx ecx, byte [eax]
sub edx, ecx
mov byte [ebp - 0x41], dl
mov edx, dword [ebp - 0x10c]
movzx eax, word [edx]
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx]
add eax, edx
mov word [ebp - 0xa4], ax
movzx eax, word [ebp - 0xac]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteAtom]
mov word [ebp - 0x28], ax
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
sub edx, ecx
mov eax, dword [ebp - 0x68]
mov byte [eax], dl
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 4]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x50]
mov dword [ecx], eax
mov edx, dword [ebp - 0x154]
mov ecx, dword [ebp - 0x160]
shl edx, cl
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
xor ecx, eax
mov byte [0x411c63], cl
mov ecx, dword [ebp - 0x90]
or ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x88]
mov dword [edx], ecx
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x118]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x88]
mov dword [eax], edx
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
and edx, ecx
mov byte [ebp - 0x141], dl
cmp dword [ebp - 0x138], 0xe5ce
jb 0x4026d4
mov edx, dword [ebp - 0x3c]
mov ax, word [edx]
mov word [ebp - 0x170], ax
mov cl, byte [ebp - 0x7d]
mov byte [ebp - 0x1dc], cl
cmp byte [ebp - 0x1dc], 0
je 0x4028b5
cmp byte [ebp - 0x1dc], 0x57
je 0x4029c6
jmp 0x402a17
movzx edx, word [ebp - 0xb4]
mov dword [ebp - 0x1e0], edx
cmp dword [ebp - 0x1e0], 0
je 0x4028d0
jmp 0x4029ac
mov eax, dword [ebp - 0x50]
mov ecx, dword [0x411008]
add ecx, dword [eax]
mov dword [ebp - 0x60], ecx
lea edx, [ebp - 0x118]
mov dword [ebp - 0x164], edx
mov dword [ebp - 0x1c], 0x2611
mov eax, dword [ebp - 0x1b8]
add eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0x16c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x1ac]
mov eax, dword [edx]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1bc]
sub edx, dword [ecx]
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x158]
cmp edx, ecx
jne 0x402978
mov edx, dword [ebp - 4]
mov eax, dword [0x411008]
add eax, dword [edx]
mov ecx, dword [ebp - 0x50]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x60]
cmp eax, edx
jb 0x402976
movzx eax, word [ebp - 0x170]
mov ecx, dword [ebp - 0x3c]
movzx edx, word [ecx]
sub eax, edx
mov word [ebp - 0x48], ax
mov al, byte [ebp - 0x41]
mov byte [0x411c62], al
mov cl, byte [ebp - 0x7d]
mov byte [ebp - 0x185], cl
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
mov dword [ebp - 0x1b4], eax
jmp 0x4029aa
movzx edx, byte [ebp - 0x7d]
movzx eax, byte [ebp - 0x99]
sub edx, eax
movzx ecx, byte [ebp - 0x141]
mov eax, dword [ebp - 0x14]
movzx eax, byte [eax]
and ecx, eax
cmp edx, ecx
je 0x4029aa
movsx edx, byte [ebp - 0x41]
mov eax, dword [ebp - 0x7c]
movsx ecx, byte [eax]
shl edx, cl
mov byte [ebp - 0x18d], dl
jmp 0x4029c4
mov ecx, dword [ebp - 0x6c]
movsx edx, word [ecx]
movsx ecx, word [ebp - 0xa0]
sar edx, cl
mov eax, dword [ebp - 0x180]
mov word [eax], dx
jmp 0x402a17
mov ecx, dword [0x411008]
xor ecx, dword [ebp - 0x60]
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x154]
mov dword [ebp - 0x1e4], edx
cmp dword [ebp - 0x1e4], 0x81a7
je 0x4029ff
cmp dword [ebp - 0x1e4], 0xf511
je 0x4029f8
jmp 0x402a17
call fcn.00405130
jmp 0x402a17
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x164]
mov edx, dword [eax]
or edx, dword [ecx]
mov eax, dword [ebp - 0x16c]
mov dword [eax], edx
lea ecx, [ebp - 0xd8]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov edx, dword [ebp - 0x68]
mov al, byte [edx]
mov byte [ebp - 0x1e8], al
cmp byte [ebp - 0x1e8], 0
je 0x402a3d
jmp 0x402abf
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x88]
mov eax, dword [ecx]
and eax, dword [edx]
mov ecx, dword [ebp - 0x1b8]
sub ecx, dword [ebp - 0x158]
cmp eax, ecx
je 0x402a9c
mov edx, dword [ebp - 0x10c]
movzx eax, word [edx]
movzx ecx, word [ebp - 0x8c]
add eax, ecx
mov word [ebp - 0x170], ax
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x99]
add eax, ecx
mov byte [ebp - 0x185], al
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x118]
add eax, dword [edx]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x158]
mov dword [0x41100c], edx
lea eax, [ebp - 0x130]
push eax
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jmp 0x402acf
mov ecx, dword [ebp - 0x14]
mov dl, byte [ecx]
mov eax, dword [ebp - 0x6c]
mov cx, word [eax]
call fcn.004044e0
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x1a0]
add edx, dword [eax]
mov dword [ebp - 0x24], edx
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x1b8]
and edx, dword [ecx]
mov eax, dword [ebp - 0x164]
mov ecx, dword [0x41100c]
sub ecx, dword [eax]
cmp edx, ecx
jg 0x402b7d
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
or eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x88]
mov dword [ecx], eax
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx]
movzx ecx, word [ebp - 0x170]
shl edx, cl
mov word [ebp - 0x8c], dx
mov al, byte [ebp - 0x99]
mov byte [ebp - 0x176], al
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ecx]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x50]
mov dword [ecx], eax
mov edx, dword [ebp - 0x16c]
mov eax, dword [0x41100c]
and eax, dword [edx]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx]
mov dword [ebp - 0x2c], edx
jmp 0x402c92
movzx eax, word [ebp - 0xa4]
mov ecx, dword [ebp - 0x3c]
movzx ecx, word [ecx]
sar eax, cl
movzx edx, word [ebp - 0x8c]
mov ecx, dword [ebp - 0x10c]
movzx ecx, word [ecx]
xor edx, ecx
cmp eax, edx
jle 0x402c92
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x1bc]
sub eax, dword [edx]
mov ecx, dword [ebp - 0x88]
mov dword [ecx], eax
mov edx, dword [ebp - 0x164]
mov eax, dword [edx]
sub eax, dword [ebp - 0x90]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0x68]
movzx ecx, byte [eax]
add edx, ecx
movzx eax, byte [ebp - 0x6d]
movzx ecx, byte [ebp - 0x185]
add eax, ecx
cmp edx, eax
je 0x402c56
movsx edx, word [ebp - 0x1a4]
mov eax, dword [ebp - 0x6c]
movsx ecx, word [eax]
add edx, ecx
mov word [ebp - 0xa0], dx
movsx edx, byte [ebp - 0x41]
movsx eax, byte [section..data]
and edx, eax
mov byte [ebp - 0x18d], dl
movzx ecx, byte [ebp - 0x6d]
movzx edx, byte [ebp - 0x185]
or ecx, edx
mov byte [ebp - 0x7d], cl
lea eax, [ebp - 0x94]
push eax
lea ecx, [ebp - 0x4c]
push ecx
push 0xf
lea edx, [ebp - 0x176]
push edx
push 0x7c
push 0x96
push 0x76
mov eax, dword [ebp - 0xdc]
push eax
call sub.WINSPOOL.DRV_EnumJobsA
mov dword [ebp - 0x30], eax
jmp 0x402c92
movsx ecx, word [ebp - 0xa0]
movsx edx, word [ebp - 0x1a4]
sub ecx, edx
mov eax, dword [ebp - 0x180]
movsx edx, word [eax]
mov eax, dword [ebp - 0x6c]
movsx eax, word [eax]
sub edx, eax
cmp ecx, edx
jle 0x402c92
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx]
mov eax, dword [ebp - 0x10c]
movzx ecx, word [eax]
xor edx, ecx
mov eax, dword [ebp - 0x3c]
mov word [eax], dx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x24]
shl edx, cl
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x150], eax
mov cl, byte [0x411c62]
mov byte [ebp - 0x1ec], cl
cmp byte [ebp - 0x1ec], 0
je 0x402cc5
jmp 0x402d85
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x185]
sar eax, cl
mov byte [ebp - 0x141], al
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x154]
sub edx, dword [ecx]
mov dword [0x411010], edx
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x1f0], eax
cmp dword [ebp - 0x1f0], 0x324
je 0x402d08
jmp 0x402d83
movsx ecx, word [ebp - 0x1a4]
movsx edx, word [ebp - 0xa0]
sub ecx, edx
mov eax, dword [ebp - 0x180]
movsx edx, word [eax]
mov eax, dword [ebp - 0x6c]
movsx eax, word [eax]
and edx, eax
cmp ecx, edx
jle 0x402d4e
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [edx]
push eax
call fcn.00403e40
add esp, 0x10
jmp 0x402d83
movzx ecx, byte [ebp - 0x7d]
movzx edx, byte [ebp - 0x6d]
add ecx, edx
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax]
movzx eax, byte [ebp - 0x141]
add edx, eax
cmp ecx, edx
jne 0x402d83
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx]
movzx eax, word [0x411004]
add edx, eax
mov ecx, dword [ebp - 0x3c]
mov word [ecx], dx
jmp 0x402db3
mov edx, dword [ebp - 0x88]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x15c]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x88]
mov edx, dword [edx]
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
call fcn.004051f0
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x164]
add edx, dword [eax]
mov ecx, dword [ebp - 0x88]
mov dword [ecx], edx
lea edx, [ebp - 0x24]
mov dword [ebp - 0x174], edx
mov eax, dword [ebp - 0x6c]
movsx ecx, word [eax]
mov dword [ebp - 0x1f4], ecx
cmp dword [ebp - 0x1f4], 0x108
je 0x402df1
jmp 0x402e7b
movzx edx, word [ebp - 0x170]
mov eax, dword [ebp - 0x3c]
movzx ecx, word [eax]
add edx, ecx
mov eax, dword [ebp - 0x10c]
mov word [eax], dx
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x1bc]
or edx, dword [ecx]
mov eax, dword [ebp - 0x19c]
xor eax, dword [ebp - 0x1b8]
cmp edx, eax
jge 0x402e69
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ebp - 0x1a0]
mov eax, dword [ecx]
mov ecx, dword [edx]
shl eax, cl
mov dword [ebp - 0x160], eax
mov edx, dword [ebp - 0x168]
mov ecx, dword [ebp - 0x1b8]
sar edx, cl
mov dword [0x41100c], edx
movsx eax, word [ebp - 0xa0]
movsx ecx, word [ebp - 0x1a4]
and eax, ecx
mov edx, dword [ebp - 0x6c]
mov word [edx], ax
mov eax, dword [ebp - 0x134]
mov cl, byte [eax]
call fcn.00403a80
jmp 0x4035d2
movsx ecx, byte [ebp - 0x41]
movsx edx, byte [ebp - 0x18d]
sub ecx, edx
mov eax, dword [ebp - 0x134]
mov byte [eax], cl
movzx ecx, byte [ebp - 0x6d]
movzx edx, byte [ebp - 0x141]
sub ecx, edx
mov eax, dword [ebp - 0x68]
movzx edx, byte [eax]
movzx eax, byte [ebp - 0x185]
and edx, eax
cmp ecx, edx
je 0x402f17
mov ecx, dword [ebp - 0x1ac]
mov edx, dword [ecx]
add edx, dword [ebp - 0x154]
mov dword [ebp - 0x150], edx
lea eax, [ebp - 0xa0]
push eax
push 0xbc
lea ecx, [ebp - 0x141]
push ecx
mov edx, dword [ebp - 0x40]
push edx
call sub.WINSPOOL.DRV_WritePrinter
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x118]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x16c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x118]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x90], edx
jmp 0x4035aa
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x17c], eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x16c]
mov eax, dword [ecx]
or eax, dword [edx]
mov dword [0x41100c], eax
movzx edx, word [0x411004]
movzx ecx, word [ebp - 0x1a8]
sar edx, cl
mov word [ebp - 0xa4], dx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
and ecx, eax
mov edx, dword [ebp - 0x14]
mov byte [edx], cl
mov eax, dword [ebp - 0x16c]
mov ecx, dword [ebp - 0x1b8]
add ecx, dword [eax]
mov edx, dword [ebp - 0x164]
mov dword [edx], ecx
mov eax, dword [ebp - 0x60]
add eax, dword [ebp - 0x17c]
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx], eax
mov edx, dword [ebp - 0x164]
mov eax, dword [ebp - 0x16c]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x1b8], ecx
lea edx, [ebp - 0x100]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0x78]
add eax, 0xe0
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx]
sub edx, dword [ebp - 0x158]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
movzx edx, byte [ebp - 0x141]
and ecx, edx
mov byte [ebp - 0x6d], cl
mov eax, dword [ebp - 0x10c]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3c]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0xb4], cx
movsx ecx, byte [ebp - 0x41]
mov edx, dword [ebp - 0x15c]
movsx eax, byte [edx]
add ecx, eax
mov byte [section..data], cl
mov ecx, dword [ebp - 0x180]
movsx edx, word [ecx]
mov eax, dword [ebp - 0x6c]
movsx ecx, word [eax]
sub edx, ecx
mov word [ebp - 0xa0], dx
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x150], ecx
mov edx, dword [ebp - 0x1b8]
or edx, dword [ebp - 0x1bc]
mov dword [ebp - 0x168], edx
mov eax, dword [ebp - 0x14]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x176]
shl edx, cl
mov eax, dword [ebp - 0x68]
mov byte [eax], dl
movzx ecx, word [ebp - 0x48]
movzx edx, word [ebp - 0xb4]
xor ecx, edx
mov word [ebp - 0x170], cx
cmp dword [ebp - 0x78], 0x95cc
jb 0x402f20
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x174]
mov edx, dword [eax]
mov ecx, dword [ecx]
shr edx, cl
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x140], eax
mov ecx, dword [ebp - 0x164]
mov edx, dword [ebp - 0x158]
and edx, dword [ecx]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x6c]
mov cx, word [eax]
mov word [0x411c60], cx
mov edx, dword [ebp - 4]
mov eax, dword [edx]
add eax, dword [ebp - 0x60]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x14]
mov dl, byte [ecx]
mov byte [ebp - 0x175], dl
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x24]
sub ecx, dword [eax]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 4]
mov edx, dword [edx]
sub edx, dword [eax]
cmp ecx, edx
jne 0x4034e0
mov eax, dword [ebp - 0x174]
mov ecx, dword [eax]
xor ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 4]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x90]
and edx, dword [ecx]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x68]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
add ecx, eax
mov byte [0x411001], cl
mov ecx, dword [ebp - 0x17c]
sub ecx, dword [0x411010]
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 0x154]
sub eax, dword [edx]
cmp ecx, eax
jb 0x403372
mov ecx, dword [ebp - 0x19c]
sub ecx, dword [ebp - 0x1bc]
mov edx, dword [ebp - 0x164]
mov dword [edx], ecx
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x148], eax
movzx ecx, byte [ebp - 0x7d]
movzx edx, byte [ebp - 0x141]
add ecx, edx
mov byte [ebp - 0x175], cl
movzx eax, word [ebp - 0x8c]
mov ecx, dword [ebp - 0x18]
movzx edx, word [ecx]
and eax, edx
movzx ecx, word [ebp - 0x170]
movzx edx, word [ebp - 0x48]
xor ecx, edx
cmp eax, ecx
jge 0x4031c2
mov eax, dword [ebp - 0x3c]
movzx ecx, word [eax]
movzx edx, word [ebp - 0xa4]
or ecx, edx
mov eax, dword [ebp - 0x18]
mov word [eax], cx
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x16c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x140]
shl eax, cl
mov dword [ebp - 0x2c], eax
mov ecx, dword [ebp - 8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x134]
movsx ecx, byte [eax]
sar edx, cl
mov ecx, dword [ebp - 0x15c]
mov byte [ecx], dl
movsx edx, word [ebp - 0xa0]
mov eax, dword [ebp - 0x180]
movsx ecx, word [eax]
sub edx, ecx
mov word [0x411c60], dx
mov edx, dword [ebp - 0x1c]
add edx, 0x45
mov dword [ebp - 0x1c], edx
movzx eax, word [ebp - 0xa4]
movzx ecx, word [ebp - 0x48]
sub eax, ecx
mov word [ebp - 0x170], ax
mov edx, dword [ebp - 0x68]
movzx eax, byte [edx]
movzx ecx, byte [ebp - 0x6d]
and eax, ecx
mov byte [ebp - 0x99], al
mov edx, dword [ebp - 0x150]
sub edx, dword [0x411010]
mov dword [ebp - 0x24], edx
cmp dword [ebp - 0x1c], 0x38aa
jb 0x4031ce
mov dword [ebp - 0x104], 0x411c68
movzx eax, word [ebp - 0x8c]
mov ecx, dword [ebp - 0x3c]
movzx edx, word [ecx]
add eax, edx
movzx ecx, word [ebp - 0xb4]
movzx edx, word [0x411004]
add ecx, edx
cmp eax, ecx
jg 0x4032f5
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x154]
add ecx, dword [eax]
mov edx, dword [ebp - 0x1a0]
mov dword [edx], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x114]
mov eax, dword [edx]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x114]
mov edx, dword [0x41100c]
sub edx, dword [ecx]
mov dword [ebp - 0x19c], edx
mov al, byte [ebp - 0x99]
mov byte [ebp - 0x149], al
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx]
movzx eax, word [0x411004]
or edx, eax
mov word [ebp - 0xa4], dx
jmp 0x40332a
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
add edx, dword [ebp - 0x17c]
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x160]
add ecx, dword [eax]
cmp edx, ecx
je 0x40332a
mov edx, dword [ebp - 0x1ac]
mov eax, dword [ebp - 4]
mov ecx, dword [edx]
xor ecx, dword [eax]
mov edx, dword [ebp - 0x174]
mov dword [edx], ecx
mov dword [ebp - 0x198], 0x40c170
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0x164]
mov edx, dword [edx]
mov ecx, dword [eax]
sar edx, cl
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x154]
mov ecx, dword [eax]
shl edx, cl
mov dword [ebp - 0x160], edx
jmp 0x403428
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [ebp - 0x17c]
sub ecx, dword [eax]
mov edx, dword [ebp - 4]
mov eax, dword [edx]
mov edx, dword [ebp - 0x174]
add eax, dword [edx]
cmp ecx, eax
jbe 0x403428
mov eax, dword [ebp - 0x60]
and eax, dword [ebp - 0x150]
mov ecx, dword [ebp - 0x1ac]
mov dword [ecx], eax
mov edx, dword [ebp - 0x88]
mov eax, dword [edx]
sub eax, dword [0x41100c]
mov dword [ebp - 0x168], eax
movzx ecx, byte [ebp - 0x6d]
movzx edx, byte [ebp - 0x185]
sub ecx, edx
mov byte [ebp - 0x176], cl
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3c]
movzx eax, word [edx]
sub ecx, eax
mov word [ebp - 0x8c], cx
mov ecx, dword [ebp - 0x154]
add ecx, dword [ebp - 0x17c]
mov dword [0x411008], ecx
lea edx, [ebp - 0x1ac]
push edx
push 0x53
push 0x62
mov eax, dword [ebp - 0x40]
push eax
call sub.WINSPOOL.DRV_FindFirstPrinterChangeNotification
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x164]
mov dword [edx], ecx
mov eax, dword [ebp - 0x15c]
movzx ecx, byte [eax]
push ecx
call fcn.00404e30
movsx edx, word [ebp - 0x1a4]
movsx eax, word [ebp - 0xa0]
add edx, eax
mov ecx, dword [ebp - 0x180]
mov word [ecx], dx
mov edx, dword [ebp - 0x15c]
movsx eax, byte [edx]
movsx ecx, byte [section..data]
and eax, ecx
mov byte [ebp - 0x41], al
mov edx, dword [ebp - 0x14]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
sub eax, edx
mov byte [ebp - 0x176], al
mov eax, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x150]
mov ecx, dword [eax]
shr edx, cl
mov eax, dword [0x411008]
xor eax, dword [ebp - 0x160]
cmp edx, eax
ja 0x4034a2
mov ecx, dword [ebp - 0x7c]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x158]
push ecx
call fcn.004040b0
jmp 0x4034db
movzx edx, word [ebp - 0x170]
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
shl edx, cl
movzx ecx, word [ebp - 0x8c]
mov eax, dword [ebp - 0x10c]
movzx eax, word [eax]
or ecx, eax
cmp edx, ecx
jle 0x4034db
movzx ecx, word [0x411004]
movzx edx, word [ebp - 0xa4]
add ecx, edx
mov word [ebp - 0x48], cx
jmp 0x403563
movzx eax, byte [ebp - 0x7d]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
add eax, edx
movzx ecx, byte [ebp - 0x175]
mov edx, dword [ebp - 0x68]
movzx edx, byte [edx]
sub ecx, edx
cmp eax, ecx
jge 0x403563
mov eax, dword [ebp - 0x164]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x16c]
add ecx, dword [edx]
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x168]
cmp ecx, eax
je 0x403530
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x1b8]
or edx, dword [ecx]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x164]
mov edx, dword [ebp - 0x1b8]
mov ecx, dword [eax]
sar edx, cl
mov eax, dword [ebp - 0x16c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x3c]
movzx edx, word [ecx]
push edx
mov eax, dword [ebp - 0x68]
movzx ecx, byte [eax]
push ecx
movzx edx, word [ebp - 0x1a4]
push edx
call fcn.00404060
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
movzx edx, word [ebp - 0x1a8]
and ecx, edx
mov word [ebp - 0x170], cx
mov eax, dword [ebp - 0x10c]
movzx ecx, word [eax]
push ecx
mov edx, dword [ebp - 0x1a0]
mov eax, dword [edx]
push eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx]
push edx
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x154]
push edx
call fcn.00403960
mov eax, dword [ebp - 0x18]
movzx ecx, word [eax]
mov edx, dword [ebp - 0x3c]
movzx eax, word [edx]
add ecx, eax
mov word [ebp - 0xa4], cx
movzx ecx, byte [ebp - 0x176]
movzx edx, byte [ebp - 0x141]
add ecx, edx
mov byte [ebp - 0x6d], cl
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x164]
add ecx, dword [edx]
mov dword [ebp - 0x19c], ecx
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [eax]
sub edx, dword [ecx]
mov dword [ebp - 0x2c], edx
movzx eax, byte [ebp - 0x6d]
movzx ecx, byte [ebp - 0x99]
sub eax, ecx
mov byte [ebp - 0x7d], al
mov edx, dword [ebp - 0x18]
movzx eax, word [edx]
movzx ecx, word [ebp - 0xb4]
add eax, ecx
mov edx, dword [ebp - 0x18]
mov word [edx], ax
movzx eax, byte [ebp - 0x7d]
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
and eax, edx
mov byte [ebp - 0x6d], al
mov eax, dword [ebp - 0x88]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x1b8]
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x160]
sub eax, dword [edx]
mov dword [0x411008], eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x168]
add edx, dword [ecx]
mov dword [ebp - 0x1b8], edx
mov eax, dword [ebp - 0xdc]
push eax
call sub.WINSPOOL.DRV_AbortPrinter
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x88]
mov eax, dword [ecx]
xor eax, dword [edx]
mov ecx, dword [ebp - 0x16c]
mov dword [ecx], eax
movzx edx, byte [ebp - 0x141]
mov eax, dword [ebp - 0x14]
movzx ecx, byte [eax]
sar edx, cl
mov byte [ebp - 0x7d], dl
mov ecx, dword [ebp - 0x160]
add ecx, dword [ebp - 0x154]
mov edx, dword [ebp - 0x50]
mov dword [edx], ecx
jmp 0x403780
lea eax, [ebp - 0x1ac]
push eax
push 0x7b
lea ecx, [ebp - 0x180]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call sub.WINSPOOL.DRV_ReadPrinter
mov dword [ebp - 0x108], eax
movzx eax, byte [ebp - 0x7d]
mov ecx, dword [ebp - 0x68]
movzx edx, byte [ecx]
add eax, edx
mov ecx, dword [ebp - 0x14]
mov byte [ecx], al
mov edx, dword [ebp - 0x16c]
mov eax, dword [ebp - 0x88]
mov ecx, dword [edx]
sub ecx, dword [eax]
mov dword [ebp - 0x1b8], ecx
movsx edx, byte [ebp - 0x41]
mov eax, dword [ebp - 0x134]
movsx ecx, byte [eax]
add edx, ecx
mov byte [section..data], dl
mov edx, dword [ebp - 0x180]
movsx eax, word [edx]
movsx ecx, word [ebp - 0xa0]
cdq
idiv ecx
movsx edx, word [ebp - 0x1a4]
cmp eax, edx
jle 0x403768
mov eax, dword [ebp - 0x16c]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x1b8]
sar edx, cl
mov eax, dword [ebp - 0x88]
mov dword [eax], edx
mov ecx, dword [ebp - 0x10c]
movzx edx, word [ecx]
push edx
movzx eax, byte [ebp - 0x7d]
push eax
mov ecx, dword [ebp - 0x180]
movzx edx, word [ecx]
push edx
call fcn.00404060
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x16c]
mov edx, dword [eax]
mov ecx, dword [ecx]
shl edx, cl
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x68]
movzx edx, byte [eax]
movzx ecx, byte [ebp - 0x7d]
shl edx, cl
mov eax, dword [ebp - 0x14]
mov byte [eax], dl
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x60]
xor edx, dword [ecx]
mov eax, dword [ebp - 0x1ac]
mov ecx, dword [eax]
and ecx, dword [ebp - 0x154]
cmp edx, ecx
jne 0x4037c1
mov edx, dword [ebp - 0x3c]
movzx eax, word [edx]
movzx ecx, word [0x411004]
and eax, ecx
mov word [ebp - 0xb4], ax
mov edx, dword [ebp - 0x1ac]
mov eax, dword [edx]
sub eax, dword [ebp - 0x154]
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x88]
mov edx, dword [ecx]
add edx, dword [ebp - 0x1b8]
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x16c]
mov ecx, dword [eax]
sub ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x88]
mov dword [edx], ecx
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [eax]
mov edx, dword [ebp - 4]
add ecx, dword [edx]
mov dword [ebp - 0x160], ecx
mov eax, dword [ebp - 0x1bc]
sub eax, dword [ebp - 0x90]
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 8]
movzx edx, byte [ecx]
push edx
mov eax, dword [ebp - 0x168]
push eax
mov ecx, dword [ebp - 0x1b8]
push ecx
call fcn.004040b0
jmp 0x4038c7
lea edx, [ebp - 0x30]
push edx
push 0x33
lea eax, [ebp - 0x1b8]
push eax
mov ecx, dword [ebp - 0xdc]
push ecx
call sub.WINSPOOL.DRV_WritePrinter
mov dword [ebp - 0x30], eax
movzx edx, word [ebp - 0x48]
mov dword [ebp - 0x1f8], edx
cmp dword [ebp - 0x1f8], 0x37e
je 0x403877
jmp 0x4038b2
mov eax, dword [ebp - 0x160]
sub eax, 0x41e9
mov ecx, dword [ebp - 0x1a0]
mov dword [ecx], eax
movzx edx, word [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x160]
push eax
mov ecx, dword [ebp - 0x1b8]
push ecx
mov edx, dword [ebp - 0x158]
push edx
mov eax, dword [ebp - 0x160]
push eax
call fcn.00403960
jmp 0x4038c7
movzx ecx, byte [ebp - 0x99]
movzx edx, byte [ebp - 0x141]
add ecx, edx
mov eax, dword [ebp - 0x14]
mov byte [eax], cl
movzx ecx, byte [ebp - 0x99]
movzx edx, byte [0x411c63]
or ecx, edx
mov byte [ebp - 0x141], cl
mov eax, dword [ebp - 0x7c]
movsx ecx, byte [eax]
movsx edx, byte [ebp - 0x41]
xor ecx, edx
mov eax, dword [ebp - 8]
mov byte [eax], cl
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ecx]
shl edx, 0x1b
mov dword [ebp - 0x160], edx
mov eax, dword [ebp - 0x1bc]
sub eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x14]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x141]
and edx, eax
mov byte [ebp - 0x99], dl
movzx ecx, word [ebp - 0x48]
movzx edx, word [ebp - 0xb4]
add ecx, edx
mov word [0x411004], cx
mov eax, dword [ebp - 0x7c]
movzx ecx, byte [eax]
push ecx
mov edx, dword [ebp - 0x1bc]
push edx
mov eax, dword [ebp - 0x1bc]
push eax
call fcn.004040b0
mov eax, dword [ebp - 0x4c]
mov esp, ebp
pop ebp
ret 0x10