Function at 0x4331d0
Capabilities:
Check os version
Create process on windows
Delete directory
Encode data using base64
Get number of processors
Resolve function by parsing pe exports
Self delete
Set registry value
Write and execute a file
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x469355
mov eax, dword fs:[0]
push eax
mov eax, 0x20054
call fcn.00454790
mov eax, dword [0x48807c]
xor eax, esp
mov dword [esp + 0x20050], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48807c]
xor eax, esp
push eax
lea eax, [esp + 0x20068]
mov dword fs:[0], eax
mov esi, dword [esp + 0x20078]
mov edi, ecx
push esi
xor ebp, ebp
push str.PKGMAIN_HandleRequest_____s__n
mov dword [esp + 0x20], edi
mov dword [esp + 0x30], ebp
call fcn.004454c0
mov dword [edi + 0x478], ebp
mov dword [edi + 0x47c], ebp
lea eax, [edi + 0x484]
xor ecx, ecx
mov dword [edi + 0x480], ebp
push 0x1c2d0
mov word [eax], cx
call fcn.004534f0
add esp, 0xc
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], ebp
cmp eax, ebp
je 0x433278
mov ecx, eax
call fcn.00444be0
mov ebx, eax
mov dword [esp + 0x9c], eax
jmp 0x433281
xor ebx, ebx
mov dword [esp + 0x9c], ebx
push 0x47b6cc
push esi
mov ecx, ebx
mov dword [esp + 0x20078], 0xffffffff
call fcn.00444e30
mov edi, eax
push edi
push str.Arguments____d_n
mov dword [esp + 0x5c], edi
call fcn.004454c0
add esp, 8
xor esi, esi
cmp edi, ebp
jle 0x433348
mov ebp, ebx
lea edi, [ebx + 0x32c8]
nop
xor eax, eax
cmp byte [ebx + 0x1c2cc], al
je 0x4332d8
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, edi
jmp 0x4332e4
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, ebp
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x21c]
push 0x46e600
push str.034_
push eax
call fcn.00449bc0
xor eax, eax
cmp byte [ebx + 0x1c2cc], al
je 0x433316
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, edi
jmp 0x433322
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, ebp
push eax
push esi
push str.___d____s__n
call fcn.004454c0
inc esi
add esp, 0xc
add edi, 0x800
add ebp, 0x104
cmp esi, dword [esp + 0x54]
jl 0x4332c0
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
mov ecx, dword [eax + 0x26c]
mov dword [esp + 0x3c], ecx
test esi, esi
jle 0x43dee9
push 0x206
xor ebp, ebp
lea eax, [esp + 0x1933a]
xor edx, edx
push ebp
push eax
mov word [esp + 0x19340], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0xe41e]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xe424], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0xf73a]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xf740], ax
call fcn.00453450
push 0x206
lea eax, [esp + 0x1118e]
xor edx, edx
push ebp
push eax
mov word [esp + 0x11194], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0xf482]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xf488], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x119c6]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x119cc], ax
call fcn.00453450
add esp, 0x48
push 0x206
lea eax, [esp + 0x11782]
xor edx, edx
push ebp
push eax
mov word [esp + 0x11788], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0xfd46]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xfd4c], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x19f82]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x19f88], ax
call fcn.00453450
push 0x206
lea eax, [esp + 0x11396]
xor edx, edx
push ebp
push eax
mov word [esp + 0x1139c], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0x168d2]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x168d8], cx
call fcn.00453450
xor eax, eax
mov word [esp + 0x18740], ax
push 0x206
lea ecx, [esp + 0x18746]
push ebp
push ecx
call fcn.00453450
add esp, 0x48
push 0x206
lea eax, [esp + 0xec32]
xor edx, edx
push ebp
push eax
mov word [esp + 0xec38], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0x176d6]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x176dc], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0xe632]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xe638], ax
call fcn.00453450
push 0x206
lea eax, [esp + 0x19b7e]
xor edx, edx
push ebp
push eax
mov word [esp + 0x19b84], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0x154a2]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x154a8], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x10d96]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x10d9c], ax
call fcn.00453450
add esp, 0x48
push 0x206
lea eax, [esp + 0x1669a]
xor edx, edx
push ebp
push eax
mov word [esp + 0x166a0], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0x131f6]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x131fc], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x17af2]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x17af8], ax
call fcn.00453450
push 0x206
lea eax, [esp + 0xe22e]
xor edx, edx
push ebp
push eax
mov word [esp + 0xe234], dx
call fcn.00453450
xor ecx, ecx
push 0x206
mov word [esp + 0x10b80], cx
push ebp
lea edx, [esp + 0x10b86]
push edx
call fcn.00453450
push 0x206
lea ecx, [esp + 0xfb6e]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xfb74], ax
call fcn.00453450
add esp, 0x48
push 0x206
lea eax, [esp + 0x14022]
xor edx, edx
push ebp
push eax
mov word [esp + 0x14028], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0x11586]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x1158c], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x15aa2]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x15aa8], ax
call fcn.00453450
push 0x206
lea eax, [esp + 0x15cb6]
xor edx, edx
push ebp
push eax
mov word [esp + 0x15cbc], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0xf27a]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xf280], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x1853e]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x18544], ax
call fcn.00453450
add esp, 0x48
push 0x206
lea eax, [esp + 0x1014a]
xor edx, edx
push ebp
push eax
mov word [esp + 0x10150], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0xf936]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xf93c], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x12df2]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x12df8], ax
call fcn.00453450
push 0x206
xor edx, edx
push ebp
lea eax, [esp + 0x16ad2]
mov word [esp + 0x16ad0], dx
push eax
call fcn.00453450
push 0x206
lea edx, [esp + 0x10f92]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x10f98], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x1383e]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x13844], ax
call fcn.00453450
add esp, 0x48
push 0x206
lea eax, [esp + 0x13a0a]
xor edx, edx
push ebp
push eax
mov word [esp + 0x13a10], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0x16ec6]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x16ecc], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x1810a]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x18110], ax
call fcn.00453450
push 0x206
lea eax, [esp + 0x1831e]
xor edx, edx
push ebp
push eax
mov word [esp + 0x18324], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0x18b4a]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x18b50], cx
call fcn.00453450
push 0x206
lea ecx, [esp + 0x19d9e]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x19da4], ax
call fcn.00453450
add esp, 0x48
push 0x206
lea eax, [esp + 0x1a172]
xor edx, edx
push ebp
push eax
mov word [esp + 0x1a178], dx
call fcn.00453450
push 0x206
lea edx, [esp + 0x14646]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x1464c], cx
call fcn.00453450
add esp, 0x18
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [eax + str.public]
mov word [esp + eax + 0x14634], cx
add eax, 2
cmp cx, bp
jne 0x433880
push 0x206
lea ecx, [esp + 0x16cb2]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x16cb8], ax
call fcn.00453450
push 0xc6
lea eax, [esp + 0xf666]
xor edx, edx
push ebp
mov ebx, 1
push eax
mov byte [esp + 0x5f], 0
mov byte [esp + 0x64], 0
mov dword [esp + 0x98], 0x238c
mov dword [esp + 0x90], 3
mov dword [esp + 0x8c], ebp
mov byte [esp + 0x80], 0
mov byte [esp + 0x78], 0
mov byte [esp + 0x76], 0
mov byte [esp + 0x75], 0
mov byte [esp + 0x62], 0
mov byte [esp + 0x4a], 0
mov byte [esp + 0x3c], 0
mov byte [esp + 0x4c], 0
mov byte [esp + 0x2f], 0
mov byte [esp + 0x6b], 1
mov dword [esp + 0x9c], ebx
mov byte [esp + 0x5e], 0
mov dword [esp + 0x88], ebp
mov word [esp + 0xf66c], dx
call fcn.00453450
mov edi, dword [esp + 0xb4]
add esp, 0x18
cmp byte [edi + 0x1c2cc], 0
mov dword [esp + 0x40], ebp
mov dword [esp + 0x2c], ebp
je 0x433974
cmp dword [edi + 0x1c2c8], ebp
jg 0x43396c
xor ecx, ecx
jmp 0x433982
lea ecx, [edi + 0x32c8]
jmp 0x433982
xor ecx, ecx
cmp dword [edi + 0x1c2c8], ebp
setle cl
dec ecx
and ecx, edi
lea edx, [esp + 0xee34]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433990
cmp esi, ebx
jle 0x4351da
lea esp, [esp]
cmp byte [edi + 0x1c2cc], 0
je 0x4339d3
cmp ebx, dword [edi + 0x1c2c8]
jl 0x4339c5
xor ecx, ecx
jmp 0x4339e9
mov ecx, ebx
shl ecx, 0xb
lea ecx, [ecx + edi + 0x32c8]
jmp 0x4339e9
cmp ebx, dword [edi + 0x1c2c8]
jl 0x4339df
xor ecx, ecx
jmp 0x4339e9
mov ecx, ebx
imul ecx, ecx, 0x104
add ecx, edi
lea edx, [esp + 0xe81c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4339f0
cmp word [esp + 0xe81c], 0x2f
jne 0x433a19
mov edx, 0x2d
mov word [esp + 0xe81c], dx
lea eax, [esp + 0xe81c]
push 0x47b6c4
push eax
call fcn.00453ad3
mov esi, dword [esp + 0x5c]
add esp, 8
test eax, eax
jne 0x433a91
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x433a91
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433a61
cmp eax, dword [edi + 0x1c2c8]
jl 0x433a55
xor ecx, ecx
jmp 0x433a77
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x433a77
cmp eax, dword [edi + 0x1c2c8]
jl 0x433a6d
xor eax, eax
jmp 0x433a75
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x19334]
mov edi, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433a80
lea edx, [esp + 0xe81c]
push 0x47b6bc
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433b87
lea eax, [esi - 1]
cmp ebx, eax
jge 0x433b87
cmp byte [edi + 0x1c2cc], 0
lea ecx, [ebx + 1]
je 0x433adf
cmp ecx, dword [edi + 0x1c2c8]
jl 0x433ad1
xor edx, edx
jmp 0x433af5
mov edx, ecx
shl edx, 0xb
lea edx, [edx + edi + 0x32c8]
jmp 0x433af5
cmp ecx, dword [edi + 0x1c2c8]
jl 0x433aeb
xor edx, edx
jmp 0x433af5
mov edx, ecx
imul edx, edx, 0x104
add edx, edi
lea esi, [esp + 0xe40c]
lea esp, [esp]
movzx eax, word [edx]
mov word [esi], ax
add edx, 2
add esi, 2
cmp ax, bp
jne 0x433b00
cmp byte [edi + 0x1c2cc], 0
je 0x433b32
cmp ecx, dword [edi + 0x1c2c8]
jl 0x433b26
xor ecx, ecx
jmp 0x433b46
shl ecx, 0xb
lea ecx, [ecx + edi + 0x32c8]
jmp 0x433b46
cmp ecx, dword [edi + 0x1c2c8]
jl 0x433b3e
xor ecx, ecx
jmp 0x433b46
imul ecx, ecx, 0x104
add ecx, edi
lea edx, [esp + 0xf71c]
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433b50
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xe40c]
push eax
mov ecx, esi
call fcn.00432880
lea ecx, [esp + 0xf71c]
push ecx
mov ecx, esi
call fcn.00432880
mov esi, dword [esp + 0x54]
lea edx, [esp + 0xe81c]
push 0x47b6b4
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433c01
lea eax, [esi - 1]
cmp ebx, eax
jge 0x433c01
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433bcb
cmp eax, dword [edi + 0x1c2c8]
jl 0x433bbf
xor ecx, ecx
jmp 0x433be1
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x433be1
cmp eax, dword [edi + 0x1c2c8]
jl 0x433bd7
xor eax, eax
jmp 0x433bdf
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x11164]
jmp 0x433bf0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433bf0
lea ecx, [esp + 0xe81c]
push 0x47b6ac
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433c73
lea edx, [esi - 1]
cmp ebx, edx
jge 0x433c73
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433c45
cmp eax, dword [edi + 0x1c2c8]
jl 0x433c39
xor ecx, ecx
jmp 0x433c5b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x433c5b
cmp eax, dword [edi + 0x1c2c8]
jl 0x433c51
xor eax, eax
jmp 0x433c59
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf44c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433c62
lea eax, [esp + 0xe81c]
push 0x47b6a4
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433ce5
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x433ce5
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433cb7
cmp eax, dword [edi + 0x1c2c8]
jl 0x433cab
xor ecx, ecx
jmp 0x433ccd
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x433ccd
cmp eax, dword [edi + 0x1c2c8]
jl 0x433cc3
xor eax, eax
jmp 0x433ccb
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x11984]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433cd4
lea edx, [esp + 0xe81c]
push 0x47b69c
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433d57
lea eax, [esi - 1]
cmp ebx, eax
jge 0x433d57
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433d29
cmp eax, dword [edi + 0x1c2c8]
jl 0x433d1d
xor ecx, ecx
jmp 0x433d3f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x433d3f
cmp eax, dword [edi + 0x1c2c8]
jl 0x433d35
xor eax, eax
jmp 0x433d3d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1177c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433d46
lea ecx, [esp + 0xe81c]
push 0x47b694
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433dd1
lea edx, [esi - 1]
cmp ebx, edx
jge 0x433dd1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433d9b
cmp eax, dword [edi + 0x1c2c8]
jl 0x433d8f
xor ecx, ecx
jmp 0x433db1
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x433db1
cmp eax, dword [edi + 0x1c2c8]
jl 0x433da7
xor eax, eax
jmp 0x433daf
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xfd34]
jmp 0x433dc0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433dc0
lea eax, [esp + 0xe81c]
push str._reg
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433e43
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x433e43
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433e15
cmp eax, dword [edi + 0x1c2c8]
jl 0x433e09
xor ecx, ecx
jmp 0x433e2b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x433e2b
cmp eax, dword [edi + 0x1c2c8]
jl 0x433e21
xor eax, eax
jmp 0x433e29
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x19f64]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433e32
lea edx, [esp + 0xe81c]
push 0x47b680
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433ea8
lea eax, [esi - 1]
cmp ebx, eax
jge 0x433ea8
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433e87
cmp eax, dword [edi + 0x1c2c8]
jl 0x433e7b
xor eax, eax
jmp 0x433e9b
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x433e9b
cmp eax, dword [edi + 0x1c2c8]
jl 0x433e93
xor eax, eax
jmp 0x433e9b
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.00453b7c
add esp, 4
mov dword [esp + 0x40], eax
lea ecx, [esp + 0xe81c]
push 0x47b678
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433f0d
lea edx, [esi - 1]
cmp ebx, edx
jge 0x433f0d
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433eec
cmp eax, dword [edi + 0x1c2c8]
jl 0x433ee0
xor eax, eax
jmp 0x433f00
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x433f00
cmp eax, dword [edi + 0x1c2c8]
jl 0x433ef8
xor eax, eax
jmp 0x433f00
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.00453b7c
add esp, 4
mov dword [esp + 0x2c], eax
lea eax, [esp + 0xe81c]
push str._snmp
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433f79
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x433f79
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433f51
cmp eax, dword [edi + 0x1c2c8]
jl 0x433f45
xor eax, eax
jmp 0x433f65
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x433f65
cmp eax, dword [edi + 0x1c2c8]
jl 0x433f5d
xor eax, eax
jmp 0x433f65
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.00453b7c
add esp, 4
cmp eax, ebp
jne 0x433f79
mov dword [esp + 0x84], ebp
lea edx, [esp + 0xe81c]
push str._snmpread
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x433ff1
lea eax, [esi - 1]
cmp ebx, eax
jge 0x433ff1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x433fbd
cmp eax, dword [edi + 0x1c2c8]
jl 0x433fb1
xor ecx, ecx
jmp 0x433fd3
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x433fd3
cmp eax, dword [edi + 0x1c2c8]
jl 0x433fc9
xor eax, eax
jmp 0x433fd1
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x14634]
lea ebx, [ebx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x433fe0
lea ecx, [esp + 0xe81c]
push str._wait
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43405b
lea edx, [esi - 1]
cmp ebx, edx
jge 0x43405b
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434035
cmp eax, dword [edi + 0x1c2c8]
jl 0x434029
xor eax, eax
jmp 0x434049
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x434049
cmp eax, dword [edi + 0x1c2c8]
jl 0x434041
xor eax, eax
jmp 0x434049
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.00453b7c
add esp, 4
cmp eax, 1
jne 0x43405b
mov dword [esp + 0x70], eax
lea eax, [esp + 0xe81c]
push str._protocol
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4340d1
dec esi
cmp ebx, esi
jge 0x4340d1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43409d
cmp eax, dword [edi + 0x1c2c8]
jl 0x434091
xor ecx, ecx
jmp 0x4340b3
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4340b3
cmp eax, dword [edi + 0x1c2c8]
jl 0x4340a9
xor eax, eax
jmp 0x4340b1
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf654]
lea ebx, [ebx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4340c0
lea ecx, [esp + 0xe81c]
push str._sim
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4340ef
mov byte [esp + 0x24], 1
lea edx, [esp + 0xe81c]
push 0x47b624
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4341c1
mov eax, dword [esp + 0x54]
dec eax
cmp ebx, eax
jge 0x4341c1
cmp byte [edi + 0x1c2cc], 0
lea ecx, [ebx + 1]
je 0x43413f
cmp ecx, dword [edi + 0x1c2c8]
jl 0x434131
xor edx, edx
jmp 0x434155
mov edx, ecx
shl edx, 0xb
lea edx, [edx + edi + 0x32c8]
jmp 0x434155
cmp ecx, dword [edi + 0x1c2c8]
jl 0x43414b
xor edx, edx
jmp 0x434155
mov edx, ecx
imul edx, edx, 0x104
add edx, edi
lea esi, [esp + 0x1136c]
lea esp, [esp]
movzx eax, word [edx]
mov word [esi], ax
add edx, 2
add esi, 2
cmp ax, bp
jne 0x434160
cmp byte [edi + 0x1c2cc], 0
je 0x434192
cmp ecx, dword [edi + 0x1c2c8]
jl 0x434186
xor ecx, ecx
jmp 0x4341a6
shl ecx, 0xb
lea ecx, [ecx + edi + 0x32c8]
jmp 0x4341a6
cmp ecx, dword [edi + 0x1c2c8]
jl 0x43419e
xor ecx, ecx
jmp 0x4341a6
imul ecx, ecx, 0x104
add ecx, edi
lea edx, [esp + 0x1689c]
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4341b0
lea eax, [esp + 0xe81c]
push str._dbv
push eax
call fcn.00453ad3
mov esi, dword [esp + 0x5c]
add esp, 8
test eax, eax
jne 0x434237
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x434237
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434209
cmp eax, dword [edi + 0x1c2c8]
jl 0x4341fd
xor ecx, ecx
jmp 0x43421f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43421f
cmp eax, dword [edi + 0x1c2c8]
jl 0x434215
xor eax, eax
jmp 0x43421d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x18704]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x434226
lea edx, [esp + 0xe81c]
push str._nomk
push edx
call fcn.00453ad3
lea eax, [esp + 0xe824]
push 0x47b604
push eax
call fcn.00453ad3
add esp, 0x10
test eax, eax
jne 0x4342e2
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x4342e2
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434291
cmp eax, dword [edi + 0x1c2c8]
jl 0x434285
xor ecx, ecx
jmp 0x4342a7
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4342a7
cmp eax, dword [edi + 0x1c2c8]
jl 0x43429d
xor eax, eax
jmp 0x4342a5
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xec2c]
mov edi, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4342b0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x21c]
push 0x46a9cc
push 0x47b5fc
lea edx, [esp + 0xec34]
push edx
call fcn.00449bc0
lea ecx, [esp + 0xe81c]
push str._oldp
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434354
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434354
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434326
cmp eax, dword [edi + 0x1c2c8]
jl 0x43431a
xor ecx, ecx
jmp 0x43433c
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43433c
cmp eax, dword [edi + 0x1c2c8]
jl 0x434332
xor eax, eax
jmp 0x43433a
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x176c4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x434343
lea eax, [esp + 0xe81c]
push 0x47b5e8
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4343c6
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x4343c6
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434398
cmp eax, dword [edi + 0x1c2c8]
jl 0x43438c
xor ecx, ecx
jmp 0x4343ae
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4343ae
cmp eax, dword [edi + 0x1c2c8]
jl 0x4343a4
xor eax, eax
jmp 0x4343ac
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xe614]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4343b5
lea edx, [esp + 0xe81c]
push 0x47b5e0
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434438
lea eax, [esi - 1]
cmp ebx, eax
jge 0x434438
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43440a
cmp eax, dword [edi + 0x1c2c8]
jl 0x4343fe
xor ecx, ecx
jmp 0x434420
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x434420
cmp eax, dword [edi + 0x1c2c8]
jl 0x434416
xor eax, eax
jmp 0x43441e
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x19b54]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x434427
lea ecx, [esp + 0xe81c]
push str._fonti
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4344b1
lea edx, [esi - 1]
cmp ebx, edx
mov byte [esp + 0x53], 1
jge 0x4344b1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434481
cmp eax, dword [edi + 0x1c2c8]
jl 0x434475
xor ecx, ecx
jmp 0x434497
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x434497
cmp eax, dword [edi + 0x1c2c8]
jl 0x43448d
xor eax, eax
jmp 0x434495
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1546c]
mov edi, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4344a0
lea eax, [esp + 0xe81c]
push str._fontr
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4344ce
mov byte [esp + 0x53], al
lea ecx, [esp + 0xe81c]
push str._hid
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434541
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434541
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434512
cmp eax, dword [edi + 0x1c2c8]
jl 0x434506
xor ecx, ecx
jmp 0x434528
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x434528
cmp eax, dword [edi + 0x1c2c8]
jl 0x43451e
xor eax, eax
jmp 0x434526
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10d54]
nop
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x434530
lea eax, [esp + 0xe81c]
push str._cid
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4345b3
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x4345b3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434585
cmp eax, dword [edi + 0x1c2c8]
jl 0x434579
xor ecx, ecx
jmp 0x43459b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43459b
cmp eax, dword [edi + 0x1c2c8]
jl 0x434591
xor eax, eax
jmp 0x434599
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x16694]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4345a2
lea edx, [esp + 0xe81c]
push str._diid
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434625
lea eax, [esi - 1]
cmp ebx, eax
jge 0x434625
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4345f7
cmp eax, dword [edi + 0x1c2c8]
jl 0x4345eb
xor ecx, ecx
jmp 0x43460d
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43460d
cmp eax, dword [edi + 0x1c2c8]
jl 0x434603
xor eax, eax
jmp 0x43460b
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x131e4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x434614
lea ecx, [esp + 0xe81c]
push 0x47b594
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434697
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434697
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434669
cmp eax, dword [edi + 0x1c2c8]
jl 0x43465d
xor ecx, ecx
jmp 0x43467f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43467f
cmp eax, dword [edi + 0x1c2c8]
jl 0x434675
xor eax, eax
jmp 0x43467d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x17ad4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x434686
lea eax, [esp + 0xe81c]
push 0x47b58c
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434768
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x434768
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4346e3
cmp eax, dword [edi + 0x1c2c8]
jl 0x4346d7
xor ecx, ecx
jmp 0x4346f9
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4346f9
cmp eax, dword [edi + 0x1c2c8]
jl 0x4346ef
xor eax, eax
jmp 0x4346f7
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x15674]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x434700
mov eax, 0x5c
cmp word [esp + 0x15674], ax
je 0x43474a
cmp word [esp + 0x15676], ax
je 0x43474a
lea edx, [esp + 0x15674]
push edx
lea eax, [esp + 0xe208]
push str._s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x434768
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x15674]
mov word [esp + eax + 0xe204], cx
add eax, 2
cmp cx, bp
jne 0x434750
lea ecx, [esp + 0xe81c]
push 0x47b584
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4347e1
lea edx, [esi - 1]
cmp ebx, edx
jge 0x4347e1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4347ac
cmp eax, dword [edi + 0x1c2c8]
jl 0x4347a0
xor ecx, ecx
jmp 0x4347c2
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4347c2
cmp eax, dword [edi + 0x1c2c8]
jl 0x4347b8
xor eax, eax
jmp 0x4347c0
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10b4c]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4347d0
lea eax, [esp + 0xe81c]
push 0x47b57c
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434853
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x434853
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434825
cmp eax, dword [edi + 0x1c2c8]
jl 0x434819
xor ecx, ecx
jmp 0x43483b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43483b
cmp eax, dword [edi + 0x1c2c8]
jl 0x434831
xor eax, eax
jmp 0x434839
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xfb2c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x434842
lea edx, [esp + 0xe81c]
push 0x47b574
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434948
lea eax, [esi - 1]
cmp ebx, eax
jge 0x4348bd
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43489b
cmp eax, dword [edi + 0x1c2c8]
jl 0x43488f
xor eax, eax
jmp 0x4348af
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x4348af
cmp eax, dword [edi + 0x1c2c8]
jl 0x4348a7
xor eax, eax
jmp 0x4348af
imul eax, eax, 0x104
add eax, edi
push eax
push str.PKGMAIN_HandleRequest_xander_____s__n
call fcn.004454c0
add esp, 8
push 0x206
lea edx, [esp + 0x17eea]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x17ef0], cx
call fcn.00453450
add esp, 0xc
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x434901
cmp eax, dword [edi + 0x1c2c8]
jl 0x4348f5
xor ecx, ecx
jmp 0x434917
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x434917
cmp eax, dword [edi + 0x1c2c8]
jl 0x43490d
xor eax, eax
jmp 0x434915
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x17ee4]
mov edi, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x434920
lea eax, [esp + 0x17ee4]
push eax
call fcn.00453b7c
add esp, 4
mov dword [esp + 0x80], eax
lea ecx, [esp + 0xe81c]
push 0x47b51c
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4349c1
lea edx, [esi - 1]
cmp ebx, edx
jge 0x4349c1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43498c
cmp eax, dword [edi + 0x1c2c8]
jl 0x434980
xor ecx, ecx
jmp 0x4349a2
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4349a2
cmp eax, dword [edi + 0x1c2c8]
jl 0x434998
xor eax, eax
jmp 0x4349a0
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1401c]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4349b0
lea eax, [esp + 0xe81c]
push 0x47b514
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4349e2
mov dword [esp + 0x74], 1
lea ecx, [esp + 0xe81c]
push 0x47b50c
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434a25
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434a25
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x11574]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434a14
lea ecx, [esp + 0xe81c]
push 0x47b504
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434a71
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434a71
lea eax, [ebx + 1]
push eax
mov ecx, edi
mov byte [esp + 0x50], 1
call fcn.00401b00
lea edx, [esp + 0x15a84]
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434a60
lea ecx, [esp + 0xe81c]
push str._cmt
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434ab4
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434ab4
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x15c8c]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434aa3
lea ecx, [esp + 0xe81c]
push str._env
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434af7
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434af7
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0xf244]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434ae6
lea ecx, [esp + 0xe81c]
push 0x47b4e4
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434b14
mov dword [esp + 0x78], ebp
lea edx, [esp + 0xe81c]
push 0x47b4dc
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434b35
mov dword [esp + 0x78], 2
lea eax, [esp + 0xe81c]
push 0x47b4d4
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434b56
mov dword [esp + 0x78], 3
lea ecx, [esp + 0xe81c]
push 0x47b4cc
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434b74
mov byte [esp + 0x68], 1
lea edx, [esp + 0xe81c]
push str._cpy
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434b92
mov byte [esp + 0x5e], 1
lea eax, [esp + 0xe81c]
push str._verchk
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434bb0
mov byte [esp + 0x5d], 1
lea ecx, [esp + 0xe81c]
push str._rmdp
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434bce
mov byte [esp + 0x34], 1
lea edx, [esp + 0xe81c]
push 0x47b49c
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434bec
mov byte [esp + 0x60], 1
lea eax, [esp + 0xe81c]
push str._sim
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434c0a
mov byte [esp + 0x24], 1
lea ecx, [esp + 0xe81c]
push 0x47b494
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434c51
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434c51
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0xfd34]
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434c40
lea ecx, [esp + 0xe81c]
push 0x47b48c
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434c94
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434c94
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x182f4]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434c83
lea ecx, [esp + 0xe81c]
push 0x47b484
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434cd7
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434cd7
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x184fc]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434cc6
lea ecx, [esp + 0xe81c]
push 0x47b47c
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434d21
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434d21
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x180ec]
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434d10
lea ecx, [esp + 0xe81c]
push 0x47b474
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434d64
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434d64
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x10144]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434d53
lea ecx, [esp + 0xe81c]
push 0x47b46c
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434da7
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434da7
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0xf924]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434d96
lea ecx, [esp + 0xe81c]
push str._kxpfile
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434df1
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434df1
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x12dd4]
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434de0
lea ecx, [esp + 0xe81c]
push str._plugdll
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434e34
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434e34
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x16eb4]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434e23
lea ecx, [esp + 0xe81c]
push 0x47b43c
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434e77
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434e77
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x16aa4]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434e66
lea ecx, [esp + 0xe81c]
push 0x47b434
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434ec1
lea edx, [esi - 1]
cmp ebx, edx
jge 0x434ec1
lea eax, [ebx + 1]
push eax
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x10f5c]
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434eb0
lea ecx, [esp + 0xe81c]
push str._conn
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434ee4
mov byte [esp + 0x4a], 1
mov byte [esp + 0x32], 1
lea edx, [esp + 0xe81c]
push str._printui
push edx
call fcn.00453ad3
lea eax, [esp + 0xe824]
push str._arpaddiopt
push eax
call fcn.00453ad3
add esp, 0x10
test eax, eax
jne 0x434f41
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x434f41
lea edx, [ebx + 1]
push edx
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x137fc]
jmp 0x434f30
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434f30
lea eax, [esp + 0xe81c]
push str._arprmvopt
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434f84
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x434f84
lea edx, [ebx + 1]
push edx
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x13a04]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434f73
lea eax, [esp + 0xe81c]
push str._uid
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x434fc7
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x434fc7
lea edx, [ebx + 1]
push edx
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x18b14]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x434fb6
lea eax, [esp + 0xe81c]
push str._pwd
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x435011
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x435011
lea edx, [ebx + 1]
push edx
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x19d5c]
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x435000
lea eax, [esp + 0xe81c]
push str._dom
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x435054
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x435054
lea edx, [ebx + 1]
push edx
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x1a16c]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x435043
lea eax, [esp + 0xe81c]
push str._addi
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x435072
mov byte [esp + 0x17], 1
lea ecx, [esp + 0xe81c]
push str._upd
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x435090
mov byte [esp + 0x47], 1
lea edx, [esp + 0xe81c]
push str._importselfsign
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4350ae
mov byte [esp + 0x46], 1
lea eax, [esp + 0xe81c]
push 0x47b380
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4350f1
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x4350f1
lea edx, [ebx + 1]
push edx
mov ecx, edi
call fcn.00401b00
lea edx, [esp + 0x16cac]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
cmp cx, bp
jne 0x4350e0
lea eax, [esp + 0xe81c]
push str._src
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x435161
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43512e
cmp eax, dword [edi + 0x1c2c8]
jl 0x435122
xor ecx, ecx
jmp 0x435144
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x435144
cmp eax, dword [edi + 0x1c2c8]
jl 0x43513a
xor eax, eax
jmp 0x435142
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x11164]
jmp 0x435150
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x435150
lea ecx, [esp + 0xe81c]
push str._dst
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4351d1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43519e
cmp eax, dword [edi + 0x1c2c8]
jl 0x435192
xor ecx, ecx
jmp 0x4351b4
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4351b4
cmp eax, dword [edi + 0x1c2c8]
jl 0x4351aa
xor eax, eax
jmp 0x4351b2
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf44c]
jmp 0x4351c0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4351c0
inc ebx
cmp ebx, esi
jl 0x4339b0
mov esi, dword [esp + 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
cmp word [esp + 0xf71c], bp
je 0x435298
mov ecx, dword [esi + 0x21c]
push ebp
lea edx, [esp + 0xf720]
push edx
call fcn.004496a0
test al, al
jne 0x435298
lea eax, [esp + 0x1a784]
push eax
push ebp
lea ecx, [esp + 0xf724]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.0044a990
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x1a784]
push edx
lea eax, [esp + 0x1fe60]
push eax
push ebp
call fcn.0044d5f0
push eax
lea ecx, [esp + 0x1f644]
push 0x46ab98
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [esi + 0x21c]
add esp, 0x10
push ebp
lea edx, [esp + 0x1f640]
push edx
call fcn.004496a0
test al, al
je 0x43658f
xor eax, eax
jmp 0x435280
movzx ecx, word [esp + eax + 0x1f63c]
mov word [esp + eax + 0xf71c], cx
add eax, 2
cmp cx, bp
jne 0x435280
lea eax, [esp + 0xee34]
push str.INSTALL
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x435581
push 0x8ee4
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 1
cmp eax, ebp
je 0x43530c
lea ecx, [esp + 0x1177c]
push ecx
lea edx, [esp + 0x11370]
push edx
push ebp
lea ecx, [esp + 0x11990]
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0xf45c]
push edx
mov edx, dword [ecx + 0x21c]
push edx
mov ecx, eax
call fcn.0042c250
mov esi, eax
jmp 0x43530e
xor esi, esi
push 0x1e90
lea eax, [esp + 0x8658]
push 0
or ebp, 0xffffffff
push eax
mov dword [esp + 0x2007c], ebp
call fcn.00453450
mov eax, dword [esp + 0x38]
mov cl, byte [esp + 0x30]
mov edx, dword [esp + 0x4c]
add esp, 0xc
mov dword [esp + 0x865c], eax
mov byte [esp + 0xa4dd], cl
mov dword [esp + 0x8658], edx
mov byte [esp + 0xa4de], 0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x11164]
mov word [esp + eax + 0x8a70], cx
add eax, 2
test cx, cx
jne 0x435360
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf44c]
mov word [esp + eax + 0x8c78], cx
add eax, 2
test cx, cx
jne 0x435380
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf71c]
mov word [esp + eax + 0x8868], cx
add eax, 2
test cx, cx
jne 0x4353a0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfd34]
mov word [esp + eax + 0x9498], cx
add eax, 2
test cx, cx
jne 0x4353c0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe614]
mov word [esp + eax + 0x9ab0], cx
add eax, 2
test cx, cx
jne 0x4353e0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x10b4c]
mov word [esp + eax + 0x9ec0], cx
add eax, 2
test cx, cx
jne 0x435400
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xec2c]
mov word [esp + eax + 0xa0c8], cx
add eax, 2
test cx, cx
jne 0x435420
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x182f4]
mov word [esp + eax + 0xa2d0], cx
add eax, 2
test cx, cx
jne 0x435440
mov edi, dword [esp + 0x3c]
lea ecx, [esp + 0x8654]
push ecx
push edi
mov ecx, esi
call fcn.00431360
cmp byte [esp + 0x24], 0
mov dword [esp + 0x28], eax
je 0x435486
mov edx, dword [esi + 0x2abc]
mov dword [esp + 0x28], edx
jmp 0x43556f
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x1b3b4]
push eax
push 0
lea ecx, [esp + 0xf724]
push ecx
mov ecx, dword [edx + 0x21c]
call fcn.0044a990
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0xf71c]
mov word [esp + eax + 0x1c1ec], cx
add eax, 2
test cx, cx
jne 0x4354b0
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x21c]
push 0
lea eax, [esp + 0xf450]
push eax
call fcn.00449880
lea edx, [esp + 0x1b3b4]
push edx
lea eax, [esp + 0xf450]
push eax
lea ecx, [esp + 0x1bbdc]
push 0x46ab98
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x21c]
add esp, 0x10
push 0
push 0
lea edx, [esp + 0x1bbdc]
push edx
lea eax, [esp + 0x1c1f8]
push eax
call fcn.0044bf30
mov eax, dword [esi + 0x2ac0]
mov edx, dword [esp + 0x18]
mov ecx, 1
sub ecx, eax
mov dword [edx + 0x47c], ecx
mov eax, dword [esi + 0x2ac4]
mov dword [edx + 0x480], eax
lea eax, [esi + 0x2ac8]
add edx, 0x484
sub edx, eax
jmp 0x435560
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x435560
mov ecx, esi
call fcn.0042c3b0
push esi
call fcn.004534ca
add esp, 4
jmp 0x435588
mov edi, dword [esp + 0x3c]
or ebp, 0xffffffff
lea ecx, [esp + 0xee34]
push str.UPGRADE
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43582f
push 0x8ee4
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 2
test eax, eax
je 0x4355fd
lea edx, [esp + 0x1177c]
push edx
lea ecx, [esp + 0x11370]
push ecx
push 0
lea edx, [esp + 0x11990]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf45c]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.0042c250
mov esi, eax
jmp 0x4355ff
xor esi, esi
push 0x1e90
lea edx, [esp + 0xc378]
push 0
push edx
mov dword [esp + 0x2007c], ebp
call fcn.00453450
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
add esp, 0xc
mov byte [esp + 0xe1fd], al
mov dword [esp + 0xc378], ecx
mov dword [esp + 0xc37c], edx
mov byte [esp + 0xe1fe], 0
xor eax, eax
jmp 0x435650
movzx ecx, word [esp + eax + 0x11164]
mov word [esp + eax + 0xc790], cx
add eax, 2
test cx, cx
jne 0x435650
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf44c]
mov word [esp + eax + 0xc998], cx
add eax, 2
test cx, cx
jne 0x435670
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf71c]
mov word [esp + eax + 0xc588], cx
add eax, 2
test cx, cx
jne 0x435690
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfd34]
mov word [esp + eax + 0xd1b8], cx
add eax, 2
test cx, cx
jne 0x4356b0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe614]
mov word [esp + eax + 0xd7d0], cx
add eax, 2
test cx, cx
jne 0x4356d0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xec2c]
mov word [esp + eax + 0xdde8], cx
add eax, 2
test cx, cx
jne 0x4356f0
lea eax, [esp + 0xc374]
push eax
push edi
mov ecx, esi
call fcn.004314a0
cmp byte [esp + 0xe1fd], 0
mov dword [esp + 0x28], eax
je 0x435735
mov ecx, dword [esi + 0x2abc]
mov dword [esp + 0x28], ecx
jmp 0x43581f
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x21c]
lea edx, [esp + 0x1ca0c]
push edx
push 0
lea eax, [esp + 0xf724]
push eax
call fcn.0044a990
xor eax, eax
jmp 0x435760
movzx ecx, word [esp + eax + 0xf71c]
mov word [esp + eax + 0x1ad9c], cx
add eax, 2
test cx, cx
jne 0x435760
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x21c]
push 0
lea edx, [esp + 0xf450]
push edx
call fcn.00449880
lea ecx, [esp + 0x1ca0c]
push ecx
lea edx, [esp + 0xf450]
push edx
lea eax, [esp + 0x1ce24]
push 0x46ab98
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x28]
add esp, 0x10
push 0
push 0
lea ecx, [esp + 0x1ce24]
push ecx
mov ecx, dword [eax + 0x21c]
lea edx, [esp + 0x1ada8]
push edx
call fcn.0044bf30
mov eax, dword [esi + 0x2ac0]
mov edx, dword [esp + 0x18]
mov ecx, 1
sub ecx, eax
mov dword [edx + 0x47c], ecx
mov eax, dword [esi + 0x2ac4]
mov dword [edx + 0x480], eax
lea eax, [esi + 0x2ac8]
add edx, 0x484
sub edx, eax
jmp 0x435810
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x435810
mov ecx, esi
call fcn.0042c3b0
push esi
call fcn.004534ca
add esp, 4
lea ecx, [esp + 0xee34]
push str.REMOVE
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x435a70
push 0x8ee4
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 3
test eax, eax
je 0x4358a4
lea edx, [esp + 0x1177c]
push edx
lea ecx, [esp + 0x11370]
push ecx
push 0
lea edx, [esp + 0x11990]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf45c]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.0042c250
mov esi, eax
jmp 0x4358a6
xor esi, esi
push 0x1e90
lea edx, [esp + 0x67c8]
push 0
push edx
mov dword [esp + 0x2007c], ebp
call fcn.00453450
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
add esp, 0xc
mov byte [esp + 0x864d], al
mov dword [esp + 0x67c8], ecx
mov dword [esp + 0x67cc], edx
mov byte [esp + 0x864e], 0
xor eax, eax
nop
movzx ecx, word [esp + eax + 0x11164]
mov word [esp + eax + 0x6be0], cx
add eax, 2
test cx, cx
jne 0x4358f0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf44c]
mov word [esp + eax + 0x6de8], cx
add eax, 2
test cx, cx
jne 0x435910
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf71c]
mov word [esp + eax + 0x69d8], cx
add eax, 2
test cx, cx
jne 0x435930
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfd34]
mov word [esp + eax + 0x7608], cx
add eax, 2
test cx, cx
jne 0x435950
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe614]
mov word [esp + eax + 0x7c20], cx
add eax, 2
test cx, cx
jne 0x435970
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xec2c]
mov word [esp + eax + 0x8238], cx
add eax, 2
test cx, cx
jne 0x435990
lea eax, [esp + 0x67c4]
push eax
push edi
mov ecx, esi
call fcn.004315e0
cmp byte [esp + 0x864d], 0
mov dword [esp + 0x28], eax
je 0x4359d5
mov ecx, dword [esi + 0x2abc]
mov dword [esp + 0x28], ecx
jmp 0x435a60
test eax, eax
je 0x435a20
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x21c]
lea edx, [esp + 0x1afa4]
push edx
push 0
lea eax, [esp + 0xf724]
push eax
call fcn.0044a990
lea edx, [esp + 0x1afa4]
push edx
lea eax, [esp + 0xf450]
push eax
lea ecx, [esp + 0x1fa54]
push 0x46ab98
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
mov eax, dword [esi + 0x2ac0]
mov edx, dword [esp + 0x18]
mov ecx, 1
sub ecx, eax
mov dword [edx + 0x47c], ecx
mov eax, dword [esi + 0x2ac4]
mov dword [edx + 0x480], eax
lea eax, [esi + 0x2ac8]
add edx, 0x484
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x435a51
mov ecx, esi
call fcn.0042c3b0
push esi
call fcn.004534ca
add esp, 4
lea ecx, [esp + 0xee34]
push str.VERIFY
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x435c3f
push 0x8ee4
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 4
test eax, eax
je 0x435ae5
lea edx, [esp + 0x1177c]
push edx
lea ecx, [esp + 0x11370]
push ecx
push 0
lea edx, [esp + 0x11990]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf45c]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.0042c250
mov esi, eax
jmp 0x435ae7
xor esi, esi
push 0x1e90
lea edx, [esp + 0x4938]
push 0
push edx
mov dword [esp + 0x2007c], ebp
call fcn.00453450
movzx eax, byte [esp + 0x30]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
mov byte [esp + 0x67c9], al
movzx eax, byte [esp + 0x23]
add esp, 0xc
mov byte [esp + 0x67bf], al
mov dword [esp + 0x4938], ecx
mov dword [esp + 0x493c], edx
mov byte [esp + 0x67be], 0
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [esp + eax + 0x11164]
mov word [esp + eax + 0x4d50], cx
add eax, 2
test cx, cx
jne 0x435b40
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf44c]
mov word [esp + eax + 0x4f58], cx
add eax, 2
test cx, cx
jne 0x435b60
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf71c]
mov word [esp + eax + 0x4b48], cx
add eax, 2
test cx, cx
jne 0x435b80
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfd34]
mov word [esp + eax + 0x5778], cx
add eax, 2
test cx, cx
jne 0x435ba0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe614]
mov word [esp + eax + 0x5d90], cx
add eax, 2
test cx, cx
jne 0x435bc0
lea ecx, [esp + 0x4934]
push ecx
push edi
mov ecx, esi
call fcn.00431720
mov edx, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esi + 0x2ac0]
mov edi, 1
sub edi, eax
mov dword [edx + 0x47c], edi
mov dword [edx + 0x480], ecx
lea eax, [esi + 0x2ac8]
add edx, 0x484
mov dword [esp + 0x28], ecx
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x435c20
mov ecx, esi
call fcn.0042c3b0
push esi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.VERIFY2
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x435ff4
push 0x8ee4
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x20070], 5
test eax, eax
je 0x435cb4
lea ecx, [esp + 0x1177c]
push ecx
lea edx, [esp + 0x11370]
push edx
push 0
lea ecx, [esp + 0x11990]
push ecx
mov ecx, dword [ebp + 0x21c]
lea edx, [esp + 0xf45c]
push edx
push ecx
mov ecx, eax
call fcn.0042c250
mov edi, eax
jmp 0x435cb6
xor edi, edi
push 0x1e90
lea edx, [esp + 0x2aa8]
push 0
push edx
mov dword [esp + 0x2007c], 0xffffffff
call fcn.00453450
movzx eax, byte [esp + 0x30]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
mov byte [esp + 0x4939], al
movzx eax, byte [esp + 0x23]
add esp, 0xc
mov byte [esp + 0x492f], al
mov dword [esp + 0x2aa8], ecx
mov dword [esp + 0x2aac], edx
mov byte [esp + 0x492e], 0
xor eax, eax
movzx ecx, word [esp + eax + 0x11164]
mov word [esp + eax + 0x2ec0], cx
add eax, 2
test cx, cx
jne 0x435d10
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf44c]
mov word [esp + eax + 0x30c8], cx
add eax, 2
test cx, cx
jne 0x435d30
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf71c]
mov word [esp + eax + 0x2cb8], cx
add eax, 2
test cx, cx
jne 0x435d50
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfd34]
mov word [esp + eax + 0x38e8], cx
add eax, 2
test cx, cx
jne 0x435d70
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe614]
mov word [esp + eax + 0x3f00], cx
add eax, 2
test cx, cx
jne 0x435d90
mov cl, byte [esp + 0x47]
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x2aa4]
push edx
mov byte [esp + 0x4934], cl
push eax
mov ecx, edi
call fcn.00431720
push eax
mov dword [esp + 0x2c], eax
lea eax, [ebp + 0x484]
push 0x4736a0
push eax
mov dword [ebp + 0x480], 1
call dword [sym.imp.USER32.dll_wsprintfW]
xor esi, esi
add esp, 0xc
cmp dword [edi + 0x4acc], esi
jle 0x435e16
mov ecx, dword [edi + 0x4ac8]
mov eax, dword [ecx + esi*8]
push eax
push esi
push str.saList__d____s__n
call fcn.004454c0
inc esi
add esp, 0xc
cmp esi, dword [edi + 0x4acc]
jl 0x435df5
mov edx, dword [edi + 0x4acc]
xor eax, eax
push 0x7fe
push eax
lea ecx, [esp + 0x1d02e]
mov dword [ebp + 0x47c], edx
push ecx
mov word [esp + 0x1d030], ax
call fcn.00453450
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x1d03c]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea edx, [esp + 0x1d044]
push edx
push str.wszReturn___s__n
call fcn.004454c0
lea eax, [esp + 0x1d04c]
add esp, 0x28
mov dword [esp + 0x94], 0
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x435e91
mov esi, dword [esp + 0x18]
sub eax, ecx
push 0
sar eax, 1
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1d030]
push eax
push ecx
call ebx
mov edx, dword [esi + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ebp, dword [edi + 0x4acc]
xor esi, esi
test ebp, ebp
jle 0x435f9b
lea esp, [esp]
xor eax, eax
push 0x616
push eax
lea ecx, [esp + 0x1b5c6]
push ecx
mov word [esp + 0x1b5c8], ax
call fcn.00453450
mov edx, dword [edi + 0x4ac8]
mov ecx, dword [edx + esi*8]
add esp, 0xc
lea edx, [esp + 0x1b5bc]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x435f20
lea eax, [esp + 0x1b5bc]
mov dword [esp + 0x94], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x435f46
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax + 2]
push edx
mov edx, dword [ecx + 0x260]
lea eax, [esp + 0x1b5c8]
push eax
push edx
call ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x260]
push ecx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, ebp
jl 0x435ef0
mov esi, dword [esp + 0x18]
push 0
lea edx, [esp + 0x98]
push edx
push 8
mov dword [esp + 0xa0], 0
mov eax, dword [esi + 0x260]
push 0x479370
push eax
call ebx
mov ecx, dword [esi + 0x260]
push ecx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [esi + 0x269], 1
test edi, edi
je 0x435ff4
mov ecx, edi
call fcn.0042c3b0
push edi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.PREREQUISITE
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4363c0
push 0x8ee4
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x20070], 6
test eax, eax
je 0x436069
lea ecx, [esp + 0x1177c]
push ecx
lea edx, [esp + 0x11370]
push edx
push 0
lea ecx, [esp + 0x11990]
push ecx
mov ecx, dword [ebp + 0x21c]
lea edx, [esp + 0xf45c]
push edx
push ecx
mov ecx, eax
call fcn.0042c250
mov edi, eax
jmp 0x43606b
xor edi, edi
push 0x1e90
lea edx, [esp + 0xa4e8]
push 0
push edx
mov dword [esp + 0x2007c], 0xffffffff
call fcn.00453450
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
add esp, 0xc
mov byte [esp + 0xc36d], al
mov dword [esp + 0xa4e8], ecx
mov dword [esp + 0xa4ec], edx
mov byte [esp + 0xc36e], 0
xor eax, eax
jmp 0x4360c0
movzx ecx, word [esp + eax + 0x11164]
mov word [esp + eax + 0xa900], cx
add eax, 2
test cx, cx
jne 0x4360c0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf44c]
mov word [esp + eax + 0xab08], cx
add eax, 2
test cx, cx
jne 0x4360e0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf71c]
mov word [esp + eax + 0xa6f8], cx
add eax, 2
test cx, cx
jne 0x436100
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfd34]
mov word [esp + eax + 0xb328], cx
add eax, 2
test cx, cx
jne 0x436120
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe614]
mov word [esp + eax + 0xb940], cx
add eax, 2
test cx, cx
jne 0x436140
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0xa4e4]
push eax
push ecx
mov ecx, edi
call fcn.00431830
mov dword [esp + 0x28], eax
mov eax, dword [edi + 0x2ac0]
mov edx, 1
sub edx, eax
mov dword [ebp + 0x47c], edx
lea eax, [edi + 0x2ac8]
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
sub edx, eax
jmp 0x4361a0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4361a0
xor esi, esi
cmp dword [edi + 0x4acc], esi
jle 0x4361e1
lea esp, [esp]
mov eax, dword [edi + 0x4ac8]
mov eax, dword [eax + esi*8]
push eax
push esi
push str.saList__d____s__n
call fcn.004454c0
inc esi
add esp, 0xc
cmp esi, dword [edi + 0x4acc]
jl 0x4361c0
mov ecx, dword [edi + 0x4acc]
mov eax, str.PREREQUISITE_successful
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], ecx
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x436200
xor edx, edx
push 0x7fe
push edx
lea eax, [esp + 0x1ee46]
push eax
mov word [esp + 0x1ee48], dx
call fcn.00453450
mov ecx, dword [ebp + 0x47c]
mov edx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
push ecx
push edx
lea eax, [esp + 0x1ee54]
push str._d__d___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1ee5c]
add esp, 0x20
mov dword [esp + 0x98], 0
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436270
mov esi, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x9c]
push ecx
mov ecx, dword [esi + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1ee48]
push eax
push ecx
call ebx
mov edx, dword [esi + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov ebp, dword [edi + 0x4acc]
xor esi, esi
test ebp, ebp
jle 0x43636b
xor eax, eax
push 0x616
push eax
lea ecx, [esp + 0x1c3fe]
push ecx
mov word [esp + 0x1c400], ax
call fcn.00453450
mov edx, dword [edi + 0x4ac8]
mov ecx, dword [edx + esi*8]
add esp, 0xc
lea edx, [esp + 0x1c3f4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x4362f0
lea eax, [esp + 0x1c3f4]
mov dword [esp + 0x98], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436316
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax + 2]
push edx
mov edx, dword [ecx + 0x260]
lea eax, [esp + 0x1c400]
push eax
push edx
call ebx
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x260]
push ecx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
cmp esi, ebp
jl 0x4362c0
mov esi, dword [esp + 0x18]
push 0
lea edx, [esp + 0x9c]
push edx
push 8
mov dword [esp + 0xa4], 0
mov eax, dword [esi + 0x260]
push 0x479370
push eax
call ebx
mov ecx, dword [esi + 0x260]
push ecx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, edi
mov byte [esi + 0x269], 1
call fcn.0042c3b0
push edi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.CHECK
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43658f
push 0x8ee4
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x18]
mov dword [esp + 0x20070], 7
test eax, eax
je 0x436435
lea ecx, [esp + 0x1177c]
push ecx
lea edx, [esp + 0x11370]
push edx
push 0
lea ecx, [esp + 0x11990]
push ecx
mov ecx, dword [edi + 0x21c]
lea edx, [esp + 0xf45c]
push edx
push ecx
mov ecx, eax
call fcn.0042c250
mov esi, eax
jmp 0x436437
xor esi, esi
push 0x1e90
lea edx, [esp + 0xc18]
push 0
push edx
mov dword [esp + 0x2007c], 0xffffffff
call fcn.00453450
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x38]
add esp, 0xc
mov byte [esp + 0x2a9d], al
mov dword [esp + 0xc18], ecx
mov dword [esp + 0xc1c], edx
mov byte [esp + 0x2a9e], 0
xor eax, eax
jmp 0x436490
movzx ecx, word [esp + eax + 0x11164]
mov word [esp + eax + 0x1030], cx
add eax, 2
test cx, cx
jne 0x436490
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf44c]
mov word [esp + eax + 0x1238], cx
add eax, 2
test cx, cx
jne 0x4364b0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf71c]
mov word [esp + eax + 0xe28], cx
add eax, 2
test cx, cx
jne 0x4364d0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfd34]
mov word [esp + eax + 0x1a58], cx
add eax, 2
test cx, cx
jne 0x4364f0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe614]
mov word [esp + eax + 0x2070], cx
add eax, 2
test cx, cx
jne 0x436510
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0xc14]
push eax
push ecx
mov ecx, esi
call fcn.00421f70
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x2ac0]
mov edx, 1
sub edx, eax
mov dword [edi + 0x47c], edx
mov eax, dword [esi + 0x2ac4]
mov dword [edi + 0x480], eax
lea eax, [esi + 0x2ac8]
lea edx, [edi + 0x484]
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x436570
mov ecx, esi
call fcn.0042c3b0
push esi
call fcn.004534ca
add esp, 4
lea ecx, [esp + 0xee34]
push str.GETSYSINFO
push ecx
call fcn.00453ad3
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4365c5
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0xe204]
push edx
push ebx
push eax
mov ecx, esi
call fcn.00432f80
lea ecx, [esp + 0xee34]
push str.REMOVECMDARP
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43688f
push 0x8ee4
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 8
test eax, eax
je 0x436636
lea edx, [esp + 0x1177c]
push edx
lea ecx, [esp + 0x11370]
push ecx
push 0
lea edx, [esp + 0x11990]
push edx
mov edx, dword [esi + 0x21c]
lea ecx, [esp + 0xf45c]
push ecx
push edx
mov ecx, eax
call fcn.0042c250
mov ebp, eax
jmp 0x436638
xor ebp, ebp
xor eax, eax
push 0x616
push eax
lea ecx, [esp + 0x18d26]
push ecx
mov dword [esp + 0x2007c], 0xffffffff
mov word [esp + 0x18d28], ax
call fcn.00453450
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
lea edx, [esp + 0xfd40]
push edx
lea eax, [esp + 0x18d2c]
push str.UNINST_STRING_ARP__s
push eax
call edi
add esp, 0x18
cmp word [esp + 0x137fc], 0
je 0x436716
xor ecx, ecx
push 0x40e
push ecx
lea edx, [esp + 0x1a996]
push edx
mov word [esp + 0x1a998], cx
call fcn.00453450
lea eax, [esp + 0x13808]
push eax
lea ecx, [esp + 0x1a99c]
push 0x47b274
push ecx
call edi
lea eax, [esp + 0x1a9a4]
add esp, 0x18
mov edx, eax
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4366d0
lea edi, [esp + 0x18d1c]
sub eax, edx
add edi, 0xfffffffe
jmp 0x4366f0
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4366f0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
mov esi, dword [esp + 0x18]
cmp word [esp + 0x13a04], 0
je 0x436800
xor edx, edx
push 0x40e
push edx
lea eax, [esp + 0x1974e]
push eax
mov word [esp + 0x19750], dx
call fcn.00453450
add esp, 0xc
cmp word [esp + 0x137fc], 0
je 0x43679e
lea ecx, [esp + 0x13a04]
push ecx
lea edx, [esp + 0x19748]
push 0x47b274
push edx
call edi
lea eax, [esp + 0x19750]
add esp, 0xc
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436773
lea edi, [esp + 0x18d1c]
sub eax, edx
add edi, 0xfffffffe
lea ebx, [ebx]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x436790
jmp 0x4367ec
lea eax, [esp + 0x13a04]
push eax
lea ecx, [esp + 0x19748]
push str.___s
push ecx
call edi
lea eax, [esp + 0x19750]
add esp, 0xc
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4367c1
lea edi, [esp + 0x18d1c]
sub eax, edx
add edi, 0xfffffffe
jmp 0x4367e0
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4367e0
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x18]
lea edx, [esp + 0x18d1c]
push edx
push str.REMOVECMDARP___s__n
call fcn.004454c0
mov eax, dword [esp + 0x44]
add esp, 8
push ebx
lea ecx, [esp + 0x18d20]
push ecx
mov ecx, ebp
mov dword [ebp], eax
call fcn.00420770
cmp byte [esp + 0x24], 0
mov dword [esp + 0x28], eax
je 0x436843
mov edx, dword [ebp + 0x2abc]
mov dword [esp + 0x28], edx
jmp 0x43687f
mov eax, dword [ebp + 0x2ac0]
mov dword [esi + 0x47c], eax
mov ecx, dword [ebp + 0x2ac4]
lea eax, [ebp + 0x2ac8]
lea edx, [esi + 0x484]
mov dword [esi + 0x480], ecx
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x436870
mov ecx, ebp
call fcn.0042c3b0
push ebp
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.DELETEFILE
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43699f
cmp byte [esp + 0x24], al
je 0x4368bf
mov dword [esp + 0x28], 1
jmp 0x43699f
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x13e1e]
push ecx
mov word [esp + 0x13e20], ax
call fcn.00453450
mov ecx, dword [esi + 0x21c]
add esp, 0xc
push 0
lea edx, [esp + 0xe410]
push edx
call fcn.004496a0
test al, al
je 0x436967
mov ecx, dword [esi + 0x21c]
lea eax, [esp + 0xe40c]
push eax
call fcn.0044a070
test eax, eax
jne 0x436949
lea ecx, [esp + 0xe40c]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.0044a130
xor eax, eax
jmp 0x436930
movzx ecx, word [eax + str.File_delete_after_reboot]
mov word [esp + eax + 0x13e14], cx
add eax, 2
test cx, cx
jne 0x436930
jmp 0x436967
xor eax, eax
jmp 0x436950
movzx ecx, word [eax + str.File_deleted]
mov word [esp + eax + 0x13e14], cx
add eax, 2
test cx, cx
jne 0x436950
lea eax, [esp + 0x13e14]
lea edx, [esi + 0x484]
mov ecx, eax
mov dword [esi + 0x47c], 0
mov dword [esi + 0x480], 1
sub edx, ecx
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x436990
lea edx, [esp + 0xee34]
push str.DELETEDIR
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x436c2f
cmp byte [esp + 0x24], al
je 0x4369cf
mov dword [esp + 0x28], 1
jmp 0x436c2f
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x1422e]
push ecx
mov word [esp + 0x14230], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0xff52]
push eax
mov word [esp + 0xff54], dx
call fcn.00453450
add esp, 0x18
xor eax, eax
mov edi, edi
movzx ecx, word [esp + eax + 0xe40c]
mov word [esp + eax + 0xff3c], cx
add eax, 2
test cx, cx
jne 0x436a10
mov esi, dword [esp + 0x18]
cmp word [esp + 0xff3c], cx
je 0x436bf7
push 0x46d82c
lea ecx, [esp + 0xff40]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.004493b0
mov ecx, dword [esi + 0x21c]
push 0
push 0x104
lea edx, [esp + 0x1a37c]
push edx
call fcn.0044a660
mov ecx, dword [esi + 0x21c]
push 1
push 0x104
lea eax, [esp + 0x1cc1c]
push eax
call fcn.0044a660
mov eax, dword [esi + 0x21c]
add eax, 0x218
push eax
lea ecx, [esp + 0x1b1b0]
push 0x104
push ecx
call fcn.00453d84
mov eax, dword [esi + 0x21c]
add eax, 0x420
push eax
lea edx, [esp + 0x1a58c]
push 0x104
push edx
call fcn.00453d84
lea eax, [esp + 0xff54]
add esp, 0x18
mov bl, 1
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436ad1
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0xff3a], 0x5c
jne 0x436b0e
lea eax, [esp + 0xff3c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436af5
sub eax, edx
sar eax, 1
xor ecx, ecx
mov word [esp + eax*2 + 0xff3a], cx
lea edx, [esp + 0x1a374]
push edx
lea eax, [esp + 0xff40]
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x436b2c
xor bl, bl
lea ecx, [esp + 0x1cc14]
push ecx
lea edx, [esp + 0xff40]
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x436b4a
xor bl, bl
lea eax, [esp + 0x1b1ac]
push eax
lea ecx, [esp + 0xff40]
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x436b68
xor bl, bl
lea edx, [esp + 0x1a57c]
push edx
lea eax, [esp + 0xff40]
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x436bd9
test bl, bl
je 0x436bd9
cmp byte [esp + 0x68], 0
je 0x436ba4
lea ecx, [esp + 0xff3c]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.0044c510
jmp 0x436bb2
lea edx, [esp + 0xff3c]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor eax, eax
jmp 0x436bc0
movzx ecx, word [eax + str.DELETEDIR_deleted]
mov word [esp + eax + 0x14224], cx
add eax, 2
test cx, cx
jne 0x436bc0
jmp 0x436bf7
xor eax, eax
jmp 0x436be0
movzx ecx, word [eax + str.DELETEDIR_deleted_failed]
mov word [esp + eax + 0x14224], cx
add eax, 2
test cx, cx
jne 0x436be0
lea eax, [esp + 0x14224]
lea edx, [esi + 0x484]
mov ecx, eax
mov dword [esi + 0x47c], 0
mov dword [esi + 0x480], 1
sub edx, ecx
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x436c20
lea edx, [esp + 0xee34]
push str.CHECKRPC
push edx
call fcn.00453ad3
mov ebp, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x436d3f
mov ecx, dword [ebp + 0x21c]
lea eax, [esp + 0xe204]
push eax
call fcn.0044e730
cmp eax, 0x100
jge 0x436c89
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + str.Windows_NT_x86]
mov word [esp + eax + 0xf244], cx
add eax, 2
test cx, cx
jne 0x436c70
jmp 0x436ca7
xor eax, eax
jmp 0x436c90
movzx ecx, word [eax + str.Windows_x64]
mov word [esp + eax + 0xf244], cx
add eax, 2
test cx, cx
jne 0x436c90
lea ecx, [esp + 0xec]
push ecx
push 0x104
lea edx, [esp + 0x1fc5c]
push edx
mov esi, 1
push esi
lea eax, [esp + 0xf254]
push eax
lea ecx, [esp + 0xe218]
xor edi, edi
push ecx
mov dword [esp + 0x104], edi
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
mov dword [ebp + 0x480], esi
test eax, eax
je 0x436d11
mov eax, str.RPC_supported
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], edi
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x436d00
jmp 0x436d3f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x47c], eax
mov eax, str.RPC_not_supported
lea edx, [ebp + 0x484]
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x436d30
lea edx, [esp + 0xee34]
push str.GETOSVERSION
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x436dc1
mov ecx, dword [ebp + 0x21c]
lea eax, [esp + 0xe204]
push eax
call fcn.0044e730
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
test eax, eax
je 0x436da1
mov dword [ebp + 0x47c], eax
mov eax, str.GETOSVERSION_successful
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x436d90
jmp 0x436dc1
mov eax, str.GETOSVERSION_failed
mov dword [ebp + 0x47c], 0
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x436db2
lea ecx, [esp + 0xee34]
push str.ISDRIVERINSTALLED
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437061
cmp word [esp + 0xe614], ax
je 0x437061
cmp word [esp + 0xe40c], ax
je 0x437061
push 0x434
mov byte [esp + 0x1b], al
xor ebx, ebx
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 9
test eax, eax
je 0x436e32
push ebx
lea edx, [esp + 0xe410]
push edx
mov ecx, eax
call fcn.004077d0
jmp 0x436e34
xor eax, eax
or esi, 0xffffffff
push str.Printer
mov ecx, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x20074], esi
call fcn.00406b50
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x436f62
xor edi, edi
cmp word [esp + 0xf924], di
je 0x436eba
cmp word [esp + 0x10144], di
je 0x436eba
push 0x82c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 0xa
test eax, eax
je 0x436eaf
lea ecx, [esp + 0x10144]
push ecx
lea edx, [esp + 0xf928]
push edx
push edi
mov ecx, eax
call fcn.004530e0
jmp 0x436eb1
xor eax, eax
mov dword [esp + 0x20070], esi
mov edi, eax
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 0xb
test eax, eax
je 0x436ef8
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edi
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x436efa
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x436f4e
mov edx, dword [esp + 0x78]
push 0
push edx
lea eax, [esp + 0xf24c]
push eax
lea ecx, [esp + 0xe620]
push ecx
lea edx, [esp + 0xe41c]
push edx
lea eax, [esp + 0xe218]
push eax
mov ecx, esi
call fcn.00414150
mov ecx, esi
mov ebx, eax
mov byte [esp + 0x17], 1
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
test edi, edi
je 0x436f62
mov ecx, edi
call fcn.0043df40
push edi
call fcn.004534ca
add esp, 4
mov ecx, dword [esp + 0x2c]
push str.Image
call fcn.00406b50
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x436fef
push 0x478
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 0xc
test eax, eax
je 0x436fb8
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405420
mov esi, eax
jmp 0x436fba
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x436fef
lea eax, [esp + 0xe614]
push eax
mov ecx, esi
call fcn.00402c90
mov ecx, esi
mov ebx, eax
mov byte [esp + 0x17], 1
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
mov esi, dword [esp + 0x2c]
test esi, esi
je 0x437007
mov ecx, esi
call fcn.00406f50
push esi
call fcn.004534ca
add esp, 4
cmp byte [esp + 0x17], 0
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
je 0x437041
mov eax, str.ISDRIVERINSTALLED_successful
mov dword [ebp + 0x47c], ebx
sub edx, eax
jmp 0x437030
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437030
jmp 0x437061
mov eax, str.ISDRIVERINSTALLED_failed
mov dword [ebp + 0x47c], 0
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437052
lea ecx, [esp + 0xee34]
push str.ENUMDRIVERS
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4379d1
xor edx, edx
push 0x7fe
push edx
lea eax, [esp + 0x15e9e]
push eax
mov word [esp + 0x15ea0], dx
call fcn.00453450
add esp, 0xc
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x64], 0
mov byte [esp + 0x22], 0
call fcn.00407e20
lea ecx, [esp + 0x114]
mov dword [esp + 0x20070], 0xd
call fcn.00407e20
xor bl, bl
cmp word [esp + 0xe40c], 0
mov byte [esp + 0x20070], 0xe
mov byte [esp + 0x17], bl
mov byte [esp + 0x23], bl
je 0x4371b1
push 0x4fc8
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0xf
test eax, eax
je 0x437121
push 0
lea ecx, [esp + 0xe410]
push ecx
mov ecx, eax
call fcn.00446910
mov esi, eax
jmp 0x437123
xor esi, esi
lea edx, [esp + 0x1f8]
push edx
mov ecx, esi
mov byte [esp + 0x20074], 0xe
call fcn.00446b20
cmp dword [esp + 0x1fc], 0
je 0x43715d
mov eax, dword [esp + 0x1f8]
mov eax, dword [eax]
lea ecx, [esp + 0x114]
push ecx
push eax
mov ecx, esi
call fcn.00446c10
push str.Printer
mov ecx, esi
call fcn.00445ce0
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437178
mov bl, 1
push str.Image
mov ecx, esi
call fcn.00445ce0
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437196
mov byte [esp + 0x17], 1
test esi, esi
je 0x4371aa
mov ecx, esi
call fcn.00447670
push esi
call fcn.004534ca
add esp, 4
mov byte [esp + 0x23], 1
jmp 0x4371ea
lea edx, [esp + 0x10f5c]
push str.Printer
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4371cc
mov bl, 1
lea eax, [esp + 0x10f5c]
push str.Image
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4371ea
mov byte [esp + 0x17], 1
test bl, bl
je 0x4375f4
xor ebx, ebx
mov dword [esp + 0x54], ebx
cmp word [esp + 0xf924], bx
je 0x437253
cmp word [esp + 0x10144], bx
je 0x437253
push 0x82c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x10
test eax, eax
je 0x437243
lea ecx, [esp + 0x10144]
push ecx
lea edx, [esp + 0xf928]
push edx
push ebx
mov ecx, eax
call fcn.004530e0
jmp 0x437245
xor eax, eax
mov byte [esp + 0x20070], 0xe
mov ebx, eax
mov dword [esp + 0x54], eax
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x11
test eax, eax
je 0x437292
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push ebx
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov edi, eax
mov dword [esp + 0x40], eax
jmp 0x437298
xor edi, edi
mov dword [esp + 0x40], edi
mov byte [esp + 0x20070], 0xe
test edi, edi
je 0x4375e0
lea ecx, [esp + 0x198]
call fcn.00407e20
lea edx, [esp + 0x198]
push edx
lea eax, [esp + 0xf248]
push eax
lea ecx, [esp + 0xe20c]
push ecx
mov ecx, edi
mov byte [esp + 0x2007c], 0x12
call fcn.00412e90
mov esi, eax
mov eax, str.ENUMDRIVERS_successful
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x1c], esi
mov byte [esp + 0x22], 1
mov dword [ebp + 0x47c], esi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437303
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x15ea0]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x15ea8]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x437347
sub eax, edx
push 0
sar eax, 1
lea edx, [esp + 0x68]
push edx
mov edx, dword [ebp + 0x260]
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x15ea0]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp + 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov ecx, dword [esp + 0x118]
xor ebp, ebp
mov dword [esp + 0x2c], ecx
test esi, esi
jle 0x43756b
lea esp, [esp]
mov edx, dword [esp + 0x198]
mov eax, dword [edx + ebp*8]
xor bl, bl
lea edi, [eax + 0x208]
cmp byte [esp + 0x23], bl
je 0x4373ed
xor esi, esi
cmp dword [esp + 0x2c], esi
jle 0x437558
mov eax, dword [esp + 0x114]
mov eax, dword [eax + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4373de
mov bl, 1
inc esi
cmp esi, dword [esp + 0x2c]
jl 0x4373c4
test bl, bl
je 0x437558
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x12fe6]
push edx
mov word [esp + 0x12fe8], cx
call fcn.00453450
mov eax, dword [esp + 0x1a4]
mov eax, dword [eax + ebp*8]
add eax, 0x149c
lea edx, [esp + 0x12fe8]
add esp, 0xc
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437425
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x12fdc]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.0044b790
cmp eax, 0x14
jge 0x437487
push eax
lea edx, [esp + 0x12fe0]
push edx
push str.DataFile___s__size___d___this_could_be_none_KX_driver_n
call fcn.004454c0
add esp, 0xc
xor eax, eax
jmp 0x437470
movzx ecx, word [eax + 0x46b804]
mov word [esp + eax + 0x12fdc], cx
add eax, 2
test cx, cx
jne 0x437470
mov eax, dword [esp + 0x198]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x16a4]
push ecx
movzx ecx, word [eax + 0xc78]
lea edx, [esp + 0x12fe0]
push edx
movzx edx, word [eax + 0xc7a]
push ecx
movzx ecx, word [eax + 0xc74]
push edx
movzx edx, word [eax + 0xc76]
push ecx
mov ecx, dword [eax + 0xc70]
push edx
push ecx
lea edx, [eax + 0x860]
push edx
lea ecx, [eax + 0x820]
push ecx
lea edx, [eax + 0x618]
push edx
lea ecx, [eax + 0x410]
push ecx
lea edx, [eax + 0x208]
push edx
push eax
lea eax, [esp + 0x15ec8]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x15ed0]
add esp, 0x3c
mov dword [esp + 0x64], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x437513
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [esi + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x15ea0]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [esi + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebp
cmp ebp, dword [esp + 0x1c]
jl 0x4373a0
mov edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x54]
lea ecx, [esp + 0x198]
call fcn.00401b40
mov esi, dword [esp + 0x18]
push 0
lea eax, [esp + 0x68]
push eax
push 8
mov dword [esp + 0x70], 0
mov ecx, dword [esi + 0x260]
push 0x479370
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [esi + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, edi
mov byte [esi + 0x269], 1
call fcn.00413730
push edi
call fcn.004534ca
add esp, 4
lea ecx, [esp + 0x198]
mov byte [esp + 0x20070], 0xe
call fcn.00405350
mov ebp, esi
test ebx, ebx
je 0x4375f4
mov ecx, ebx
call fcn.0043df40
push ebx
call fcn.004534ca
add esp, 4
cmp byte [esp + 0x17], 0
je 0x4378a3
lea ecx, [esp + 0x228]
call fcn.00407e20
mov bl, 0x13
push 0x478
mov byte [esp + 0x20074], bl
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x14
test eax, eax
je 0x437646
push 0
push 0
push 0
mov ecx, eax
call fcn.00405420
mov edi, eax
mov dword [esp + 0x54], eax
jmp 0x43764c
xor edi, edi
mov dword [esp + 0x54], edi
mov byte [esp + 0x20070], bl
test edi, edi
je 0x43788f
push 0
lea eax, [esp + 0x22c]
push eax
push str.Image
push 7
lea ecx, [esp + 0xe214]
push ecx
mov ecx, edi
call fcn.004038b0
mov esi, dword [esp + 0x22c]
mov eax, str.ENUMDRIVERS_successful
lea ecx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x1c], esi
mov byte [esp + 0x22], 1
mov dword [ebp + 0x47c], esi
sub ecx, eax
jmp 0x4376b0
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x4376b0
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x15ea0]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x15ea8]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4376f4
sub eax, edx
push 0
sar eax, 1
lea edx, [esp + 0x68]
push edx
mov edx, dword [ebp + 0x260]
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x15ea0]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp + 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x2c], 0
test esi, esi
jle 0x43782e
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x228]
mov eax, dword [esp + 0x2c]
mov eax, dword [edx + eax*8]
xor bl, bl
lea edi, [eax + 0x208]
cmp byte [esp + 0x23], bl
je 0x4377a9
xor esi, esi
cmp dword [esp + 0x40], esi
jle 0x437817
jmp 0x437780
mov ecx, dword [esp + 0x114]
mov eax, dword [ecx + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43779a
mov bl, 1
inc esi
cmp esi, dword [esp + 0x40]
jl 0x437780
test bl, bl
je 0x437817
push edi
lea edx, [esp + 0x15e98]
push 0x46de2c
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x15ea0]
add esp, 0xc
mov dword [esp + 0x64], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4377d2
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [ebp + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x15ea0]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebp + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x2c]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x2c], eax
jl 0x437750
mov edi, dword [esp + 0x54]
lea ecx, [esp + 0x228]
call fcn.00401b40
mov esi, dword [esp + 0x18]
push 0
lea eax, [esp + 0x68]
push eax
push 8
mov dword [esp + 0x70], 0
mov ecx, dword [esi + 0x260]
push 0x479370
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [esi + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, edi
mov byte [esi + 0x269], 1
call fcn.004054c0
push edi
call fcn.004534ca
add esp, 4
mov ebp, esi
lea ecx, [esp + 0x228]
mov byte [esp + 0x20070], 0xe
call fcn.00405350
cmp byte [esp + 0x22], 0
jne 0x43798e
xor esi, esi
mov eax, str.ENUMDRIVERS_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
mov dword [ebp + 0x47c], esi
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, si
jne 0x4378d0
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x15ea0]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x15ea8]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x437914
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
sub eax, edx
push esi
sar eax, 1
lea ecx, [esp + 0x68]
push ecx
mov ecx, dword [ebp + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x15ea0]
push eax
push ecx
call edi
mov edx, dword [ebp + 0x260]
mov ebx, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push edx
call ebx
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
lea eax, [esp + 0x68]
push eax
push 8
mov dword [esp + 0x70], esi
mov ecx, dword [ebp + 0x260]
push 0x479370
push ecx
call edi
mov edx, dword [ebp + 0x260]
push edx
call ebx
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp + 0x269], 1
lea ecx, [esp + 0x1f8]
call fcn.00401b40
lea ecx, [esp + 0x114]
call fcn.00401b40
lea ecx, [esp + 0x114]
mov byte [esp + 0x20070], 0xd
call fcn.00405350
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x20070], 0xffffffff
call fcn.00405350
lea eax, [esp + 0xee34]
push str.ENUMDEVICES
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4396f7
xor ecx, ecx
push 0x7fe
push ecx
lea edx, [esp + 0x10356]
push edx
mov word [esp + 0x10358], cx
call fcn.00453450
add esp, 0xc
lea ecx, [esp + 0x210]
mov dword [esp + 0x38], 0
mov byte [esp + 0x17], 0
call fcn.00407e20
lea ecx, [esp + 0xa8]
mov dword [esp + 0x20070], 0x15
call fcn.00407e20
xor bl, bl
cmp word [esp + 0xe40c], 0
mov byte [esp + 0x20070], 0x16
mov byte [esp + 0x5f], bl
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], bl
mov byte [esp + 0x4b], bl
mov byte [esp + 0x23], bl
mov byte [esp + 0x49], bl
mov byte [esp + 0x33], bl
mov byte [esp + 0x22], 1
je 0x437b67
push 0x4fc8
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x17
test eax, eax
je 0x437aaa
push 0
lea ecx, [esp + 0xe410]
push ecx
mov ecx, eax
call fcn.00446910
mov esi, eax
jmp 0x437aac
xor esi, esi
lea edx, [esp + 0x210]
push edx
mov ecx, esi
mov byte [esp + 0x20074], 0x16
call fcn.00446b20
cmp dword [esp + 0x214], 0
je 0x437ae6
mov eax, dword [esp + 0x210]
mov eax, dword [eax]
lea ecx, [esp + 0xa8]
push ecx
push eax
mov ecx, esi
call fcn.00446c10
push str.Printer
mov ecx, esi
call fcn.00445ce0
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437b05
mov bl, 1
mov byte [esp + 0x22], al
push str.Image
mov ecx, esi
call fcn.00445ce0
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437b27
mov byte [esp + 0x5f], 1
mov byte [esp + 0x22], al
push 0x470968
mov ecx, esi
call fcn.00445ce0
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437b49
mov byte [esp + 0x47], 1
mov byte [esp + 0x22], al
test esi, esi
je 0x437b5d
mov ecx, esi
call fcn.00447670
push esi
call fcn.004534ca
add esp, 4
mov byte [esp + 0x23], 1
jmp 0x437c52
lea edx, [esp + 0x10f5c]
push str.Printer
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437b86
mov bl, 1
mov byte [esp + 0x22], al
lea eax, [esp + 0x10f5c]
push str.Image
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437ba8
mov byte [esp + 0x5f], 1
mov byte [esp + 0x22], al
lea ecx, [esp + 0x10f5c]
push 0x470968
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437bca
mov byte [esp + 0x47], 1
mov byte [esp + 0x22], al
lea edx, [esp + 0x10f5c]
push str.WSDPrintDevice
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437bec
mov byte [esp + 0x48], 1
mov byte [esp + 0x22], al
lea eax, [esp + 0x10f5c]
push str.System
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437c0e
mov byte [esp + 0x4b], 1
mov byte [esp + 0x22], al
lea ecx, [esp + 0x10f5c]
push str.ContainerID
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437c30
mov byte [esp + 0x49], 1
mov byte [esp + 0x22], al
lea edx, [esp + 0x10f5c]
push str.SoftwareDevice
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437c52
mov byte [esp + 0x33], 1
mov byte [esp + 0x22], al
test bl, bl
je 0x437fce
xor edi, edi
mov dword [esp + 0x1c], edi
cmp word [esp + 0xf924], di
je 0x437cbb
cmp word [esp + 0x10144], di
je 0x437cbb
push 0x82c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x18
test eax, eax
je 0x437cab
lea ecx, [esp + 0x10144]
push ecx
lea edx, [esp + 0xf928]
push edx
push edi
mov ecx, eax
call fcn.004530e0
jmp 0x437cad
xor eax, eax
mov byte [esp + 0x20070], 0x16
mov edi, eax
mov dword [esp + 0x1c], eax
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x2c], eax
mov byte [esp + 0x20070], 0x19
test eax, eax
je 0x437cfa
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edi
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
mov dword [esp + 0x54], eax
jmp 0x437d00
xor esi, esi
mov dword [esp + 0x54], esi
mov byte [esp + 0x20070], 0x16
test esi, esi
je 0x437fba
lea ecx, [esp + 0x240]
call fcn.00407e20
lea edx, [esp + 0x240]
push edx
lea eax, [esp + 0xe208]
push eax
mov ecx, esi
mov byte [esp + 0x20078], 0x1a
call fcn.00413310
mov dword [ebp + 0x480], 1
mov dword [esp + 0x40], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea edx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437d61
mov ecx, dword [ebp + 0x47c]
mov edx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
push ecx
push edx
lea eax, [esp + 0x10358]
push str._d__d___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10360]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x437da5
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [esp + 0xac]
xor ebp, ebp
cmp dword [esp + 0x40], ebp
mov dword [esp + 0x2c], eax
jle 0x437f41
lea ecx, [ecx]
cmp byte [esp + 0x23], 0
mov byte [esp + 0x45], 0
je 0x437e5f
mov ecx, dword [esp + 0x240]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x2c], esi
lea edi, [eax + 0x208]
jle 0x437f36
jmp 0x437e30
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x437e4d
mov byte [esp + 0x45], 1
inc esi
cmp esi, dword [esp + 0x2c]
jl 0x437e30
cmp byte [esp + 0x45], 0
je 0x437f36
mov eax, dword [esp + 0x240]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x108c]
push ecx
lea edx, [eax + 0xe84]
push edx
movzx edx, word [eax + 0xc78]
lea ecx, [eax + 0xc7c]
push ecx
movzx ecx, word [eax + 0xc7a]
push edx
movzx edx, word [eax + 0xc74]
push ecx
movzx ecx, word [eax + 0xc76]
push edx
mov edx, dword [eax + 0xc70]
push ecx
push edx
lea ecx, [eax + 0x860]
push ecx
lea edx, [eax + 0x820]
push edx
lea ecx, [eax + 0x618]
push ecx
lea edx, [eax + 0x410]
push edx
lea ecx, [eax + 0x208]
push ecx
push eax
lea edx, [esp + 0x10384]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s____s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1038c]
add esp, 0x40
mov dword [esp + 0x38], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x437ef1
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebp
cmp ebp, dword [esp + 0x40]
jl 0x437e00
lea ecx, [esp + 0x240]
call fcn.00401b40
push 0
lea eax, [esp + 0x3c]
push eax
push 8
mov dword [esp + 0x44], 0
mov ecx, dword [ebx + 0x260]
push 0x479370
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x54]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea ecx, [esp + 0x240]
mov byte [esp + 0x20070], 0x16
call fcn.00405350
mov edi, dword [esp + 0x1c]
mov ebp, ebx
test edi, edi
je 0x437fce
mov ecx, edi
call fcn.0043df40
push edi
call fcn.004534ca
add esp, 4
cmp byte [esp + 0x5f], 0
je 0x4382e6
lea ecx, [esp + 0x1e0]
call fcn.00407e20
mov bl, 0x1b
push 0x478
mov byte [esp + 0x20074], bl
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x1c
test eax, eax
je 0x438020
push 0
push 0
push 0
mov ecx, eax
call fcn.00405420
mov ecx, eax
mov dword [esp + 0x40], eax
jmp 0x438026
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x20070], bl
test ecx, ecx
je 0x4382d2
xor eax, eax
cmp byte [esp + 0x32], al
je 0x438042
mov eax, 2
push eax
lea eax, [esp + 0x1e4]
push eax
push str.Image
push 7
lea edx, [esp + 0xe214]
push edx
call fcn.004038b0
mov eax, dword [esp + 0x1e4]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea ecx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub ecx, eax
lea esp, [esp]
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x438090
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x10358]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10360]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4380d4
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [esp + 0xac]
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], eax
jle 0x438271
lea esp, [esp]
cmp byte [esp + 0x23], 0
mov byte [esp + 0x45], 0
je 0x43818f
mov ecx, dword [esp + 0x1e0]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x438266
jmp 0x438160
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43817d
mov byte [esp + 0x45], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x438160
cmp byte [esp + 0x45], 0
je 0x438266
mov eax, dword [esp + 0x1e0]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x108c]
push ecx
lea edx, [eax + 0xe84]
push edx
movzx edx, word [eax + 0xc78]
lea ecx, [eax + 0xc7c]
push ecx
movzx ecx, word [eax + 0xc7a]
push edx
movzx edx, word [eax + 0xc74]
push ecx
movzx ecx, word [eax + 0xc76]
push edx
mov edx, dword [eax + 0xc70]
push ecx
push edx
lea ecx, [eax + 0x860]
push ecx
lea edx, [eax + 0x820]
push edx
lea ecx, [eax + 0x618]
push ecx
lea edx, [eax + 0x410]
push edx
lea ecx, [eax + 0x208]
push ecx
push eax
lea edx, [esp + 0x10384]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s____s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1038c]
add esp, 0x40
mov dword [esp + 0x38], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438221
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebp
cmp ebp, dword [esp + 0x2c]
jl 0x438130
lea ecx, [esp + 0x1e0]
call fcn.00401b40
push 0
lea eax, [esp + 0x3c]
push eax
push 8
mov dword [esp + 0x44], 0
mov ecx, dword [ebx + 0x260]
push 0x479370
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x40]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x1e0]
mov byte [esp + 0x20070], 0x16
call fcn.00405350
cmp byte [esp + 0x47], 0
je 0x438606
lea ecx, [esp + 0x168]
call fcn.00407e20
mov bl, 0x1d
push 0x478
mov byte [esp + 0x20074], bl
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x1e
test eax, eax
je 0x438338
push 0
push 0
push 0
mov ecx, eax
call fcn.00405420
mov ecx, eax
mov dword [esp + 0x40], eax
jmp 0x43833e
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x20070], bl
test ecx, ecx
je 0x4385f2
xor eax, eax
cmp byte [esp + 0x32], al
je 0x43835a
mov eax, 2
push eax
lea eax, [esp + 0x16c]
push eax
push 0x470968
push 7
lea edx, [esp + 0xe214]
push edx
call fcn.004038b0
mov eax, dword [esp + 0x16c]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea ecx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub ecx, eax
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x4383a4
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x10358]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10360]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x4383f0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4383f0
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [esp + 0xac]
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], eax
jle 0x438591
jmp 0x438450
cmp byte [esp + 0x23], 0
mov byte [esp + 0x45], 0
je 0x4384af
mov ecx, dword [esp + 0x168]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x438586
jmp 0x438480
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43849d
mov byte [esp + 0x45], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x438480
cmp byte [esp + 0x45], 0
je 0x438586
mov eax, dword [esp + 0x168]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x108c]
push ecx
lea edx, [eax + 0xe84]
push edx
movzx edx, word [eax + 0xc78]
lea ecx, [eax + 0xc7c]
push ecx
movzx ecx, word [eax + 0xc7a]
push edx
movzx edx, word [eax + 0xc74]
push ecx
movzx ecx, word [eax + 0xc76]
push edx
mov edx, dword [eax + 0xc70]
push ecx
push edx
lea ecx, [eax + 0x860]
push ecx
lea edx, [eax + 0x820]
push edx
lea ecx, [eax + 0x618]
push ecx
lea edx, [eax + 0x410]
push edx
lea ecx, [eax + 0x208]
push ecx
push eax
lea edx, [esp + 0x10384]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s____s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1038c]
add esp, 0x40
mov dword [esp + 0x38], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438541
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebp
cmp ebp, dword [esp + 0x2c]
jl 0x438450
lea ecx, [esp + 0x168]
call fcn.00401b40
push 0
lea eax, [esp + 0x3c]
push eax
push 8
mov dword [esp + 0x44], 0
mov ecx, dword [ebx + 0x260]
push 0x479370
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x40]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x168]
mov byte [esp + 0x20070], 0x16
call fcn.00405350
cmp byte [esp + 0x48], 0
je 0x438926
lea ecx, [esp + 0x1c8]
call fcn.00407e20
mov bl, 0x1f
push 0x478
mov byte [esp + 0x20074], bl
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x20
test eax, eax
je 0x438658
push 0
push 0
push 0
mov ecx, eax
call fcn.00405420
mov ecx, eax
mov dword [esp + 0x40], eax
jmp 0x43865e
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x20070], bl
test ecx, ecx
je 0x438912
xor eax, eax
cmp byte [esp + 0x32], al
je 0x43867a
mov eax, 2
push eax
lea eax, [esp + 0x1cc]
push eax
push str.WSDPrintDevice
push 7
lea edx, [esp + 0xe214]
push edx
call fcn.004038b0
mov eax, dword [esp + 0x1cc]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea ecx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub ecx, eax
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x4386c4
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x10358]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10360]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x438710
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438710
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [esp + 0xac]
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], eax
jle 0x4388b1
jmp 0x438770
cmp byte [esp + 0x23], 0
mov byte [esp + 0x48], 0
je 0x4387cf
mov ecx, dword [esp + 0x1c8]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x4388a6
jmp 0x4387a0
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x4387bd
mov byte [esp + 0x48], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x4387a0
cmp byte [esp + 0x48], 0
je 0x4388a6
mov eax, dword [esp + 0x1c8]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x108c]
push ecx
lea edx, [eax + 0xe84]
push edx
movzx edx, word [eax + 0xc78]
lea ecx, [eax + 0xc7c]
push ecx
movzx ecx, word [eax + 0xc7a]
push edx
movzx edx, word [eax + 0xc74]
push ecx
movzx ecx, word [eax + 0xc76]
push edx
mov edx, dword [eax + 0xc70]
push ecx
push edx
lea ecx, [eax + 0x860]
push ecx
lea edx, [eax + 0x820]
push edx
lea ecx, [eax + 0x618]
push ecx
lea edx, [eax + 0x410]
push edx
lea ecx, [eax + 0x208]
push ecx
push eax
lea edx, [esp + 0x10384]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s____s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1038c]
add esp, 0x40
mov dword [esp + 0x38], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438861
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebp
cmp ebp, dword [esp + 0x2c]
jl 0x438770
lea ecx, [esp + 0x1c8]
call fcn.00401b40
push 0
lea eax, [esp + 0x3c]
push eax
push 8
mov dword [esp + 0x44], 0
mov ecx, dword [ebx + 0x260]
push 0x479370
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x40]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x20070], 0x16
call fcn.00405350
cmp byte [esp + 0x4b], 0
je 0x438c5b
lea ecx, [esp + 0x138]
call fcn.00407e20
mov bl, 0x21
push 0x478
mov byte [esp + 0x20074], bl
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x22
test eax, eax
je 0x438978
push 0
push 0
push 0
mov ecx, eax
call fcn.00405420
mov ecx, eax
mov dword [esp + 0x40], eax
jmp 0x43897e
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x20070], bl
test ecx, ecx
je 0x438c47
xor eax, eax
cmp byte [esp + 0x32], al
je 0x43899a
mov eax, 2
push eax
lea eax, [esp + 0x13c]
push eax
push str.System
push 7
lea edx, [esp + 0xe214]
push edx
call fcn.004038b0
mov eax, dword [esp + 0x13c]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea ecx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub ecx, eax
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x4389e4
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x10358]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10360]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x438a30
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438a30
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [esp + 0xac]
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], eax
jle 0x438be6
jmp 0x438a90
cmp byte [esp + 0x23], 0
mov byte [esp + 0x4b], 0
je 0x438aef
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x438bdb
jmp 0x438ac0
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x438add
mov byte [esp + 0x4b], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x438ac0
cmp byte [esp + 0x4b], 0
je 0x438bdb
mov eax, dword [esp + 0x138]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x108c]
push ecx
lea edx, [eax + 0xe84]
push edx
movzx edx, word [eax + 0xc78]
lea ecx, [eax + 0xc7c]
push ecx
movzx ecx, word [eax + 0xc7a]
push edx
movzx edx, word [eax + 0xc74]
push ecx
movzx ecx, word [eax + 0xc76]
push edx
mov edx, dword [eax + 0xc70]
push ecx
push edx
lea ecx, [eax + 0x860]
push ecx
lea edx, [eax + 0x820]
push edx
lea ecx, [eax + 0x618]
push ecx
lea edx, [eax + 0x410]
push edx
lea ecx, [eax + 0x208]
push ecx
push eax
lea edx, [esp + 0x10384]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s____s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1038c]
add esp, 0x40
mov dword [esp + 0x38], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438b81
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x1034c]
push eax
push str.System___s__n
call fcn.004454c0
add esp, 8
inc ebp
cmp ebp, dword [esp + 0x2c]
jl 0x438a90
lea ecx, [esp + 0x138]
call fcn.00401b40
push 0
lea ecx, [esp + 0x3c]
push ecx
push 8
mov dword [esp + 0x44], 0
mov edx, dword [ebx + 0x260]
push 0x479370
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebx + 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x40]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x138]
mov byte [esp + 0x20070], 0x16
call fcn.00405350
cmp byte [esp + 0x49], 0
je 0x438f8b
lea ecx, [esp + 0x150]
call fcn.00407e20
mov bl, 0x23
push 0x478
mov byte [esp + 0x20074], bl
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x24
test eax, eax
je 0x438cad
push 0
push 0
push 0
mov ecx, eax
call fcn.00405420
mov ecx, eax
mov dword [esp + 0x40], eax
jmp 0x438cb3
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x20070], bl
test ecx, ecx
je 0x438f77
xor eax, eax
cmp byte [esp + 0x32], al
je 0x438ccf
mov eax, 2
push eax
lea edx, [esp + 0x154]
push edx
lea eax, [esp + 0x1669c]
push eax
push 0x24
lea edx, [esp + 0xe214]
push edx
call fcn.004038b0
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea ecx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub ecx, eax
lea esp, [esp]
movzx edx, word [eax]
mov word [eax + ecx], dx
add eax, 2
test dx, dx
jne 0x438d20
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x10358]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10360]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438d64
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [esp + 0xac]
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], eax
jle 0x438f16
lea esp, [esp]
cmp byte [esp + 0x23], 0
mov byte [esp + 0x49], 0
je 0x438e1f
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x438f0b
jmp 0x438df0
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x438e0d
mov byte [esp + 0x49], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x438df0
cmp byte [esp + 0x49], 0
je 0x438f0b
mov eax, dword [esp + 0x150]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x108c]
push ecx
lea edx, [eax + 0xe84]
push edx
movzx edx, word [eax + 0xc78]
lea ecx, [eax + 0xc7c]
push ecx
movzx ecx, word [eax + 0xc7a]
push edx
movzx edx, word [eax + 0xc74]
push ecx
movzx ecx, word [eax + 0xc76]
push edx
mov edx, dword [eax + 0xc70]
push ecx
push edx
lea ecx, [eax + 0x860]
push ecx
lea edx, [eax + 0x820]
push edx
lea ecx, [eax + 0x618]
push ecx
lea edx, [eax + 0x410]
push edx
lea ecx, [eax + 0x208]
push ecx
push eax
lea edx, [esp + 0x10384]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s____s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1038c]
add esp, 0x40
mov dword [esp + 0x38], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x438eb1
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [esp + 0x1034c]
push eax
push str.Device_By_Container_ID___s__n
call fcn.004454c0
add esp, 8
inc ebp
cmp ebp, dword [esp + 0x2c]
jl 0x438dc0
lea ecx, [esp + 0x150]
call fcn.00401b40
push 0
lea ecx, [esp + 0x3c]
push ecx
push 8
mov dword [esp + 0x44], 0
mov edx, dword [ebx + 0x260]
push 0x479370
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebx + 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x40]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x150]
mov byte [esp + 0x20070], 0x16
call fcn.00405350
cmp byte [esp + 0x33], 0
je 0x4392a6
lea ecx, [esp + 0x180]
call fcn.00407e20
mov bl, 0x25
push 0x478
mov byte [esp + 0x20074], bl
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x26
test eax, eax
je 0x438fdd
push 0
push 0
push 0
mov ecx, eax
call fcn.00405420
mov ecx, eax
mov dword [esp + 0x40], eax
jmp 0x438fe3
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x20070], bl
test ecx, ecx
je 0x439292
xor eax, eax
cmp byte [esp + 0x32], al
je 0x438fff
mov eax, 2
push eax
lea edx, [esp + 0x184]
push edx
push str.SoftwareDevice
push 7
lea eax, [esp + 0xe214]
push eax
call fcn.004038b0
mov eax, dword [esp + 0x184]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea ecx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub ecx, eax
lea esp, [esp]
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x439050
mov ecx, dword [ebp + 0x47c]
mov edx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
push ecx
push edx
lea eax, [esp + 0x10358]
push str._d__d___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10360]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x439094
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [esp + 0xac]
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], eax
jle 0x439231
lea esp, [esp]
cmp byte [esp + 0x23], 0
mov byte [esp + 0x33], 0
je 0x43914f
mov ecx, dword [esp + 0x180]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x439226
jmp 0x439120
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43913d
mov byte [esp + 0x33], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x439120
cmp byte [esp + 0x33], 0
je 0x439226
mov eax, dword [esp + 0x180]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x108c]
push ecx
lea edx, [eax + 0xe84]
push edx
movzx edx, word [eax + 0xc78]
lea ecx, [eax + 0xc7c]
push ecx
movzx ecx, word [eax + 0xc7a]
push edx
movzx edx, word [eax + 0xc74]
push ecx
movzx ecx, word [eax + 0xc76]
push edx
mov edx, dword [eax + 0xc70]
push ecx
push edx
lea ecx, [eax + 0x860]
push ecx
lea edx, [eax + 0x820]
push edx
lea ecx, [eax + 0x618]
push ecx
lea edx, [eax + 0x410]
push edx
lea ecx, [eax + 0x208]
push ecx
push eax
lea edx, [esp + 0x10384]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s____s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1038c]
add esp, 0x40
mov dword [esp + 0x38], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4391e1
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebp
cmp ebp, dword [esp + 0x2c]
jl 0x4390f0
lea ecx, [esp + 0x180]
call fcn.00401b40
push 0
lea eax, [esp + 0x3c]
push eax
push 8
mov dword [esp + 0x44], 0
mov ecx, dword [ebx + 0x260]
push 0x479370
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x40]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x180]
mov byte [esp + 0x20070], 0x16
call fcn.00405350
cmp byte [esp + 0x22], 0
je 0x4395c6
lea ecx, [esp + 0x1b0]
call fcn.00407e20
mov bl, 0x27
push 0x478
mov byte [esp + 0x20074], bl
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x20070], 0x28
test eax, eax
je 0x4392f8
push 0
push 0
push 0
mov ecx, eax
call fcn.00405420
mov ecx, eax
mov dword [esp + 0x40], eax
jmp 0x4392fe
xor ecx, ecx
mov dword [esp + 0x40], ecx
mov byte [esp + 0x20070], bl
test ecx, ecx
je 0x4395b2
xor eax, eax
cmp byte [esp + 0x32], al
je 0x43931a
mov eax, 2
push eax
lea eax, [esp + 0x1b4]
push eax
lea edx, [esp + 0x10f64]
push edx
push 7
lea eax, [esp + 0xe214]
push eax
call fcn.004038b0
mov eax, dword [esp + 0x1b4]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea ecx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub ecx, eax
jmp 0x439370
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x439370
mov ecx, dword [ebp + 0x47c]
mov edx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
push ecx
push edx
lea eax, [esp + 0x10358]
push str._d__d___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10360]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4393b4
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov eax, dword [esp + 0xac]
xor ebp, ebp
cmp dword [esp + 0x2c], ebp
mov dword [esp + 0x1c], eax
jle 0x439551
lea esp, [esp]
cmp byte [esp + 0x23], 0
mov byte [esp + 0x33], 0
je 0x43946f
mov ecx, dword [esp + 0x1b0]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x439546
jmp 0x439440
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43945d
mov byte [esp + 0x33], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x439440
cmp byte [esp + 0x33], 0
je 0x439546
mov eax, dword [esp + 0x1b0]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x108c]
push ecx
lea edx, [eax + 0xe84]
push edx
movzx edx, word [eax + 0xc78]
lea ecx, [eax + 0xc7c]
push ecx
movzx ecx, word [eax + 0xc7a]
push edx
movzx edx, word [eax + 0xc74]
push ecx
movzx ecx, word [eax + 0xc76]
push edx
mov edx, dword [eax + 0xc70]
push ecx
push edx
lea ecx, [eax + 0x860]
push ecx
lea edx, [eax + 0x820]
push edx
lea ecx, [eax + 0x618]
push ecx
lea edx, [eax + 0x410]
push edx
lea ecx, [eax + 0x208]
push ecx
push eax
lea edx, [esp + 0x10384]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s____s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1038c]
add esp, 0x40
mov dword [esp + 0x38], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x439501
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebp
cmp ebp, dword [esp + 0x2c]
jl 0x439410
lea ecx, [esp + 0x1b0]
call fcn.00401b40
push 0
lea eax, [esp + 0x3c]
push eax
push 8
mov dword [esp + 0x44], 0
mov ecx, dword [ebx + 0x260]
push 0x479370
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebx + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov esi, dword [esp + 0x40]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x20070], 0x16
call fcn.00405350
cmp byte [esp + 0x17], 0
jne 0x4396b4
mov eax, str.ENUMDEVICES_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
mov dword [ebp + 0x47c], 0
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4395f2
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x10358]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10360]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x439636
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x3c]
push ecx
mov ecx, dword [ebp + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x10358]
push eax
push ecx
call esi
mov edx, dword [ebp + 0x260]
mov edi, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push edx
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
call ebx
push 0
lea eax, [esp + 0x3c]
push eax
push 8
mov dword [esp + 0x44], 0
mov ecx, dword [ebp + 0x260]
push 0x479370
push ecx
call esi
mov edx, dword [ebp + 0x260]
push edx
call edi
push 0x64
call ebx
mov byte [ebp + 0x269], 1
lea ecx, [esp + 0x210]
call fcn.00401b40
lea ecx, [esp + 0xa8]
call fcn.00401b40
lea ecx, [esp + 0xa8]
mov byte [esp + 0x20070], 0x15
call fcn.00405350
lea ecx, [esp + 0x210]
mov dword [esp + 0x20070], 0xffffffff
call fcn.00405350
lea eax, [esp + 0xee34]
push str.ADDDRV
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x439c91
mov byte [esp + 0x33], al
cmp word [esp + 0xe614], ax
je 0x439c61
cmp word [esp + 0xe40c], ax
je 0x439c61
xor edi, edi
mov dword [esp + 0x2c], edi
cmp word [esp + 0xf924], di
je 0x439791
push 0x82c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 0x29
test eax, eax
je 0x43977e
lea ecx, [esp + 0x10144]
push ecx
lea edx, [esp + 0xf928]
push edx
push edi
mov ecx, eax
call fcn.004530e0
jmp 0x439780
xor eax, eax
mov dword [esp + 0x20070], 0xffffffff
mov edi, eax
mov dword [esp + 0x2c], eax
push 0x434
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 0x2a
test eax, eax
je 0x4397c6
push 0
lea ecx, [esp + 0xe410]
push ecx
mov ecx, eax
call fcn.004077d0
mov ebx, eax
jmp 0x4397c8
xor ebx, ebx
push str.Printer
mov ecx, ebx
mov dword [esp + 0x20074], 0xffffffff
call fcn.00406b50
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x439af6
push 0x11c
push eax
lea edx, [esp + 0x2d8]
push edx
call fcn.00453450
add esp, 0xc
lea eax, [esp + 0x2d0]
push eax
mov dword [esp + 0x2d4], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test byte [esp + 0x3e8], 0x40
je 0x439998
xor eax, eax
push 0x44
push eax
lea ecx, [esp + 0x294]
push ecx
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
call fcn.00453450
mov edx, 1
add esp, 0xc
cmp word [esp + 0xe204], 0
mov dword [esp + 0x28c], 0x44
mov word [esp + 0x2bc], dx
mov dword [esp + 0x2b8], edx
je 0x4398c0
lea eax, [esp + 0xe40c]
push eax
lea ecx, [esp + 0xf248]
push ecx
lea edx, [esp + 0xe61c]
push edx
lea eax, [esp + 0xe210]
push eax
lea ecx, [esp + 0x1e034]
push str.rundll32_printui.dll_PrintUIEntry__ia__K__c_s__m___s___h___s___v_3__f___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
jmp 0x4398ee
lea edx, [esp + 0xe40c]
push edx
lea eax, [esp + 0xf248]
push eax
lea ecx, [esp + 0xe61c]
push ecx
lea edx, [esp + 0x1e030]
push str.rundll32_printui.dll_PrintUIEntry__ia__K__m___s___h___s___v_3__f___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
lea eax, [esp + 0x1e024]
push eax
push str.Command____s____d_n
call fcn.004454c0
add esp, 8
lea ecx, [esp + 0x104]
push ecx
lea edx, [esp + 0x290]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x1e044]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x43997b
mov esi, dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [esp + 0xcc], 0
mov edi, 0x103
lea esp, [esp]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [esp + 0x104]
lea ecx, [esp + 0xcc]
push ecx
push edx
call esi
cmp dword [esp + 0xcc], edi
je 0x439950
jmp 0x439af2
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
push str.CreateProcess_failure____ld_n
call fcn.004454c0
add esp, 8
call esi
jmp 0x439af6
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 0x2b
test eax, eax
je 0x4399d6
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edi
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x4399d8
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x439af6
lea edx, [esp + 0xf244]
push edx
lea eax, [esp + 0xe208]
push eax
mov ecx, esi
call fcn.004107a0
xor edi, edi
cmp byte [esp + 0x68], 0
je 0x439a10
mov edi, 1
cmp byte [esp + 0x5e], 0
je 0x439a1a
or edi, 2
cmp byte [esp + 0x5d], 0
je 0x439a24
or edi, 4
cmp byte [esp + 0x46], 0
je 0x439a2e
or edi, 8
cmp word [esp + 0xe204], 0
je 0x439a75
push str.use_InstallPrinterDriverViaSvc___n
call fcn.004454c0
mov edx, dword [esp + 0x7c]
add esp, 4
push edi
lea ecx, [esp + 0xf248]
push ecx
push edx
lea eax, [esp + 0xe620]
push eax
lea ecx, [esp + 0xe41c]
push ecx
lea edx, [esp + 0xe218]
push edx
mov ecx, esi
call fcn.00413b30
jmp 0x439aa9
push str.use_InstallPrinterDriver___n
call fcn.004454c0
mov ecx, dword [esp + 0x7c]
add esp, 4
push edi
lea eax, [esp + 0xf248]
push eax
push ecx
lea edx, [esp + 0xe620]
push edx
lea eax, [esp + 0xe41c]
push eax
push 0
mov ecx, esi
call fcn.00415cf0
mov dword [esp + 0x28], eax
test eax, eax
je 0x439ad9
lea ecx, [esp + 0xe40c]
push ecx
lea edx, [esp + 0xe208]
push edx
mov ecx, esi
call fcn.0040e530
mov byte [esp + 0x33], 1
mov dword [ebp + 0x47c], 0
jmp 0x439ae2
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
mov edi, dword [esp + 0x2c]
push str.Image
mov ecx, ebx
call fcn.00406b50
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x439bfc
push 0x478
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 0x2c
test eax, eax
je 0x439b4a
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405420
mov esi, eax
jmp 0x439b4c
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x439bfc
xor eax, eax
movzx ecx, word [eax + str.ScannerAddress]
mov word [esp + eax + 0x3f0], cx
add eax, 2
test cx, cx
jne 0x439b61
xor eax, eax
cmp word [esp + 0x10b4c], ax
je 0x439baa
jmp 0x439b90
movzx ecx, word [esp + eax + 0x10b4c]
mov word [esp + eax + 0x5f8], cx
add eax, 2
test cx, cx
jne 0x439b90
jmp 0x439bb2
mov word [esp + 0x5f8], ax
lea ecx, [esp + 0x3ec]
push ecx
lea edx, [esp + 0xe618]
push edx
lea eax, [esp + 0xe414]
push eax
lea ecx, [esp + 0xe210]
push ecx
mov ecx, esi
call fcn.004026e0
xor edx, edx
test eax, eax
setne dl
mov ecx, esi
mov dword [ebp + 0x480], edx
mov dword [ebp + 0x47c], eax
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
test edi, edi
je 0x439c10
mov ecx, edi
call fcn.0043df40
push edi
call fcn.004534ca
add esp, 4
cmp byte [esp + 0x33], 0
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
je 0x439c41
mov eax, str.ADDDRV_driver_installed.
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x439c30
jmp 0x439c91
mov eax, str.ADDDRV_installation_failed
sub edx, eax
jmp 0x439c50
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x439c50
jmp 0x439c91
mov eax, str.ADDDRV_No_driver_INF_file_name_specified.
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
mov dword [ebp + 0x47c], 2
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x439c82
lea eax, [esp + 0xee34]
push str.ADDPRN
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43a0c1
cmp word [esp + 0xe614], ax
je 0x43a0c1
cmp word [esp + 0xfb2c], ax
je 0x43a0c1
xor esi, esi
mov dword [esp + 0x1c], esi
cmp word [esp + 0xf924], si
je 0x439d27
push 0x82c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20070], 0x2d
test eax, eax
je 0x439d14
lea ecx, [esp + 0x10144]
push ecx
lea edx, [esp + 0xf928]
push edx
push esi
mov ecx, eax
call fcn.004530e0
jmp 0x439d16
xor eax, eax
mov dword [esp + 0x20070], 0xffffffff
mov esi, eax
mov dword [esp + 0x1c], eax
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20070], 0x2e
test eax, eax
je 0x439d65
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push esi
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov edi, eax
jmp 0x439d67
xor edi, edi
mov dword [esp + 0x20070], 0xffffffff
test edi, edi
je 0x43a0ad
cmp word [esp + 0xe204], 0
je 0x439d9c
lea edx, [esp + 0xf244]
push edx
lea eax, [esp + 0xe208]
push eax
mov ecx, edi
call fcn.004107a0
cmp word [esp + 0xec2c], 0
jne 0x439dc8
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0xe614]
mov word [esp + eax + 0xec2c], cx
add eax, 2
test cx, cx
jne 0x439db0
cmp word [esp + 0xf244], 0
jne 0x439e27
lea ecx, [esp + 0xe204]
push ecx
mov ecx, dword [ebp + 0x21c]
call fcn.0044e730
cmp eax, 0x100
jge 0x439e09
xor eax, eax
nop
movzx ecx, word [eax + str.Windows_NT_x86]
mov word [esp + eax + 0xf244], cx
add eax, 2
test cx, cx
jne 0x439df0
jmp 0x439e27
xor eax, eax
jmp 0x439e10
movzx ecx, word [eax + str.Windows_x64]
mov word [esp + eax + 0xf244], cx
add eax, 2
test cx, cx
jne 0x439e10
cmp word [esp + 0xe40c], 0
push 0
je 0x439f44
mov ebx, dword [esp + 0x7c]
push ebx
lea edx, [esp + 0xf24c]
push edx
lea eax, [esp + 0xe620]
push eax
lea ecx, [esp + 0xe41c]
push ecx
lea edx, [esp + 0xe218]
push edx
mov ecx, edi
call fcn.00414150
mov esi, eax
test esi, esi
jne 0x439f2b
cmp byte [esp + 0x68], al
je 0x439e77
lea esi, [eax + 1]
cmp byte [esp + 0x5e], 0
je 0x439e81
or esi, 2
cmp byte [esp + 0x5d], 0
je 0x439e8b
or esi, 4
cmp byte [esp + 0x46], 0
je 0x439e95
or esi, 8
cmp word [esp + 0xe204], 0
je 0x439ed8
push str.use_InstallPrinterDriverViaSvc___n
call fcn.004454c0
add esp, 4
push esi
lea eax, [esp + 0xf248]
push eax
push ebx
lea ecx, [esp + 0xe620]
push ecx
lea edx, [esp + 0xe41c]
push edx
lea eax, [esp + 0xe218]
push eax
mov ecx, edi
call fcn.00413b30
jmp 0x439f08
push str.use_InstallPrinterDriver___n
call fcn.004454c0
add esp, 4
push esi
lea ecx, [esp + 0xf248]
push ecx
push ebx
lea edx, [esp + 0xe620]
push edx
lea eax, [esp + 0xe41c]
push eax
push 0
mov ecx, edi
call fcn.00415cf0
mov esi, eax
test esi, esi
je 0x43a052
lea ecx, [esp + 0xe40c]
push ecx
lea edx, [esp + 0xe208]
push edx
mov ecx, edi
call fcn.0040e530
jmp 0x439f6c
lea eax, [esp + 0xe40c]
push eax
lea ecx, [esp + 0xe208]
push ecx
mov ecx, edi
call fcn.0040e530
jmp 0x439f6c
mov edx, dword [esp + 0x7c]
push edx
lea eax, [esp + 0xf24c]
push eax
lea ecx, [esp + 0xe620]
push ecx
push 0
lea edx, [esp + 0xe218]
push edx
mov ecx, edi
call fcn.00414150
mov esi, eax
test esi, esi
je 0x43a052
cmp word [esp + 0xe40c], 0
je 0x439fae
cmp word [esp + 0x10d54], 0
jne 0x439fae
push 0x470960
lea eax, [esp + 0x10d58]
push eax
lea ecx, [esp + 0xe61c]
push ecx
lea edx, [esp + 0xe418]
push edx
mov ecx, edi
call fcn.00413fa0
xor eax, eax
cmp byte [esp + 0x68], al
je 0x439fbb
mov eax, 1
mov ecx, dword [esp + 0x60]
push eax
lea eax, [esp + 0x15c90]
push eax
mov eax, dword [esp + 0x54]
push ecx
lea edx, [esp + 0x15a90]
push edx
push eax
lea ecx, [esp + 0xfb40]
push ecx
lea edx, [esp + 0x10d6c]
push edx
lea eax, [esp + 0xe630]
push eax
lea ecx, [esp + 0xec4c]
push ecx
lea edx, [esp + 0xe228]
push edx
mov ecx, edi
call fcn.004111b0
lea edx, [ebp + 0x484]
test eax, eax
je 0x43a031
mov eax, str.ADDPRN_printer_installed.
mov dword [ebp + 0x47c], 0
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x43a020
jmp 0x43a08f
mov eax, dword [edi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.ADDPRN_printer_install_failed.
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x43a041
jmp 0x43a08f
cmp word [esp + 0xe40c], 0
je 0x43a068
mov ecx, dword [edi + 0x24]
mov dword [ebp + 0x47c], ecx
jmp 0x43a072
mov dword [ebp + 0x47c], 2
mov eax, str.ADDPRN_printer_driver_install_failed.
lea edx, [ebp + 0x484]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x43a080
mov ecx, edi
mov dword [ebp + 0x480], 1
call fcn.00413730
push edi
call fcn.004534ca
mov esi, dword [esp + 0x20]
add esp, 4
test esi, esi
je 0x43a0c1
mov ecx, esi
call fcn.0043df40
push esi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.PRINTTESTPAGE
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43a142
push 0x206
push eax
lea ecx, [esp + 0x19546]
push ecx
mov word [esp + 0x19548], ax
call fcn.00453450
add esp, 0xc
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe40c]
mov word [esp + eax + 0x1953c], cx
add eax, 2
test cx, cx
jne 0x43a100
mov esi, dword [esp + 0x70]
push esi
push str.PRINTTESTPAGE_wait___d__n
call fcn.004454c0
add esp, 8
push esi
lea edx, [esp + 0xec30]
push edx
lea eax, [esp + 0xe20c]
push eax
mov ecx, ebp
call fcn.00431dd0
lea ecx, [esp + 0xee34]
push str.SETPRN
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43a1a6
mov eax, dword [esp + 0x60]
lea edx, [esp + 0x15c8c]
push edx
mov edx, dword [esp + 0x50]
push eax
lea ecx, [esp + 0x15a8c]
push ecx
push edx
lea eax, [esp + 0xfb3c]
push eax
lea ecx, [esp + 0x176d8]
push ecx
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0xec44]
push edx
mov edx, dword [esp + 0x58]
lea eax, [esp + 0xe220]
push eax
push ecx
push edx
mov ecx, ebp
call fcn.00432110
lea eax, [esp + 0xee34]
push str.SETPRNDATA
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43a1f2
lea ecx, [esp + 0x18704]
push ecx
mov ecx, dword [esp + 0x28]
push 4
lea edx, [esp + 0x168a4]
push edx
lea eax, [esp + 0xec38]
push eax
mov eax, dword [esp + 0x4c]
push ecx
lea edx, [esp + 0xe218]
push edx
push eax
mov ecx, ebp
call fcn.00432260
lea ecx, [esp + 0xee34]
push str.RMVDRV
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43a32f
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x70], eax
mov dword [esp + 0x20070], 0x2f
test eax, eax
je 0x43a24f
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
xor edi, edi
push edi
lea ecx, [esp + 0xe20c]
push ecx
push edx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43a253
xor esi, esi
xor edi, edi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, edi
je 0x43a302
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x68]
push eax
push ecx
lea edx, [esp + 0xf24c]
push edx
lea eax, [esp + 0xe620]
push eax
lea ecx, [esp + 0xe214]
push ecx
mov ecx, esi
call fcn.00416b00
mov ecx, 1
mov edx, ecx
sub edx, eax
mov dword [ebp + 0x480], edx
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], ecx
lea edx, [ebp + 0x484]
cmp eax, edi
je 0x43a2d1
mov eax, str.RMVDRV_printer_driver_removed.
mov dword [ebp + 0x47c], edi
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x43a2c0
jmp 0x43a2f0
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.RMVDRV_operation_failed.
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x43a2e1
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
jmp 0x43a32f
mov eax, str.RMVDRV_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
jmp 0x43a320
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x43a320
lea ecx, [esp + 0xee34]
push str.RMVPRN
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43a481
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
xor ebx, ebx
mov dword [esp + 0x20070], 0x30
cmp eax, ebx
je 0x43a386
movzx edx, byte [esp + 0x24]
mov ecx, dword [esp + 0x3c]
push ebx
push edx
push ebx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43a388
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43a451
cmp byte [esp + 0x68], 0
mov byte [esp + 0x4c], 0
je 0x43a3ac
mov byte [esp + 0x4c], 1
cmp byte [esp + 0x4a], 0
mov edx, dword [esp + 0x4c]
push edx
lea eax, [esp + 0xec30]
lea ecx, [esp + 0xe208]
push eax
push ecx
mov ecx, esi
je 0x43a3d1
call fcn.0040c340
jmp 0x43a3d6
call fcn.00417160
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], 1
cmp eax, ebx
je 0x43a411
mov eax, str.RMVPRN_printer_removed.
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], ebx
sub edx, eax
jmp 0x43a400
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a400
jmp 0x43a43f
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x47c], edx
mov eax, str.RMVPRN_operation_failed.
lea edx, [ebp + 0x484]
sub edx, eax
jmp 0x43a430
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a430
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
jmp 0x43a483
mov eax, str.RMVPRN_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a470
jmp 0x43a483
xor ebx, ebx
lea eax, [esp + 0xee34]
push str.SETDEFPROF
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43a68f
cmp word [esp + 0xec2c], bx
je 0x43a665
cmp word [esp + 0x12dd4], bx
je 0x43a665
xor edi, edi
cmp word [esp + 0xf924], bx
je 0x43a511
push 0x82c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x31
cmp eax, ebx
je 0x43a502
lea ecx, [esp + 0x10144]
push ecx
lea edx, [esp + 0xf928]
push edx
push ebx
mov ecx, eax
call fcn.004530e0
jmp 0x43a504
xor eax, eax
mov dword [esp + 0x20070], 0xffffffff
mov edi, eax
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x32
cmp eax, ebx
je 0x43a54f
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edi
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43a551
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43a621
cmp word [esp + 0xe204], bx
je 0x43a585
lea edx, [esp + 0xf244]
push edx
lea eax, [esp + 0xe208]
push eax
mov ecx, esi
call fcn.004107a0
push ebx
lea ecx, [esp + 0x16aa8]
push ecx
lea edx, [esp + 0x12ddc]
push edx
lea eax, [esp + 0xec38]
push eax
lea ecx, [esp + 0xe214]
push ecx
mov ecx, esi
call fcn.004116b0
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], 1
cmp eax, ebx
je 0x43a5e3
mov eax, str.SETDEFPROF_printer_default_applied.
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], ebx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a5d2
jmp 0x43a60f
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x47c], edx
mov eax, str.SETDEFPROF_operation_failed.
lea edx, [ebp + 0x484]
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a600
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
jmp 0x43a64f
mov eax, str.SETDEFPROF_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a640
cmp edi, ebx
je 0x43a68f
mov ecx, edi
call fcn.0043df40
push edi
call fcn.004534ca
add esp, 4
jmp 0x43a68f
mov eax, str.SETDEFPROF_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a680
lea eax, [esp + 0xee34]
push str.ADDPROF
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43a81f
cmp word [esp + 0xec2c], bx
je 0x43a7f1
cmp word [esp + 0x12dd4], bx
je 0x43a7f1
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x33
cmp eax, ebx
je 0x43a706
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push ebx
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43a708
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43a7c2
cmp word [esp + 0xe204], bx
je 0x43a73c
lea edx, [esp + 0xf244]
push edx
lea eax, [esp + 0xe208]
push eax
mov ecx, esi
call fcn.004107a0
lea ecx, [esp + 0x12dd4]
push ecx
lea edx, [esp + 0xec30]
push edx
lea eax, [esp + 0xe20c]
push eax
mov ecx, esi
call fcn.00411ee0
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp eax, ebx
je 0x43a791
mov eax, str.ADDPROF_printer_default_applied.
mov dword [ebp + 0x47c], ebx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a780
jmp 0x43a7b0
mov ecx, dword [esi + 0x24]
mov eax, str.ADDPROF_operation_failed.
mov dword [ebp + 0x47c], ecx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a7a1
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
jmp 0x43a81f
mov eax, str.ADDPROF_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
jmp 0x43a7e0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a7e0
jmp 0x43a81f
mov eax, str.SETDEFPROF_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a810
lea edx, [esp + 0xee34]
push str.ENABLEPLUGIN
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43a99f
cmp word [esp + 0xec2c], bx
je 0x43a971
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x34
cmp eax, ebx
je 0x43a888
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push ebx
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43a88a
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43a944
cmp word [esp + 0xe204], bx
je 0x43a8be
lea edx, [esp + 0xf244]
push edx
lea eax, [esp + 0xe208]
push eax
mov ecx, esi
call fcn.004107a0
lea ecx, [esp + 0x16eb4]
push ecx
lea edx, [esp + 0xec30]
push edx
lea eax, [esp + 0xe20c]
push eax
mov ecx, esi
call fcn.0040c4a0
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp eax, ebx
je 0x43a913
mov eax, str.ENABLEPLUGIN_printer_default_applied.
mov dword [ebp + 0x47c], ebx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a902
jmp 0x43a932
mov ecx, dword [esi + 0x24]
mov eax, str.ENABLEPLUGIN_operation_failed.
mov dword [ebp + 0x47c], ecx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a923
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
jmp 0x43a99f
mov eax, str.ENABLEPLUGIN_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a960
jmp 0x43a99f
mov eax, str.ENABLEPLUGIN_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43a990
lea edx, [esp + 0xee34]
push str.DISABLEPLUGIN
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43ab5f
cmp word [esp + 0xec2c], bx
je 0x43ab31
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x35
cmp eax, ebx
je 0x43aa08
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push ebx
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43aa0a
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43ab02
cmp word [esp + 0xe204], bx
je 0x43aa3e
lea edx, [esp + 0xf244]
push edx
lea eax, [esp + 0xe208]
push eax
mov ecx, esi
call fcn.004107a0
push 0x206
lea edx, [esp + 0x174c2]
xor ecx, ecx
push ebx
push edx
mov word [esp + 0x174c8], cx
call fcn.00453450
add esp, 0xc
xor eax, eax
movzx ecx, word [esp + eax + 0xfd34]
mov word [esp + eax + 0x174bc], cx
add eax, 2
cmp cx, bx
jne 0x43aa60
lea eax, [esp + 0x174bc]
push eax
lea ecx, [esp + 0xec30]
push ecx
lea edx, [esp + 0xe20c]
push edx
mov ecx, esi
call fcn.0040cba0
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp eax, ebx
je 0x43aad1
mov eax, str.DISABLEPLUGIN_printer_default_applied.
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43aac0
jmp 0x43aaf0
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.DISABLEPLUGIN_operation_failed.
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43aae1
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
jmp 0x43ab5f
mov eax, str.DISABLEPLUGIN_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
jmp 0x43ab20
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43ab20
jmp 0x43ab5f
mov eax, str.DISABLEPLUGIN_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43ab50
lea ecx, [esp + 0xee34]
push str.ISPLUGON
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43ad2f
cmp word [esp + 0xec2c], bx
je 0x43ad01
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x36
cmp eax, ebx
je 0x43abc8
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push ebx
lea ecx, [esp + 0xe20c]
push ecx
push edx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43abca
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43acd1
cmp word [esp + 0xe204], bx
je 0x43abfe
lea eax, [esp + 0xf244]
push eax
lea ecx, [esp + 0xe208]
push ecx
mov ecx, esi
call fcn.004107a0
push 0x206
lea eax, [esp + 0x178d2]
xor edx, edx
push ebx
push eax
mov word [esp + 0x178d8], dx
call fcn.00453450
add esp, 0xc
xor eax, eax
movzx ecx, word [esp + eax + 0xfd34]
mov word [esp + eax + 0x178cc], cx
add eax, 2
cmp cx, bx
jne 0x43ac20
lea ecx, [esp + 0x178cc]
push ecx
lea edx, [esp + 0xec30]
push edx
lea eax, [esp + 0xe20c]
push eax
mov ecx, esi
call fcn.0040d1e0
lea edx, [ebp + 0x484]
sub edx, 0x46b804
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x43ac92
mov eax, 1
mov dword [ebp + 0x480], eax
mov dword [ebp + 0x47c], eax
mov eax, 0x46b804
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43ac81
jmp 0x43acbf
mov dword [ebp + 0x480], 1
mov dword [ebp + 0x47c], ebx
mov eax, 0x46b804
jmp 0x43acb0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43acb0
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
jmp 0x43ad2f
mov eax, str.ISPLUGON_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43acf0
jmp 0x43ad2f
mov eax, str.ISPLUGON_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43ad20
lea ecx, [esp + 0xee34]
push str.ADDTCPPORT
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43aec0
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x37
cmp eax, ebx
je 0x43ad8a
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push ebx
lea ecx, [esp + 0xe20c]
push ecx
push edx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43ad8c
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43aec0
lea eax, [esp + 0xf654]
push 0x47124c
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x43adc2
cmp word [esp + 0xf654], bx
jne 0x43ae0f
mov eax, dword [ebp + 0x21c]
mov edx, dword [esp + 0x84]
cmp dword [eax], 0x17
mov eax, dword [esp + 0x80]
lea ecx, [esp + 0x14634]
push ecx
push edx
push eax
lea ecx, [esp + 0x10b58]
push ecx
lea edx, [esp + 0xfb3c]
lea eax, [esp + 0xe214]
push edx
mov ecx, esi
push eax
jg 0x43ae06
call fcn.0040e710
jmp 0x43ae0b
call fcn.0040e9a0
mov dword [esp + 0x28], eax
lea ecx, [esp + 0xf654]
push 0x47a3e8
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43ae58
mov edx, dword [esp + 0x74]
push edx
lea eax, [esp + 0x14020]
push eax
lea ecx, [esp + 0x10b54]
push ecx
lea edx, [esp + 0xfb38]
push edx
lea eax, [esp + 0xe214]
push eax
mov ecx, esi
call fcn.0040eec0
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp dword [esp + 0x28], ebx
je 0x43ae91
mov eax, str.ADDTCPPORT_successful
mov dword [ebp + 0x47c], ebx
sub edx, eax
jmp 0x43ae80
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43ae80
jmp 0x43aeb0
mov ecx, dword [esi + 0x24]
mov eax, str.ADDTCPPORT_failed
mov dword [ebp + 0x47c], ecx
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43aea1
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.UPDATETCPPORT
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43b03f
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x38
cmp eax, ebx
je 0x43af1b
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push ebx
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43af1d
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43b03f
lea edx, [esp + 0xf654]
push 0x47124c
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x43af53
cmp word [esp + 0xf654], bx
jne 0x43af86
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
push eax
push ecx
lea edx, [esp + 0x10b54]
push edx
lea eax, [esp + 0xfb38]
push eax
lea ecx, [esp + 0xe214]
push ecx
mov ecx, esi
call fcn.0040ec40
mov dword [esp + 0x28], eax
lea edx, [esp + 0xf654]
push 0x47a3e8
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43afcf
mov eax, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x14020]
push ecx
lea edx, [esp + 0x10b54]
push edx
lea eax, [esp + 0xfb38]
push eax
lea ecx, [esp + 0xe214]
push ecx
mov ecx, esi
call fcn.0040f180
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], 1
cmp dword [esp + 0x28], ebx
je 0x43b003
mov eax, str.UPDATETCPPORT_successful
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], ebx
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43aff2
jmp 0x43b02f
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x47c], edx
mov eax, str.UPDATETCPPORT_failed
lea edx, [ebp + 0x484]
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43b020
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea eax, [esp + 0xee34]
push str.ADDTCPLPRPORT
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43b140
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x39
cmp eax, ebx
je 0x43b09a
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push ebx
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43b09c
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43b140
mov edx, dword [esp + 0x74]
push edx
lea eax, [esp + 0x14020]
push eax
lea ecx, [esp + 0x10b54]
push ecx
lea edx, [esp + 0xfb38]
push edx
lea eax, [esp + 0xe214]
push eax
mov ecx, esi
call fcn.0040eec0
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp eax, ebx
je 0x43b111
mov eax, str.ADDTCPLPRPORT_successful
mov dword [ebp + 0x47c], ebx
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43b100
jmp 0x43b130
mov ecx, dword [esi + 0x24]
mov eax, str.ADDTCPLPRPORT_failed
mov dword [ebp + 0x47c], ecx
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43b121
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.ADDCONNECTION
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43b22f
push 0x206
lea ecx, [esp + 0x14c52]
push ebx
push ecx
mov word [esp + 0x14c58], ax
call fcn.00453450
lea edx, [esp + 0xec38]
push edx
lea eax, [esp + 0xe214]
push eax
lea ecx, [esp + 0x14c60]
push 0x46ab98
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea edx, [esp + 0x14c68]
push edx
push str.wszConn___s_
call fcn.004454c0
add esp, 0x24
lea eax, [esp + 0x14c4c]
push eax
call sub.WINSPOOL.DRV_AddPrinterConnectionW
mov edi, eax
mov dword [esp + 0x28], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.AddPrinterConnection_err_d
call fcn.004454c0
add esp, 8
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp edi, ebx
je 0x43b211
mov eax, str.ADDCONNECTION_successful
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43b200
jmp 0x43b22f
mov eax, str.ADDCONNECTION_failed
mov dword [ebp + 0x47c], esi
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43b220
lea ecx, [esp + 0xee34]
push str.DELCONNECTION
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43b2ff
push 0x206
lea eax, [esp + 0x14e5a]
xor edx, edx
push ebx
push eax
mov word [esp + 0x14e60], dx
call fcn.00453450
lea ecx, [esp + 0xec38]
push ecx
lea edx, [esp + 0xe214]
push edx
lea eax, [esp + 0x14e68]
push 0x46ab98
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea ecx, [esp + 0x14e70]
push ecx
push str.wszConn___s_
call fcn.004454c0
add esp, 0x24
lea edx, [esp + 0x14e54]
push edx
call sub.WINSPOOL.DRV_DeletePrinterConnectionW
mov edi, eax
mov dword [esp + 0x28], edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.DeletePrinterConnection_err_d
call fcn.004454c0
add esp, 8
lea edx, [ebp + 0x484]
cmp edi, ebx
je 0x43b357
mov eax, str.DELCONNECTION_successful
mov dword [ebp + 0x480], 1
mov dword [ebp + 0x47c], ebx
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43b2f0
mov edi, 1
lea eax, [esp + 0xee34]
push str.ADDPORTAPI
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43b40f
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x3a
cmp eax, ebx
je 0x43b381
push ebx
push ebx
lea ecx, [esp + 0xe20c]
push ecx
push ebx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43b383
mov edi, 1
mov eax, str.DELCONNECTION_failed
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], esi
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43b370
jmp 0x43b304
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43b40f
lea edx, [esp + 0x11574]
push edx
mov ecx, esi
call fcn.0040f570
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], edi
lea edx, [ebp + 0x484]
cmp eax, ebx
je 0x43b3d7
mov eax, str.ADDPORTAPI_successful
mov dword [ebp + 0x47c], ebx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43b3c6
jmp 0x43b3ff
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.ADDPORTAPI_failed
sub edx, eax
jmp 0x43b3f0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43b3f0
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea ecx, [esp + 0xee34]
push str.PRINTERPROPERTIESAPI
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43b4ff
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x3b
cmp eax, ebx
je 0x43b462
push ebx
push ebx
lea edx, [esp + 0xe20c]
push edx
push ebx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43b464
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43b4ff
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0xec2c]
push eax
push ecx
mov ecx, esi
call fcn.0040f5a0
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], edi
cmp eax, ebx
je 0x43b4c1
mov eax, str.PRINTERPROPERTIESAPI_successful
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], ebx
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, bx
jne 0x43b4b0
jmp 0x43b4ef
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x47c], edx
mov eax, str.PRINTERPROPERTIESAPI_failed
lea edx, [ebp + 0x484]
sub edx, eax
jmp 0x43b4e0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43b4e0
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea eax, [esp + 0xee34]
push str.DELETEPORTAPI
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43b5e0
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x3c
cmp eax, ebx
je 0x43b552
push ebx
push ebx
lea ecx, [esp + 0xe20c]
push ecx
push ebx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43b554
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, ebx
je 0x43b5e0
lea edx, [esp + 0xfb2c]
push edx
mov ecx, esi
call fcn.0040f600
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], edi
lea edx, [ebp + 0x484]
cmp eax, ebx
jne 0x43b5b1
mov eax, str.DELETEPORTAPI_successful
mov dword [ebp + 0x47c], ebx
sub edx, eax
jmp 0x43b5a0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43b5a0
jmp 0x43b5d0
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.DELETEPORTAPI_failed
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, bx
jne 0x43b5c1
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea ecx, [esp + 0xee34]
push str.DELETEMONITORAPI
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43bbbf
lea edx, [esp + 0x11574]
push edx
push str.DELETEMONITORAPI____s__n
call fcn.004454c0
add esp, 8
cmp byte [esp + 0x24], 0
jne 0x43bbbf
cmp word [esp + 0x11574], 0
je 0x43bbbf
lea eax, [esp + 0x8c]
push eax
xor edi, edi
lea ecx, [esp + 0x70]
push ecx
push edi
push edi
push 2
push edi
mov dword [esp + 0x84], edi
mov dword [esp + 0xa4], edi
call sub.WINSPOOL.DRV_EnumPortsW
mov eax, dword [esp + 0x6c]
xor ebx, ebx
mov dword [esp + 0x60], ebx
cmp eax, edi
jbe 0x43b6f6
push eax
call fcn.00453c61
mov ebx, eax
add esp, 4
mov dword [esp + 0x60], ebx
cmp ebx, edi
je 0x43b6f6
mov ecx, dword [esp + 0x6c]
lea edx, [esp + 0x8c]
push edx
lea eax, [esp + 0x70]
push eax
push ecx
push ebx
push 2
push edi
call sub.WINSPOOL.DRV_EnumPortsW
test eax, eax
je 0x43b6f6
cmp dword [esp + 0x8c], edi
jle 0x43b6f6
lea esi, [ebx + 8]
cmp dword [esi - 8], 0
je 0x43b6e7
mov edx, dword [esi - 8]
push edx
push str.Port_Name___s__n
call fcn.004454c0
mov eax, dword [esi - 4]
push eax
push str.__Monitor__s__n
call fcn.004454c0
mov ecx, dword [esi]
push ecx
push str.__Desc___s__n
call fcn.004454c0
mov edx, dword [esi + 4]
push edx
push str.__Type___d__n
call fcn.004454c0
add esp, 0x20
inc edi
add esi, 0x14
cmp edi, dword [esp + 0x8c]
jl 0x43b6a7
xor edi, edi
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x70]
push ecx
push edi
push edi
push 2
push edi
push 2
mov dword [esp + 0x88], edi
mov dword [esp + 0xbc], edi
call sub.WINSPOOL.DRV_EnumPrintersW
mov eax, dword [esp + 0x6c]
cmp eax, edi
jbe 0x43ba30
push eax
call fcn.00453c61
add esp, 4
lea edx, [esp + 0xa0]
push edx
mov edx, dword [esp + 0x70]
lea ecx, [esp + 0x70]
push ecx
push edx
push eax
push 2
push edi
push 2
mov dword [esp + 0x38], eax
call sub.WINSPOOL.DRV_EnumPrintersW
test eax, eax
je 0x43ba19
cmp dword [esp + 0xa0], 0
mov dword [esp + 0x70], 0
jle 0x43ba19
mov ebp, dword [esp + 0x1c]
add ebp, 0xc
xor ebx, ebx
lea ebx, [ebx]
mov eax, dword [ebp - 8]
push eax
push str.pPrnInfo_i_.pPrinterName____s__n
call fcn.004454c0
mov eax, dword [ebp]
add esp, 8
cmp eax, ebx
je 0x43b7a6
push eax
push str.pPrnInfo_i_.pPortName____s__n
call fcn.004454c0
add esp, 8
cmp dword [esp + 0x8c], ebx
mov dword [esp + 0x34], ebx
jle 0x43ba00
mov edi, dword [esp + 0x60]
mov dword [esp + 0x4c], edi
nop
cmp dword [edi], ebx
je 0x43b9e3
mov eax, dword [ebp]
cmp eax, ebx
je 0x43b9e3
cmp dword [edi + 4], ebx
je 0x43b9e3
mov ecx, dword [edi]
push eax
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43b9e3
mov eax, dword [edi + 4]
lea edx, [esp + 0x11574]
push edx
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43b9e3
mov edx, dword [ebp]
mov eax, dword [ebp - 8]
lea ecx, [esp + 0x11574]
push ecx
push edx
push eax
push str.__Found___s__With_Port___s__Monitor___s__n
call fcn.004454c0
push 0x40e
lea edx, [esp + 0x1bdf2]
xor ecx, ecx
push ebx
push edx
mov dword [esp + 0xac], 0xffffffff
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], 0xf000c
mov word [esp + 0x1bdf8], cx
call fcn.00453450
mov ecx, dword [ebp - 8]
add esp, 0x1c
lea edx, [esp + 0x1bddc]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x43b874
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x1bde4]
push edx
call sub.WINSPOOL.DRV_OpenPrinterW
test eax, eax
je 0x43b9e3
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x7c]
push eax
push ebx
push ebx
push 2
push ecx
mov dword [esp + 0x90], ebx
call sub.WINSPOOL.DRV_GetPrinterW
mov eax, dword [esp + 0x7c]
cmp eax, ebx
je 0x43b9d6
push eax
call fcn.00453c61
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x43b9d6
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x7c]
push edx
push eax
push esi
push 2
push ecx
call sub.WINSPOOL.DRV_GetPrinterW
cmp eax, ebx
jne 0x43b981
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x7c]
push edx
mov edi, eax
push edi
push str.Get_failed_check_code__d__dwNeed__d__n
call fcn.004454c0
add esp, 0xc
cmp edi, 0x7a
jne 0x43b97d
push esi
call fcn.00453c56
mov eax, dword [esp + 0x80]
push eax
call fcn.00453c61
mov ecx, dword [esp + 0x74]
push ecx
mov esi, eax
push ebx
push esi
call fcn.00453450
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0xa4]
add esp, 0x14
lea edx, [esp + 0x7c]
push edx
push eax
push esi
push 2
push ecx
call sub.WINSPOOL.DRV_GetPrinterW
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Check_code__d__n
call fcn.004454c0
add esp, 8
mov edi, dword [esp + 0x4c]
push ebx
push esi
mov dword [esi + 0xc], str.LPT1:
mov edx, dword [esp + 0x98]
push 2
push edx
call sub.WINSPOOL.DRV_SetPrinterW
test eax, eax
je 0x43b9c0
mov eax, dword [edi]
push eax
push ebx
push ebx
call sub.WINSPOOL.DRV_DeletePortW
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [edi]
push eax
push ecx
push str._DeletePort___s__error____d__n
call fcn.004454c0
add esp, 0xc
jmp 0x43b9cd
push str._SetPrinter_falied_n
call fcn.004454c0
add esp, 4
push esi
call fcn.00453c56
add esp, 4
mov edx, dword [esp + 0x90]
push edx
call sub.WINSPOOL.DRV_ClosePrinter
mov eax, dword [esp + 0x34]
inc eax
add edi, 0x14
cmp eax, dword [esp + 0x8c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], edi
jl 0x43b7c0
mov eax, dword [esp + 0x70]
inc eax
add ebp, 0x54
cmp eax, dword [esp + 0xa0]
mov dword [esp + 0x70], eax
jl 0x43b780
mov eax, dword [esp + 0x1c]
push eax
call fcn.00453c56
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x64]
add esp, 4
xor edi, edi
cmp ebx, edi
je 0x43ba3d
push ebx
call fcn.00453c56
add esp, 4
lea ecx, [esp + 0x11574]
push ecx
push str.DeleteMonitor____s__n
call fcn.004454c0
add esp, 8
lea edx, [esp + 0x11574]
push edx
push edi
push edi
call sub.WINSPOOL.DRV_DeleteMonitorW
test eax, eax
je 0x43ba6c
xor esi, esi
jmp 0x43bb59
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DeleteMonitor____ld_n
call fcn.004454c0
push 0x34
call fcn.004534f0
add esp, 0xc
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x3d
cmp eax, edi
je 0x43baa5
mov ecx, eax
call fcn.0044f630
mov esi, eax
jmp 0x43baa7
xor esi, esi
push 1
push 0x46ab78
push 0
mov ecx, esi
mov dword [esp + 0x2007c], 0xffffffff
call fcn.0044f300
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
lea ebx, [ebx]
push 0x3e8
call ebx
push 0x46ab78
push 0
mov ecx, esi
call fcn.0044f530
cmp eax, 1
je 0x43baf0
inc edi
cmp edi, 0xa
jl 0x43bad0
push 0
push 0
push 0x46ab78
push 0
mov ecx, esi
call fcn.0044f230
xor edi, edi
push 0x3e8
call ebx
push 0x46ab78
push 0
mov ecx, esi
call fcn.0044f530
cmp eax, 4
je 0x43bb24
inc edi
cmp edi, 0xa
jl 0x43bb04
test esi, esi
je 0x43bb38
mov ecx, esi
call fcn.0044f880
push esi
call fcn.004534ca
add esp, 4
lea eax, [esp + 0x11574]
push eax
push 0
push 0
call sub.WINSPOOL.DRV_DeleteMonitorW
test eax, eax
je 0x43bb51
xor esi, esi
jmp 0x43bb59
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.DeleteMonitor____ld_n
call fcn.004454c0
add esp, 8
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
test esi, esi
jne 0x43bba1
mov eax, str.DELETEMONITORAPI_successful
mov dword [ebp + 0x47c], esi
sub edx, eax
jmp 0x43bb90
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x43bb90
jmp 0x43bbbf
mov eax, str.DELETEMONITORAPI_failed
mov dword [ebp + 0x47c], esi
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x43bbb0
lea ecx, [esp + 0xee34]
push str.ADDTGPORT
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43cccf
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x3e
test eax, eax
je 0x43bc19
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push 0
lea ecx, [esp + 0xe20c]
push ecx
push edx
mov ecx, eax
call fcn.004155a0
jmp 0x43bc1b
xor eax, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x20070], 0xffffffff
test eax, eax
je 0x43cccf
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x14846]
push ecx
mov word [esp + 0x14848], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x127d2]
push eax
mov word [esp + 0x127d4], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x13c2e]
push edx
mov word [esp + 0x13c30], cx
call fcn.00453450
mov eax, dword [ebp + 0x21c]
add eax, 0x420
push eax
lea eax, [esp + 0x14864]
push 0x104
push eax
call fcn.00453d84
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push str.TGTcpMon.dll
lea ecx, [esp + 0x14870]
push ecx
lea edx, [esp + 0x127f4]
push 0x46ab98
push edx
call esi
add esp, 0x40
push str.TGTcpMonUI.dll
lea eax, [esp + 0x14840]
push eax
lea ecx, [esp + 0x13c14]
push 0x46ab98
push ecx
call esi
mov ecx, dword [ebp + 0x21c]
add esp, 0x10
push 0
lea edx, [esp + 0x127c0]
push edx
call fcn.004496a0
test al, al
jne 0x43bd3e
mov ecx, dword [ebp + 0x21c]
call fcn.0044b710
push 0
push 0
test eax, eax
jne 0x43bd26
lea eax, [esp + 0x127c4]
push eax
push str.32TGTcpMon.dll
jmp 0x43bd33
lea ecx, [esp + 0x127c4]
push ecx
push str.64TGTcpMon.dll
mov ecx, dword [ebp + 0x21c]
call fcn.0044bf30
mov ecx, dword [ebp + 0x21c]
push 0
lea edx, [esp + 0x13c10]
push edx
call fcn.004496a0
test al, al
jne 0x43bdd7
mov ecx, dword [ebp + 0x21c]
call fcn.0044b710
mov ecx, dword [ebp + 0x21c]
push 0
test eax, eax
jne 0x43bd9e
push str.32TGTcpMonUI.dll
call fcn.004496a0
test al, al
je 0x43bdca
mov ecx, dword [ebp + 0x21c]
push 0
push 0
lea eax, [esp + 0x13c14]
push eax
push str.32TGTcpMonUI.dll
call fcn.0044bf30
jmp 0x43bdd7
push str.64TGTcpMonUI.dll
call fcn.004496a0
test al, al
je 0x43bdca
push 0
push 0
lea ecx, [esp + 0x13c14]
push ecx
mov ecx, dword [ebp + 0x21c]
push str.64TGTcpMonUI.dll
call fcn.0044bf30
jmp 0x43bdd7
push str.TGTcpMonUI.dll_does_not_exist_on_src._n
call fcn.004454c0
add esp, 4
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0xa8]
push eax
push 0
push 0
push 1
push 0
mov dword [esp + 0x40], 0
mov byte [esp + 0x62], 0
call sub.WINSPOOL.DRV_EnumMonitorsW
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.00453c61
mov ecx, dword [esp + 0xa8]
add esp, 4
mov edi, eax
lea edx, [esp + 0xd0]
push edx
lea eax, [esp + 0xa8]
push eax
push ecx
push edi
push 1
push 0
call sub.WINSPOOL.DRV_EnumMonitorsW
test eax, eax
je 0x43bea8
mov ebx, dword [esp + 0xd0]
xor esi, esi
test ebx, ebx
jbe 0x43bea8
lea ebx, [ebx]
mov ecx, dword [edi + esi*4]
mov eax, str.TG_TCP_IP_Port
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x43be7e
test dx, dx
je 0x43be7a
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x43be7e
add eax, 4
add ecx, 4
test dx, dx
jne 0x43be58
xor eax, eax
jmp 0x43be83
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x43be8e
inc esi
cmp esi, ebx
jb 0x43be50
jmp 0x43bea8
push str.Installed_n
call fcn.004454c0
add esp, 4
mov byte [esp + 0x4a], 1
mov dword [esp + 0x28], 1
test edi, edi
je 0x43beb5
push edi
call fcn.00453c56
add esp, 4
cmp byte [esp + 0x4a], 0
jne 0x43bf74
xor eax, eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], eax
lea edx, [esp + 0x127bc]
mov dword [esp + 0xc0], str.TG_TCP_IP_Port
mov dword [esp + 0xc8], edx
mov dword [esp + 0xc4], str.Windows_NT_x86
mov ecx, dword [ebp + 0x21c]
call fcn.0044b710
test eax, eax
je 0x43bf15
mov dword [esp + 0xc4], str.Windows_x64
lea eax, [esp + 0xc0]
push eax
push 2
push 0
call sub.WINSPOOL.DRV_AddMonitorW
test eax, eax
je 0x43bf2e
xor esi, esi
jmp 0x43bf36
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.ADDTGPORT____ld_n
call fcn.004454c0
add esp, 8
cmp esi, 5
ja 0x43bfd4
je 0x43bf5d
sub esi, 0
je 0x43bfb5
sub esi, 2
jne 0x43bfe4
push str.___The_remote_computer_maybe_NT4_machine._n
call fcn.004454c0
push str.___Try_to_install_Language_Monitor_through_service._n
call fcn.004454c0
add esp, 8
cmp dword [esp + 0x28], 0
je 0x43cc85
push 0x34
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x3f
test eax, eax
je 0x43c017
mov ecx, eax
call fcn.0044f630
mov edi, eax
mov dword [esp + 0x84], edi
jmp 0x43c029
mov ecx, dword [esp + 0xc0]
push ecx
push str.___Successfully_add_new_Language_Monitor_____s_._n
call fcn.004454c0
add esp, 8
mov dword [esp + 0x28], 1
jmp 0x43bf7f
cmp esi, 0xb7
je 0x43bff5
cmp esi, 0xbbe
je 0x43bff5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.___ERROR___Fail_to_install_Language_Monitor____ld._n
jmp 0x43bf6c
mov edx, dword [esp + 0xc0]
push edx
push str.___The_specified_print_monitor_has_already_been_installed_____s_._n
call fcn.004454c0
add esp, 8
mov dword [esp + 0x28], 1
jmp 0x43bf7f
mov dword [esp + 0x84], 0
mov edi, dword [esp + 0x84]
push str.spooler
or esi, 0xffffffff
push 0
mov ecx, edi
mov dword [esp + 0x20078], esi
call fcn.0044f7c0
cmp eax, 4
jne 0x43c056
push 1
push str.spooler
push 0
mov ecx, edi
call fcn.0044f700
push 0x4435c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x40
test eax, eax
je 0x43c08e
push 0
push 0
push str.TGPort.ini
mov ecx, eax
call fcn.0040a7b0
mov ebx, eax
mov dword [esp + 0x60], eax
jmp 0x43c094
xor ebx, ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x20070], esi
test ebx, ebx
je 0x43cc0b
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x12bd6]
push ecx
mov word [esp + 0x12bd8], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x125ca]
push eax
mov word [esp + 0x125cc], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x1340e]
push edx
mov word [esp + 0x13410], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x129f2]
push ecx
mov word [esp + 0x129f4], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x11dce]
push eax
mov word [esp + 0x11dd0], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x11fe2]
push edx
mov word [esp + 0x11fe4], cx
call fcn.00453450
add esp, 0x48
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x123b6]
push ecx
mov word [esp + 0x123b8], ax
call fcn.00453450
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x121ba]
push eax
mov word [esp + 0x121bc], dx
call fcn.00453450
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x14a66]
push edx
mov word [esp + 0x14a68], cx
call fcn.00453450
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x15292]
push ecx
mov word [esp + 0x15294], ax
call fcn.00453450
add esp, 0x30
push 0
lea edx, [esp + 0x12bd0]
push edx
push str.LoggingOption
push 0x479ac4
mov ecx, ebx
call fcn.004099f0
cmp word [esp + 0x12bcc], 0
jne 0x43c217
xor eax, eax
jmp 0x43c200
movzx ecx, word [eax + 0x479ac0]
mov word [esp + eax + 0x12bcc], cx
add eax, 2
test cx, cx
jne 0x43c200
push 0
lea eax, [esp + 0x125b8]
push eax
push 0x479aac
push 0x479ac4
mov ecx, ebx
call fcn.004099f0
cmp word [esp + 0x125b4], 0
jne 0x43c257
xor eax, eax
nop
movzx ecx, word [eax + 0x479aa8]
mov word [esp + eax + 0x125b4], cx
add eax, 2
test cx, cx
jne 0x43c240
push 0
lea ecx, [esp + 0x133f0]
push ecx
push str.RetryNumber
push 0x479ac4
mov ecx, ebx
call fcn.004099f0
cmp word [esp + 0x133ec], 0
jne 0x43c297
xor eax, eax
nop
movzx ecx, word [eax + 0x479aa8]
mov word [esp + eax + 0x133ec], cx
add eax, 2
test cx, cx
jne 0x43c280
push 0
lea edx, [esp + 0x129c8]
push edx
push str.MonitorSequence
push 0x479ac4
mov ecx, ebx
call fcn.004099f0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x17ce6]
push ecx
mov word [esp + 0x17ce8], ax
call fcn.00453450
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea edx, [esp + 0x17cec]
push str._sOption
push edx
mov dword [esp + 0xf4], 0
call esi
add esp, 0x18
lea eax, [esp + 0xdc]
push eax
lea ecx, [esp + 0x8c]
push ecx
push 0
push 0x20006
push 0
push 0
push 0
lea edx, [esp + 0x17cf8]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x43c420
lea eax, [esp + 0x12bcc]
push eax
call fcn.00453b7c
lea ecx, [esp + 0x129c8]
push ecx
mov dword [esp + 0xe8], eax
call fcn.00453b7c
lea edx, [esp + 0x125bc]
push edx
mov dword [esp + 0xe4], eax
call fcn.00453b7c
mov dword [esp + 0xf4], eax
lea eax, [esp + 0x133f8]
push eax
call fcn.00453b7c
mov edx, dword [esp + 0x98]
add esp, 0x10
push 4
lea ecx, [esp + 0xe4]
push ecx
push 4
push 0
push str.LoggingOption
push edx
mov dword [esp + 0x118], eax
call edi
mov ecx, dword [esp + 0x88]
push 4
lea eax, [esp + 0xec]
push eax
push 4
push 0
push 0x479aac
push ecx
call edi
mov eax, dword [esp + 0x88]
push 4
lea edx, [esp + 0x104]
push edx
push 4
push 0
push str.RetryNumber
push eax
call edi
cmp word [esp + 0x129c4], 0
je 0x43c407
mov edx, dword [esp + 0x88]
push 4
lea ecx, [esp + 0xdc]
push ecx
push 4
push 0
push str.MonitorSequence
push edx
call edi
mov eax, dword [esp + 0x88]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x88], 0
mov dword [esp + 0x80], 1
jmp 0x43c430
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x11b96]
push edx
mov word [esp + 0x11b98], cx
call fcn.00453450
xor eax, eax
mov word [esp + 0x11da0], ax
xor ecx, ecx
mov word [esp + 0x121b0], ax
mov eax, dword [esp + 0x8c]
push eax
mov word [esp + 0x11fac], cx
xor edx, edx
mov word [esp + 0x14a54], cx
lea ecx, [esp + 0x11b9c]
push str.TGPort.port_d
push ecx
mov word [esp + 0x123c4], dx
mov word [esp + 0x1527c], dx
mov byte [esp + 0x5e], dl
call esi
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x1444e]
push eax
mov word [esp + 0x14450], dx
call fcn.00453450
add esp, 0x24
push 0
lea ecx, [esp + 0x14430]
push ecx
push str.Option
lea edx, [esp + 0x11b98]
push edx
mov ecx, ebx
call fcn.004099f0
test al, al
je 0x43c52b
lea eax, [esp + 0x1442c]
push eax
call fcn.00453b7c
add esp, 4
test eax, eax
jne 0x43c526
lea ecx, [esp + 0x1442c]
push 0x4799a4
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
je 0x43c526
lea edx, [esp + 0x1442c]
push 0x4739b4
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43c52b
mov byte [esp + 0x46], 1
push 0
lea eax, [esp + 0x11d98]
push eax
push str.PortName
lea ecx, [esp + 0x11b98]
push ecx
mov ecx, ebx
call fcn.004099f0
push 0
lea edx, [esp + 0x11fa0]
push edx
push str.HostName
lea eax, [esp + 0x11b98]
push eax
mov ecx, ebx
call fcn.004099f0
push 0
lea ecx, [esp + 0x123b0]
push ecx
push str.PortNumber
lea edx, [esp + 0x11b98]
push edx
mov ecx, ebx
call fcn.004099f0
cmp word [esp + 0x123ac], 0
jne 0x43c5b7
xor eax, eax
jmp 0x43c5a0
movzx ecx, word [eax + str.60000]
mov word [esp + eax + 0x123ac], cx
add eax, 2
test cx, cx
jne 0x43c5a0
push 0
lea eax, [esp + 0x121a8]
push eax
push str.SharedPrinter
lea ecx, [esp + 0x11b98]
push ecx
mov ecx, ebx
call fcn.004099f0
push 0
lea edx, [esp + 0x14a48]
push edx
push str.DefaultPrinter
lea eax, [esp + 0x11b98]
push eax
mov ecx, ebx
call fcn.004099f0
push 0
lea ecx, [esp + 0x15268]
push ecx
push str.CandidateIP
lea edx, [esp + 0x11b98]
push edx
mov ecx, ebx
call fcn.004099f0
cmp word [esp + 0x11d94], 0
jne 0x43c655
lea eax, [esp + 0x121a4]
push eax
lea ecx, [esp + 0x123b0]
push ecx
lea edx, [esp + 0x11fa4]
push edx
lea eax, [esp + 0x11da0]
push str.SPS:_s:_s__s
push eax
call esi
add esp, 0x14
cmp word [esp + 0x11d94], 0
je 0x43cbfb
cmp word [esp + 0x11f9c], 0
je 0x43cbfb
cmp word [esp + 0x121a4], 0
je 0x43cbfb
xor ecx, ecx
push 0x3fe
push ecx
lea edx, [esp + 0x170c6]
push edx
mov word [esp + 0x170c8], cx
call fcn.00453450
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea eax, [esp + 0x170cc]
push str._sPorts
push eax
call esi
add esp, 0x18
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0x5c]
push edx
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [esp + 0x170d8]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x43c852
push 0x800
push eax
lea ecx, [esp + 0x1d82c]
push ecx
call fcn.00453450
push 0x1c2d0
call fcn.004534f0
add esp, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x41
test eax, eax
je 0x43c71e
mov ecx, eax
call fcn.00444be0
mov esi, eax
mov dword [esp + 0x4c], eax
jmp 0x43c724
xor esi, esi
mov dword [esp + 0x4c], esi
push 0x47b6cc
lea edx, [esp + 0x15268]
push edx
mov ecx, esi
mov dword [esp + 0x20078], 0xffffffff
call fcn.00444e30
mov ebx, eax
xor ebp, ebp
test ebx, ebx
jle 0x43c7e7
lea eax, [esi + 0x32c8]
jmp 0x43c760
mov edx, dword [esp + 0x4c]
xor ecx, ecx
cmp ebp, dword [edx + 0x1c2c8]
setge cl
dec ecx
and ecx, eax
mov esi, ecx
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x43c774
sub ecx, esi
lea edi, [esp + 0x1d824]
mov edx, ecx
add edi, 0xfffffffe
lea ecx, [ecx]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x43c790
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1d824]
add ecx, 0xfffffffe
mov dx, word [ecx + 2]
add ecx, 2
test dx, dx
jne 0x43c7b4
mov edx, dword [0x46db34]
mov dword [ecx], edx
mov dx, word [0x46db38]
inc ebp
add eax, 0x800
cmp ebp, ebx
mov word [ecx + 4], dx
jl 0x43c760
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x43c7fb
mov ecx, esi
call fcn.0043df40
push esi
call fcn.004534ca
add esp, 4
lea eax, [esp + 0x1d824]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43c805
sub eax, edx
mov edx, dword [esp + 0x58]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x1d828]
push ecx
push 7
push 0
push str.CandidateIP
push edx
call edi
mov eax, dword [esp + 0x58]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebp, dword [esp + 0x18]
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x11d94]
push ecx
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea edx, [esp + 0x170c4]
push str._sPorts_s
push edx
call esi
add esp, 0x10
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0x20006
push 0
push 0
push 0
lea edx, [esp + 0x170d8]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x43cab7
lea eax, [esp + 0x11f9c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43c8b0
sub eax, edx
mov edx, dword [esp + 0x58]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x11fa0]
push ecx
push 1
push 0
push str.HostName
push edx
call edi
lea eax, [esp + 0x123ac]
push eax
call fcn.00453b7c
mov edx, dword [esp + 0x5c]
add esp, 4
push 4
lea ecx, [esp + 0x100]
push ecx
push 4
push 0
push str.PortNumber
push edx
mov dword [esp + 0x114], eax
call edi
lea eax, [esp + 0x121a4]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x43c915
mov edx, dword [esp + 0x58]
sub eax, ecx
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x121a8]
push ecx
push 1
push 0
push str.SharedPrinter
push edx
call edi
push 0x800
lea eax, [esp + 0x1e640]
push 0
push eax
call fcn.00453450
push 0x1c2d0
call fcn.004534f0
add esp, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x42
test eax, eax
je 0x43c980
mov ecx, eax
call fcn.00444be0
mov dword [esp + 0x74], eax
jmp 0x43c988
mov dword [esp + 0x74], 0
mov esi, dword [esp + 0x74]
push 0x47b6cc
lea ecx, [esp + 0x14a48]
push ecx
mov ecx, esi
mov dword [esp + 0x20078], 0xffffffff
call fcn.00444e30
mov ebx, eax
xor ebp, ebp
test ebx, ebx
jle 0x43ca41
lea eax, [esi + 0x32c8]
lea ecx, [ecx]
mov edx, dword [esp + 0x74]
xor ecx, ecx
cmp ebp, dword [edx + 0x1c2c8]
setge cl
dec ecx
and ecx, eax
mov esi, ecx
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x43c9d4
sub ecx, esi
lea edi, [esp + 0x1e63c]
mov edx, ecx
add edi, 0xfffffffe
lea ecx, [ecx]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x43c9f0
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1e63c]
add ecx, 0xfffffffe
mov dx, word [ecx + 2]
add ecx, 2
test dx, dx
jne 0x43ca14
mov edx, dword [0x46db34]
mov dword [ecx], edx
mov dx, word [0x46db38]
inc ebp
add eax, 0x800
cmp ebp, ebx
mov word [ecx + 4], dx
jl 0x43c9c0
mov esi, dword [esp + 0x74]
test esi, esi
je 0x43ca55
mov ecx, esi
call fcn.0043df40
push esi
call fcn.004534ca
add esp, 4
lea eax, [esp + 0x1e63c]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43ca60
sub eax, edx
mov edx, dword [esp + 0x58]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x1e640]
push ecx
push 7
push 0
push str.DefaultPrinter
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [esp + 0x58]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ebp, dword [esp + 0x18]
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x58], 0
cmp byte [esp + 0x46], 0
je 0x43cbef
lea ecx, [esp + 0x11d94]
push ecx
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea edx, [esp + 0x170c4]
push str._sPorts_sOption
push edx
call esi
add esp, 0x10
lea eax, [esp + 0xd4]
push eax
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0x20006
push 0
push 0
push 0
lea edx, [esp + 0x170d8]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x43cbef
lea eax, [esp + 0x12bcc]
push eax
call fcn.00453b7c
lea ecx, [esp + 0x129c8]
push ecx
mov dword [esp + 0x100], eax
call fcn.00453b7c
lea edx, [esp + 0x125bc]
push edx
mov dword [esp + 0xf0], eax
call fcn.00453b7c
mov dword [esp + 0xfc], eax
lea eax, [esp + 0x133f8]
push eax
call fcn.00453b7c
mov edx, dword [esp + 0x68]
add esp, 0x10
push 4
lea ecx, [esp + 0xfc]
push ecx
push 4
push 0
push str.LoggingOption
push edx
mov dword [esp + 0x10c], eax
call edi
mov ecx, dword [esp + 0x58]
push 4
lea eax, [esp + 0xf4]
push eax
push 4
push 0
push 0x479aac
push ecx
call edi
mov eax, dword [esp + 0x58]
push 4
lea edx, [esp + 0xf8]
push edx
push 4
push 0
push str.RetryNumber
push eax
call edi
cmp word [esp + 0x129c4], 0
je 0x43cbdc
mov edx, dword [esp + 0x58]
push 4
lea ecx, [esp + 0xe8]
push ecx
push 4
push 0
push str.MonitorSequence
push edx
call edi
mov eax, dword [esp + 0x58]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x58], 0
inc dword [esp + 0x80]
jmp 0x43c430
mov ecx, ebx
call fcn.0040a950
push ebx
call fcn.004534ca
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call edi
mov esi, dword [esp + 0x84]
push str.spooler
push 0
mov ecx, esi
call fcn.0044f670
push 0x3e8
call edi
test esi, esi
je 0x43cc48
mov ecx, esi
call fcn.0044f880
push esi
call fcn.004534ca
add esp, 4
mov eax, str.ADDTGPORT_successful
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
mov dword [ebp + 0x47c], 0
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43cc70
mov esi, dword [esp + 0x68]
jmp 0x43ccbf
mov esi, dword [esp + 0x68]
mov dword [ebp + 0x480], 1
mov ecx, dword [esi + 0x24]
mov eax, str.ADDTGPORT_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], ecx
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43ccb0
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.COPYFILES
push edx
mov ebx, 1
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43cdf3
push 0x82c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x43
test eax, eax
je 0x43cd2e
lea ecx, [esp + 0x10144]
push ecx
lea edx, [esp + 0xf928]
push edx
push 0
mov ecx, eax
call fcn.004530e0
mov edi, eax
jmp 0x43cd30
xor edi, edi
push 0xe68
mov dword [esp + 0x20074], 0xffffffff
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x44
test eax, eax
je 0x43cd79
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edi
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43cd7b
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x43cddf
push 0
lea edx, [esp + 0xf450]
push edx
lea eax, [esp + 0x1116c]
push eax
mov ecx, esi
call fcn.0040e380
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x28], eax
mov eax, 0x46b804
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ecx
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43cdc0
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
test edi, edi
je 0x43cdf3
mov ecx, edi
call fcn.0043df40
push edi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.PREINSTINF
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43cf13
push 0x82c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x45
test eax, eax
je 0x43ce4d
lea ecx, [esp + 0x10144]
push ecx
lea edx, [esp + 0xf928]
push edx
push 0
mov ecx, eax
call fcn.004530e0
mov edi, eax
jmp 0x43ce4f
xor edi, edi
push 0xe68
mov dword [esp + 0x20074], 0xffffffff
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x46
test eax, eax
je 0x43ce98
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push edi
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43ce9a
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x43ceff
lea edx, [esp + 0xe40c]
push edx
mov ecx, esi
call fcn.0040e010
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x28], eax
mov eax, 0x46b804
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ecx
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43cee0
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
test edi, edi
je 0x43cf13
mov ecx, edi
call fcn.0043df40
push edi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.ADDLOCALPORT
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d000
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x47
test eax, eax
je 0x43cf6f
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push 0
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43cf71
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x43d000
lea edx, [esp + 0xfb2c]
push edx
lea eax, [esp + 0xe208]
push eax
mov ecx, esi
call fcn.0040f440
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
test eax, eax
je 0x43cfd1
mov eax, str.ADDLOCALPORT_successful
mov dword [ebp + 0x47c], 0
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43cfc0
jmp 0x43cff0
mov ecx, dword [esi + 0x24]
mov eax, str.ADDLOCALPORT_failed
mov dword [ebp + 0x47c], ecx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43cfe1
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.ADDKPORT
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d101
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x48
test eax, eax
je 0x43d05c
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push 0
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43d05e
xor esi, esi
or edi, 0xffffffff
mov dword [esp + 0x20070], edi
test esi, esi
je 0x43d104
lea edx, [esp + 0xfb2c]
push edx
lea eax, [esp + 0x10b50]
push eax
lea ecx, [esp + 0xe20c]
push ecx
mov ecx, esi
call fcn.0040f640
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], ebx
test eax, eax
je 0x43d0c5
mov eax, str.ADDKPORT_successful
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], 0
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43d0b4
jmp 0x43d0ef
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x47c], edx
mov eax, str.ADDKPORT_failed
lea edx, [ebp + 0x484]
sub edx, eax
jmp 0x43d0e0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43d0e0
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
jmp 0x43d104
or edi, 0xffffffff
lea eax, [esp + 0xee34]
push str.UPTDRV
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d1cf
push 0x478
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x49
test eax, eax
je 0x43d158
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405420
mov esi, eax
jmp 0x43d15a
xor esi, esi
mov dword [esp + 0x20070], edi
test esi, esi
je 0x43d1cf
push 0
lea eax, [esp + 0xe410]
push eax
lea ecx, [esp + 0x10d5c]
push ecx
lea edx, [esp + 0xe210]
push edx
mov ecx, esi
call fcn.004022c0
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x47c], eax
mov eax, 0x46b804
lea edx, [ebp + 0x484]
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43d1b0
mov ecx, esi
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
lea eax, [esp + 0xee34]
push str.GETFULLMODELNAME
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d2d9
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x4a
test eax, eax
je 0x43d22b
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x40]
push 0
lea edx, [esp + 0xe20c]
push edx
push ecx
mov ecx, eax
call fcn.004155a0
mov esi, eax
jmp 0x43d22d
xor esi, esi
mov dword [esp + 0x20070], edi
test esi, esi
je 0x43d2d9
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x15066]
push eax
mov word [esp + 0x15068], dx
call fcn.00453450
add esp, 0xc
lea ecx, [esp + 0x180ec]
push ecx
lea edx, [esp + 0x15060]
push edx
lea eax, [esp + 0x18504]
push eax
lea ecx, [esp + 0xfd40]
push ecx
lea edx, [esp + 0xe41c]
push edx
mov ecx, esi
call fcn.00413d10
mov dword [esp + 0x28], eax
mov dword [ebp + 0x480], eax
lea eax, [esp + 0x1505c]
lea edx, [ebp + 0x484]
mov ecx, eax
sub edx, ecx
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43d2a6
lea eax, [ebp + 0x484]
push eax
push str.GETFULLMODELNAME_m_wszResult___s__n
call fcn.004454c0
add esp, 8
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.ADDWIA
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d41f
cmp word [esp + 0xe40c], ax
je 0x43d41f
cmp word [esp + 0xe614], ax
je 0x43d41f
cmp word [esp + 0xec2c], ax
je 0x43d41f
push 0x478
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x4b
test eax, eax
je 0x43d357
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405420
mov edi, eax
jmp 0x43d359
xor edi, edi
mov dword [esp + 0x20070], 0xffffffff
test edi, edi
je 0x43d41f
xor eax, eax
mov edi, edi
movzx ecx, word [eax + str.ScannerAddress]
mov word [esp + eax + 0x804], cx
add eax, 2
test cx, cx
jne 0x43d370
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x10b4c]
mov word [esp + eax + 0xa0c], cx
add eax, 2
test cx, cx
jne 0x43d390
lea eax, [esp + 0x800]
push eax
lea ecx, [esp + 0xe618]
push ecx
lea edx, [esp + 0xe414]
push edx
push 0
mov ecx, edi
call fcn.004026e0
mov esi, eax
push esi
push str.ADDWIA_dwRet___d__n
call fcn.004454c0
xor eax, eax
add esp, 8
test esi, esi
setne al
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], eax
lea eax, [esp + 0xe614]
mov ecx, eax
mov dword [ebp + 0x47c], esi
sub edx, ecx
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x43d400
mov ecx, edi
call fcn.004054c0
push edi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.RMVWIA
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d525
cmp word [esp + 0xe614], ax
je 0x43d525
push 0x478
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x4c
test eax, eax
je 0x43d481
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405420
mov ebp, eax
jmp 0x43d483
xor ebp, ebp
mov dword [esp + 0x20070], 0xffffffff
test ebp, ebp
je 0x43d525
xor esi, esi
cmp byte [esp + 0x32], 0
je 0x43d4a4
mov esi, 2
push esi
push 0
push str.Image
mov ecx, ebp
call fcn.00406650
push esi
lea eax, [esp + 0x10d58]
push eax
lea ecx, [esp + 0xec34]
push ecx
lea edx, [esp + 0xe620]
push edx
mov ecx, ebp
call fcn.00405dc0
mov edi, eax
test edi, edi
je 0x43d4e1
push esi
mov ecx, ebp
call fcn.004055c0
mov edx, dword [esp + 0x18]
mov dword [edx + 0x480], edi
mov dword [edx + 0x47c], 0
lea eax, [esp + 0xec2c]
add edx, 0x484
mov ecx, eax
sub edx, ecx
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x43d506
mov ecx, ebp
call fcn.004054c0
push ebp
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.RMVUSB
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d5ff
cmp word [esp + 0xe614], ax
je 0x43d5ff
push 0x478
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x4d
test eax, eax
je 0x43d587
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405420
mov esi, eax
jmp 0x43d589
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x43d5ff
push 0
lea eax, [esp + 0x10d58]
push eax
push 0
lea ecx, [esp + 0xe620]
push ecx
mov ecx, esi
call fcn.00405dc0
mov edx, dword [esp + 0x18]
mov dword [edx + 0x480], eax
mov dword [edx + 0x47c], 0
lea eax, [esp + 0xe614]
add edx, 0x484
mov ecx, eax
sub edx, ecx
jmp 0x43d5e0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x43d5e0
mov ecx, esi
call fcn.004054c0
push esi
call fcn.004534ca
add esp, 4
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0xee34]
push str.FONTS
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d6fc
cmp word [esp + 0x1546c], ax
je 0x43d67e
cmp byte [esp + 0x53], al
je 0x43d6fc
push 0x10004
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x4e
test eax, eax
je 0x43d65d
mov ecx, eax
call fcn.0040b2c0
jmp 0x43d65f
xor eax, eax
lea ecx, [esp + 0x1546c]
push ecx
mov ecx, eax
mov dword [esp + 0x20074], 0xffffffff
call fcn.0040b370
jmp 0x43d6fc
cmp byte [esp + 0x53], 0
jne 0x43d6fc
push 0x82c
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x4f
test eax, eax
je 0x43d6c0
push str.SOFTWAREKyocera_Mita
push str.KcInst32FONTS
push 0
mov ecx, eax
call fcn.004530e0
mov esi, eax
jmp 0x43d6c2
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x43d6fc
push 1
mov ecx, esi
call fcn.00453190
push 6
mov ecx, esi
call fcn.00453190
push 3
mov ecx, esi
call fcn.00453190
mov ecx, esi
call fcn.0043df40
push esi
call fcn.004534ca
add esp, 4
lea edx, [esp + 0xee34]
push str.GETDEVICECLASS
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d87b
push 0x478
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x50
test eax, eax
je 0x43d74d
mov ecx, dword [esp + 0x24]
push ecx
push 0
push 0
mov ecx, eax
call fcn.00405420
mov esi, eax
jmp 0x43d74f
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x43d87b
cmp byte [esp + 0x24], 0
jne 0x43d87b
cmp byte [esp + 0x32], 0
mov ebp, 1
je 0x43d77e
mov ebp, 3
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x18916]
push eax
mov word [esp + 0x18918], dx
call fcn.00453450
xor edi, edi
add esp, 0xc
cmp word [esp + 0x10d54], di
je 0x43d7cd
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x10d54]
mov word [esp + eax + 0x1890c], cx
add eax, 2
test cx, cx
jne 0x43d7b0
mov edi, 1
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x135fe]
push edx
mov word [esp + 0x13600], cx
call fcn.00453450
add esp, 0xc
push ebp
push 0x104
lea eax, [esp + 0x135fc]
push eax
push 7
lea ecx, [esp + 0x1891c]
push ecx
push edi
push 0
mov ecx, esi
call fcn.00403060
mov ecx, esi
mov edi, eax
call fcn.004054c0
push esi
call fcn.004534ca
mov edx, 1
sub edx, edi
mov dword [ebx + 0x480], 1
lea eax, [esp + 0x135f8]
mov dword [ebx + 0x47c], edx
lea ecx, [ebx + 0x484]
mov edx, eax
add esp, 4
sub ecx, edx
lea esp, [esp]
movzx edx, word [eax]
mov word [eax + ecx], dx
add eax, 2
test dx, dx
jne 0x43d850
mov eax, dword [ebx + 0x47c]
push eax
lea ecx, [esp + 0x135f8]
push ecx
push str.wszClass___s__m_nInstallResult__d__n
call fcn.004454c0
add esp, 0xc
lea edx, [esp + 0xee34]
push str.SETUPDIREMOVEDEVICE
push edx
call fcn.00453ad3
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x44]
add esp, 8
test eax, eax
jne 0x43d8ae
push eax
lea eax, [esp + 0x131e8]
push eax
push esi
push edi
mov ecx, ebx
call fcn.004323a0
lea ecx, [esp + 0xee34]
push str.GETWSDPORT
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d8d8
lea edx, [esp + 0x131e4]
push edx
push esi
push edi
mov ecx, ebx
call fcn.00432480
lea eax, [esp + 0xee34]
push str.GETPARENTDEVICEINSTID
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d902
lea ecx, [esp + 0x131e4]
push ecx
push esi
push edi
mov ecx, ebx
call fcn.00432680
lea edx, [esp + 0xee34]
push str.GETDEVICECHILDREN
push edx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43d92c
lea eax, [esp + 0x131e4]
push eax
push esi
push edi
mov ecx, ebx
call fcn.00432b80
lea ecx, [esp + 0xee34]
push str.GETCONFIGFLAG
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43da3f
push 0x478
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x51
test eax, eax
je 0x43d97d
mov edx, dword [esp + 0x24]
push edx
push 0
push 0
mov ecx, eax
call fcn.00405420
mov esi, eax
jmp 0x43d97f
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
test esi, esi
je 0x43da3f
cmp byte [esp + 0x24], 0
jne 0x43da3f
cmp byte [esp + 0x32], 0
mov eax, 1
je 0x43d9ae
mov eax, 3
push eax
lea eax, [esp + 0x10d58]
push eax
push 0
mov ecx, esi
call fcn.004024d0
mov ecx, esi
mov edi, eax
call fcn.004054c0
push esi
call fcn.004534ca
xor ecx, ecx
push 0x206
mov dword [ebx + 0x480], 1
push ecx
lea edx, [esp + 0x1588a]
mov dword [ebx + 0x47c], 0
push edx
mov word [esp + 0x1588c], cx
call fcn.00453450
push edi
lea eax, [esp + 0x15890]
push 0x479558
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x15898]
lea ecx, [ebx + 0x484]
mov edx, eax
add esp, 0x1c
sub ecx, edx
jmp 0x43da30
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x43da30
lea eax, [esp + 0xee34]
push str.SETCONFIGFLAG
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43db03
push 0x478
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
xor edi, edi
mov dword [esp + 0x20070], 0x52
cmp eax, edi
je 0x43da90
mov ecx, dword [esp + 0x24]
push ecx
push edi
push edi
mov ecx, eax
call fcn.00405420
mov esi, eax
jmp 0x43da92
xor esi, esi
mov dword [esp + 0x20070], 0xffffffff
cmp esi, edi
je 0x43db03
cmp byte [esp + 0x24], 0
jne 0x43db03
lea edx, [esp + 0x17ad4]
push edx
call fcn.00453b7c
add esp, 4
push 1
push eax
lea eax, [esp + 0x10d5c]
push eax
push edi
mov ecx, esi
call fcn.00402600
mov ecx, esi
call fcn.004054c0
push esi
call fcn.004534ca
mov eax, 0x46b804
lea edx, [ebx + 0x484]
add esp, 4
mov dword [ebx + 0x480], edi
mov dword [ebx + 0x47c], edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x43daf4
lea ecx, [esp + 0xee34]
push 0x479524
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43dd2d
push 0xe68
call fcn.004534f0
add esp, 4
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0x53
test eax, eax
je 0x43db5d
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x40]
push 0
lea ecx, [esp + 0xe20c]
push ecx
push edx
mov ecx, eax
call fcn.004155a0
jmp 0x43db5f
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x20070], 0xffffffff
test eax, eax
je 0x43dd2d
lea ecx, [esp + 0x274]
call fcn.00407e20
push 0x1c2d0
mov dword [esp + 0x20074], 0x54
call fcn.004534f0
add esp, 4
mov dword [esp + 0x70], eax
mov byte [esp + 0x20070], 0x55
test eax, eax
je 0x43dbb5
mov ecx, eax
call fcn.00444be0
mov ebx, eax
jmp 0x43dbb7
xor ebx, ebx
push 0x1c2d0
mov byte [esp + 0x20074], 0x54
call fcn.004534f0
add esp, 4
mov dword [esp + 0x70], eax
mov byte [esp + 0x20070], 0x56
test eax, eax
je 0x43dbe7
mov ecx, eax
call fcn.00444be0
mov ebp, eax
jmp 0x43dbe9
xor ebp, ebp
push 0x479520
lea eax, [esp + 0x16cb0]
push eax
mov ecx, ebx
mov byte [esp + 0x20078], 0x54
call fcn.00444e30
xor edi, edi
mov dword [esp + 0x70], eax
test eax, eax
jle 0x43dccd
lea ecx, [ebx + 0x32c8]
mov dword [esp + 0x60], ebx
mov dword [esp + 0x4c], ecx
push 0x410
call fcn.004534f0
mov esi, eax
xor eax, eax
add esp, 4
cmp byte [ebx + 0x1c2cc], al
je 0x43dc4a
cmp edi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, dword [esp + 0x4c]
jmp 0x43dc58
cmp edi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, dword [esp + 0x60]
push 0x47951c
push eax
mov ecx, ebp
call fcn.00444e30
push 0
mov ecx, ebp
call fcn.00401b00
mov edx, esi
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
test cx, cx
jne 0x43dc70
push 1
mov ecx, ebp
call fcn.00401b00
lea edx, [esi + 0x208]
movzx ecx, word [eax]
mov word [edx], cx
add eax, 2
add edx, 2
test cx, cx
jne 0x43dc90
push 0xffffffffffffffff
push 1
push esi
lea ecx, [esp + 0x280]
call fcn.00403750
add dword [esp + 0x4c], 0x800
add dword [esp + 0x60], 0x104
inc edi
cmp edi, dword [esp + 0x70]
jl 0x43dc21
push str.____SetDevModeData_n
call fcn.004454c0
mov esi, dword [esp + 0x38]
add esp, 4
lea edx, [esp + 0x274]
push edx
lea eax, [esp + 0xec30]
push eax
mov ecx, esi
call fcn.00417410
push 0x4794cc
call fcn.004454c0
add esp, 4
mov ecx, esi
call fcn.00413730
push esi
call fcn.004534ca
add esp, 4
lea ecx, [esp + 0x274]
mov dword [esp + 0x20070], 0xffffffff
call fcn.00405350
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0xee34]
push str.QUIT
push ecx
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43dd5d
mov ecx, ebx
call fcn.00431b30
mov edx, dword [ebx + 8]
push 0
push 0
push 0x10
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [esp + 0xee34]
push 0x4794b8
push eax
call fcn.00453ad3
mov ebx, dword [esp + 0xa4]
add esp, 8
test eax, eax
jne 0x43de82
cmp byte [ebx + 0x1c2cc], al
je 0x43dd9a
cmp dword [ebx + 0x1c2c8], 1
jle 0x43ddad
lea eax, [ebx + 0x3ac8]
jmp 0x43ddad
cmp dword [ebx + 0x1c2c8], 1
jg 0x43dda7
xor eax, eax
jmp 0x43ddad
lea eax, [ebx + 0x104]
push eax
call fcn.00453b7c
add esp, 4
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
mov edi, dword [esp + 0x18]
test eax, eax
je 0x43ddcd
mov dword [edi + 0x26c], esi
cmp dword [ebx + 0x1c2c8], 3
jne 0x43de02
cmp byte [ebx + 0x1c2cc], 0
lea ecx, [ebx + 0x42c8]
jne 0x43ddeb
lea ecx, [ebx + 0x208]
lea edx, [edi + 0x270]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x43ddf1
push 0
push 0
push 0
push 0xcf0000
push str.KmPkgInst
mov ecx, edi
call fcn.00432980
mov ecx, edi
call fcn.00432b40
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
push 0
lea ecx, [esp + 0x264]
push ecx
call esi
test eax, eax
je 0x43de6e
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageW]
lea edx, [esp + 0x258]
push edx
call edi
lea eax, [esp + 0x258]
push eax
call ebp
push 0
push 0
push 0
lea ecx, [esp + 0x264]
push ecx
call esi
test eax, eax
jne 0x43de46
mov edx, dword [esp + 0x260]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], edx
call fcn.00431b30
lea eax, [esp + 0xee34]
push str.SETHWND
push eax
call fcn.00453ad3
add esp, 8
test eax, eax
jne 0x43dee9
cmp byte [ebx + 0x1c2cc], al
je 0x43deb4
cmp dword [ebx + 0x1c2c8], 1
jle 0x43dec7
lea eax, [ebx + 0x3ac8]
jmp 0x43dec7
cmp dword [ebx + 0x1c2c8], 1
jg 0x43dec1
xor eax, eax
jmp 0x43dec7
lea eax, [ebx + 0x104]
push eax
call fcn.00453b7c
add esp, 4
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
mov ecx, dword [esp + 0x18]
neg eax
sbb eax, eax
and eax, esi
mov dword [ecx + 0x26c], eax
mov esi, dword [esp + 0x9c]
test esi, esi
je 0x43df04
mov ecx, esi
call fcn.0043df40
push esi
call fcn.004534ca
add esp, 4
push str.PKGMAIN::HandleRequest_end._n
call fcn.004454c0
mov eax, dword [esp + 0x2c]
add esp, 4
mov ecx, dword [esp + 0x20068]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x20050]
xor ecx, esp
call fcn.00453432
add esp, 0x20060
ret 8