Function at 0x42e590
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 0x4601a6
mov eax, dword fs:[0]
push eax
mov eax, 0x1f314
call fcn.0044bf30
mov eax, dword [0x47b038]
xor eax, esp
mov dword [esp + 0x1f310], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x47b038]
xor eax, esp
push eax
lea eax, [esp + 0x1f328]
mov dword fs:[0], eax
mov esi, dword [esp + 0x1f338]
mov edi, ecx
push esi
xor ebp, ebp
push str.PKGMAIN_HandleRequest_____s__n
mov dword [esp + 0x20], edi
mov dword [esp + 0x34], ebp
call fcn.0043e2c0
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.0044ad7f
add esp, 0xc
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], ebp
cmp eax, ebp
je 0x42e638
mov ecx, eax
call fcn.0043d9e0
mov ebx, eax
mov dword [esp + 0x8c], eax
jmp 0x42e641
xor ebx, ebx
mov dword [esp + 0x8c], ebx
push 0x470410
push esi
mov ecx, ebx
mov dword [esp + 0x1f338], 0xffffffff
call fcn.0043dc30
mov edi, eax
push edi
push str.Arguments____d_n
mov dword [esp + 0x5c], edi
call fcn.0043e2c0
add esp, 8
xor esi, esi
cmp edi, ebp
jle 0x42e708
mov ebp, ebx
lea edi, [ebx + 0x32c8]
nop
xor eax, eax
cmp byte [ebx + 0x1c2cc], al
je 0x42e698
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, edi
jmp 0x42e6a4
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, ebp
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x21c]
push 0x464b78
push str.034_
push eax
call fcn.004426f0
xor eax, eax
cmp byte [ebx + 0x1c2cc], al
je 0x42e6d6
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, edi
jmp 0x42e6e2
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, ebp
push eax
push esi
push str.___d____s__n
call fcn.0043e2c0
inc esi
add esp, 0xc
add edi, 0x800
add ebp, 0x104
cmp esi, dword [esp + 0x54]
jl 0x42e680
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
mov ecx, dword [eax + 0x26c]
mov dword [esp + 0x34], ecx
test esi, esi
jle 0x4381c4
push 0x206
xor ebp, ebp
lea eax, [esp + 0x19022]
xor edx, edx
push ebp
push eax
mov word [esp + 0x19028], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0xe5de]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xe5e4], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0xf62a]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xf630], ax
call fcn.0044ac90
push 0x206
lea eax, [esp + 0x10266]
xor edx, edx
push ebp
push eax
mov word [esp + 0x1026c], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0xf43a]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xf440], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0x10896]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x1089c], ax
call fcn.0044ac90
add esp, 0x48
push 0x206
lea eax, [esp + 0x1107a]
xor edx, edx
push ebp
push eax
mov word [esp + 0x11080], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0xfa2e]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xfa34], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0x19242]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x19248], ax
call fcn.0044ac90
push 0x206
lea eax, [esp + 0x10e96]
xor edx, edx
push ebp
push eax
mov word [esp + 0x10e9c], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x165ca]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x165d0], cx
call fcn.0044ac90
xor eax, eax
mov word [esp + 0x17200], ax
push 0x206
lea ecx, [esp + 0x17206]
push ebp
push ecx
call fcn.0044ac90
add esp, 0x48
push 0x206
lea eax, [esp + 0xebea]
xor edx, edx
push ebp
push eax
mov word [esp + 0xebf0], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x1536e]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x15374], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0xe3e2]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xe3e8], ax
call fcn.0044ac90
push 0x206
lea eax, [esp + 0x18e3e]
xor edx, edx
push ebp
push eax
mov word [esp + 0x18e44], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x1006a]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x10070], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0x15bbe]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x15bc4], ax
call fcn.0044ac90
add esp, 0x48
push 0x206
lea eax, [esp + 0x12ac2]
xor edx, edx
push ebp
push eax
mov word [esp + 0x12ac8], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x15986]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x1598c], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0xe1da]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xe1e0], ax
call fcn.0044ac90
push 0x206
lea eax, [esp + 0x10a86]
xor edx, edx
push ebp
push eax
mov word [esp + 0x10a8c], dx
call fcn.0044ac90
xor ecx, ecx
push 0x206
mov word [esp + 0x10478], cx
push ebp
lea edx, [esp + 0x1047e]
push edx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0x16bee]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x16bf4], ax
call fcn.0044ac90
add esp, 0x48
push 0x206
lea eax, [esp + 0x10c6a]
xor edx, edx
push ebp
push eax
mov word [esp + 0x10c70], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x1432e]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x14334], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0x14b5a]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x14b60], ax
call fcn.0044ac90
push 0x206
lea eax, [esp + 0xf226]
xor edx, edx
push ebp
push eax
mov word [esp + 0xf22c], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x169da]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x169e0], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0xfe6e]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xfe74], ax
call fcn.0044ac90
add esp, 0x48
push 0x206
lea eax, [esp + 0xf81a]
xor edx, edx
push ebp
push eax
mov word [esp + 0xf820], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x132ee]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x132f4], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0x15582]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x15588], ax
call fcn.0044ac90
push 0x206
xor edx, edx
push ebp
lea eax, [esp + 0x1067a]
mov word [esp + 0x10678], dx
push eax
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x13d3a]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x13d40], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0x13f4e]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x13f54], ax
call fcn.0044ac90
add esp, 0x48
push 0x206
lea eax, [esp + 0x15772]
xor edx, edx
push ebp
push eax
mov word [esp + 0x15778], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x173de]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x173e4], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0x161a2]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x161a8], ax
call fcn.0044ac90
push 0x206
lea eax, [esp + 0x1861e]
xor edx, edx
push ebp
push eax
mov word [esp + 0x18624], dx
call fcn.0044ac90
push 0x206
lea edx, [esp + 0x17e0a]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x17e10], cx
call fcn.0044ac90
push 0x206
lea ecx, [esp + 0x1946e]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x19474], ax
call fcn.0044ac90
mov edi, dword [esp + 0xd4]
add esp, 0x48
cmp byte [edi + 0x1c2cc], 0
mov ebx, 1
mov byte [esp + 0x4b], 0
mov byte [esp + 0x60], 0
mov dword [esp + 0x68], 3
mov dword [esp + 0x4c], ebp
mov byte [esp + 0x6c], 0
mov byte [esp + 0x84], 0
mov byte [esp + 0x5f], 0
mov byte [esp + 0x43], 0
mov byte [esp + 0x53], 0
mov byte [esp + 0x33], 0
mov byte [esp + 0x20], 0
mov byte [esp + 0x64], 0
mov byte [esp + 0x73], 0
mov byte [esp + 0x17], 0
mov dword [esp + 0x74], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x24], ebp
je 0x42ec7b
cmp dword [edi + 0x1c2c8], ebp
jg 0x42ec73
xor ecx, ecx
jmp 0x42ec89
lea ecx, [edi + 0x32c8]
jmp 0x42ec89
xor ecx, ecx
cmp dword [edi + 0x1c2c8], ebp
setle cl
dec ecx
and ecx, edi
lea edx, [esp + 0xedec]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42ec90
cmp esi, ebx
jle 0x4304ea
lea esp, [esp]
cmp byte [edi + 0x1c2cc], 0
je 0x42ecd3
cmp ebx, dword [edi + 0x1c2c8]
jl 0x42ecc5
xor ecx, ecx
jmp 0x42ece9
mov edx, ebx
shl edx, 0xb
lea ecx, [edx + edi + 0x32c8]
jmp 0x42ece9
cmp ebx, dword [edi + 0x1c2c8]
jl 0x42ecdf
xor ecx, ecx
jmp 0x42ece9
mov ecx, ebx
imul ecx, ecx, 0x104
add ecx, edi
lea edx, [esp + 0xe7d4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42ecf0
cmp word [esp + 0xe7d4], 0x2f
jne 0x42ed19
mov eax, 0x2d
mov word [esp + 0xe7d4], ax
lea ecx, [esp + 0xe7d4]
push 0x470408
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42ed91
mov edx, dword [esp + 0x54]
dec edx
cmp ebx, edx
jge 0x42ed91
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42ed5f
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ed53
xor ecx, ecx
jmp 0x42ed75
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42ed75
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ed6b
xor eax, eax
jmp 0x42ed73
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1901c]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42ed80
lea eax, [esp + 0xe7d4]
push 0x470400
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42ee61
mov ecx, dword [esp + 0x54]
dec ecx
cmp ebx, ecx
jge 0x42ee61
lea ecx, [ebx + 1]
cmp byte [edi + 0x1c2cc], al
je 0x42ede0
cmp ecx, dword [edi + 0x1c2c8]
jl 0x42edd2
xor edx, edx
jmp 0x42edf6
mov edx, ecx
shl edx, 0xb
lea edx, [edx + edi + 0x32c8]
jmp 0x42edf6
cmp ecx, dword [edi + 0x1c2c8]
jl 0x42edec
xor edx, edx
jmp 0x42edf6
mov edx, ecx
imul edx, edx, 0x104
add edx, edi
lea esi, [esp + 0xe5cc]
lea ecx, [ecx]
movzx eax, word [edx]
mov word [esi], ax
add edx, 2
add esi, 2
cmp ax, bp
jne 0x42ee00
cmp byte [edi + 0x1c2cc], 0
je 0x42ee32
cmp ecx, dword [edi + 0x1c2c8]
jl 0x42ee26
xor ecx, ecx
jmp 0x42ee46
shl ecx, 0xb
lea ecx, [ecx + edi + 0x32c8]
jmp 0x42ee46
cmp ecx, dword [edi + 0x1c2c8]
jl 0x42ee3e
xor ecx, ecx
jmp 0x42ee46
imul ecx, ecx, 0x104
add ecx, edi
lea edx, [esp + 0xf60c]
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42ee50
lea eax, [esp + 0xe7d4]
push 0x4703f8
push eax
call fcn.0044b362
mov esi, dword [esp + 0x5c]
add esp, 8
test eax, eax
jne 0x42eed7
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42eed7
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42eea9
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ee9d
xor ecx, ecx
jmp 0x42eebf
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42eebf
cmp eax, dword [edi + 0x1c2c8]
jl 0x42eeb5
xor eax, eax
jmp 0x42eebd
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1023c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42eec6
lea edx, [esp + 0xe7d4]
push 0x4703f0
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42ef51
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42ef51
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42ef1b
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ef0f
xor ecx, ecx
jmp 0x42ef31
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42ef31
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ef27
xor eax, eax
jmp 0x42ef2f
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf404]
jmp 0x42ef40
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42ef40
lea ecx, [esp + 0xe7d4]
push 0x4703e8
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42efc3
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42efc3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42ef95
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ef89
xor ecx, ecx
jmp 0x42efab
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42efab
cmp eax, dword [edi + 0x1c2c8]
jl 0x42efa1
xor eax, eax
jmp 0x42efa9
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10854]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42efb2
lea eax, [esp + 0xe7d4]
push 0x4703e0
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f035
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42f035
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f007
cmp eax, dword [edi + 0x1c2c8]
jl 0x42effb
xor ecx, ecx
jmp 0x42f01d
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f01d
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f013
xor eax, eax
jmp 0x42f01b
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x11074]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f024
lea edx, [esp + 0xe7d4]
push 0x4703d8
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f0a7
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42f0a7
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f079
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f06d
xor ecx, ecx
jmp 0x42f08f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f08f
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f085
xor eax, eax
jmp 0x42f08d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xfa1c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f096
lea ecx, [esp + 0xe7d4]
push str._reg
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f121
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42f121
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f0eb
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f0df
xor ecx, ecx
jmp 0x42f101
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f101
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f0f7
xor eax, eax
jmp 0x42f0ff
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x19224]
jmp 0x42f110
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f110
lea eax, [esp + 0xe7d4]
push 0x4703c4
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f186
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42f186
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f165
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f159
xor eax, eax
jmp 0x42f179
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x42f179
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f171
xor eax, eax
jmp 0x42f179
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.0044b40b
add esp, 4
mov dword [esp + 0x3c], eax
lea edx, [esp + 0xe7d4]
push 0x4703bc
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f1eb
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42f1eb
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f1ca
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f1be
xor eax, eax
jmp 0x42f1de
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x42f1de
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f1d6
xor eax, eax
jmp 0x42f1de
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.0044b40b
add esp, 4
mov dword [esp + 0x24], eax
lea ecx, [esp + 0xe7d4]
push str._snmp
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f252
dec esi
cmp ebx, esi
jge 0x42f252
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f22d
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f221
xor eax, eax
jmp 0x42f241
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x42f241
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f239
xor eax, eax
jmp 0x42f241
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.0044b40b
add esp, 4
cmp eax, ebp
jne 0x42f252
mov dword [esp + 0x74], ebp
lea edx, [esp + 0xe7d4]
push str._sim
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f270
mov byte [esp + 0x20], 1
lea eax, [esp + 0xe7d4]
push 0x47039c
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f341
mov ecx, dword [esp + 0x54]
dec ecx
cmp ebx, ecx
jge 0x42f341
lea ecx, [ebx + 1]
cmp byte [edi + 0x1c2cc], al
je 0x42f2bf
cmp ecx, dword [edi + 0x1c2c8]
jl 0x42f2b1
xor edx, edx
jmp 0x42f2d5
mov edx, ecx
shl edx, 0xb
lea edx, [edx + edi + 0x32c8]
jmp 0x42f2d5
cmp ecx, dword [edi + 0x1c2c8]
jl 0x42f2cb
xor edx, edx
jmp 0x42f2d5
mov edx, ecx
imul edx, edx, 0x104
add edx, edi
lea esi, [esp + 0x10e6c]
lea esp, [esp]
movzx eax, word [edx]
mov word [esi], ax
add edx, 2
add esi, 2
cmp ax, bp
jne 0x42f2e0
cmp byte [edi + 0x1c2cc], 0
je 0x42f312
cmp ecx, dword [edi + 0x1c2c8]
jl 0x42f306
xor ecx, ecx
jmp 0x42f326
shl ecx, 0xb
lea ecx, [ecx + edi + 0x32c8]
jmp 0x42f326
cmp ecx, dword [edi + 0x1c2c8]
jl 0x42f31e
xor ecx, ecx
jmp 0x42f326
imul ecx, ecx, 0x104
add ecx, edi
lea edx, [esp + 0x16594]
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f330
lea eax, [esp + 0xe7d4]
push str._dbv
push eax
call fcn.0044b362
mov esi, dword [esp + 0x5c]
add esp, 8
test eax, eax
jne 0x42f3b7
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42f3b7
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f389
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f37d
xor ecx, ecx
jmp 0x42f39f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f39f
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f395
xor eax, eax
jmp 0x42f39d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x171c4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f3a6
lea edx, [esp + 0xe7d4]
push str._nomk
push edx
call fcn.0044b362
lea eax, [esp + 0xe7dc]
push 0x47037c
push eax
call fcn.0044b362
add esp, 0x10
test eax, eax
jne 0x42f462
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42f462
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f411
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f405
xor ecx, ecx
jmp 0x42f427
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f427
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f41d
xor eax, eax
jmp 0x42f425
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xebe4]
mov edi, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f430
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x21c]
push 0x4618d0
push 0x470374
lea edx, [esp + 0xebec]
push edx
call fcn.004426f0
lea ecx, [esp + 0xe7d4]
push str._oldp
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f4d4
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42f4d4
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f4a6
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f49a
xor ecx, ecx
jmp 0x42f4bc
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f4bc
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f4b2
xor eax, eax
jmp 0x42f4ba
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1535c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f4c3
lea eax, [esp + 0xe7d4]
push 0x470360
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f546
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42f546
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f518
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f50c
xor ecx, ecx
jmp 0x42f52e
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f52e
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f524
xor eax, eax
jmp 0x42f52c
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xe3c4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f535
lea edx, [esp + 0xe7d4]
push 0x470358
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f5b8
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42f5b8
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f58a
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f57e
xor ecx, ecx
jmp 0x42f5a0
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f5a0
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f596
xor eax, eax
jmp 0x42f59e
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x18e14]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f5a7
lea ecx, [esp + 0xe7d4]
push str._hid
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f631
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42f631
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f5fc
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f5f0
xor ecx, ecx
jmp 0x42f612
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f612
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f608
xor eax, eax
jmp 0x42f610
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10034]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f620
lea eax, [esp + 0xe7d4]
push str._cid
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f6a3
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42f6a3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f675
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f669
xor ecx, ecx
jmp 0x42f68b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f68b
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f681
xor eax, eax
jmp 0x42f689
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x15b7c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f692
lea edx, [esp + 0xe7d4]
push str._diid
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f715
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42f715
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f6e7
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f6db
xor ecx, ecx
jmp 0x42f6fd
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f6fd
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f6f3
xor eax, eax
jmp 0x42f6fb
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x12abc]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f704
lea ecx, [esp + 0xe7d4]
push 0x47032c
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f787
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42f787
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f759
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f74d
xor ecx, ecx
jmp 0x42f76f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f76f
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f765
xor eax, eax
jmp 0x42f76d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x15974]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f776
lea eax, [esp + 0xe7d4]
push 0x470324
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f858
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42f858
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f7d3
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f7c7
xor ecx, ecx
jmp 0x42f7e9
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f7e9
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f7df
xor eax, eax
jmp 0x42f7e7
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x14524]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f7f0
mov eax, 0x5c
cmp word [esp + 0x14524], ax
je 0x42f83a
cmp word [esp + 0x14526], ax
je 0x42f83a
lea edx, [esp + 0x14524]
push edx
lea eax, [esp + 0xe1c0]
push str._s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x42f858
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x14524]
mov word [esp + eax + 0xe1bc], cx
add eax, 2
cmp cx, bp
jne 0x42f840
lea ecx, [esp + 0xe7d4]
push 0x47031c
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f8d1
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42f8d1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f89c
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f890
xor ecx, ecx
jmp 0x42f8b2
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f8b2
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f8a8
xor eax, eax
jmp 0x42f8b0
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10a5c]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f8c0
lea eax, [esp + 0xe7d4]
push 0x470314
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f943
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42f943
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f915
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f909
xor ecx, ecx
jmp 0x42f92b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f92b
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f921
xor eax, eax
jmp 0x42f929
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10444]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f932
lea edx, [esp + 0xe7d4]
push 0x47030c
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f9b5
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42f9b5
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42f987
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f97b
xor ecx, ecx
jmp 0x42f99d
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42f99d
cmp eax, dword [edi + 0x1c2c8]
jl 0x42f993
xor eax, eax
jmp 0x42f99b
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x16bac]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42f9a4
lea ecx, [esp + 0xe7d4]
push 0x470304
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42f9d6
mov dword [esp + 0x4c], 1
lea edx, [esp + 0xe7d4]
push 0x4702fc
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fa48
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42fa48
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42fa1a
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fa0e
xor ecx, ecx
jmp 0x42fa30
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42fa30
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fa26
xor eax, eax
jmp 0x42fa2e
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10c64]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42fa37
lea ecx, [esp + 0xe7d4]
push 0x4702f4
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fac1
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42fac1
cmp byte [edi + 0x1c2cc], 0
mov byte [esp + 0x60], 1
lea eax, [ebx + 1]
je 0x42fa91
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fa85
xor ecx, ecx
jmp 0x42faa7
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42faa7
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fa9d
xor eax, eax
jmp 0x42faa5
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1431c]
mov edi, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42fab0
lea eax, [esp + 0xe7d4]
push str._cmt
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fb33
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42fb33
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42fb05
cmp eax, dword [edi + 0x1c2c8]
jl 0x42faf9
xor ecx, ecx
jmp 0x42fb1b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42fb1b
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fb11
xor eax, eax
jmp 0x42fb19
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x14b3c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42fb22
lea edx, [esp + 0xe7d4]
push str._env
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fba5
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42fba5
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42fb77
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fb6b
xor ecx, ecx
jmp 0x42fb8d
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42fb8d
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fb83
xor eax, eax
jmp 0x42fb8b
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf1fc]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42fb94
lea ecx, [esp + 0xe7d4]
push 0x4702d4
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fbc2
mov dword [esp + 0x68], ebp
lea edx, [esp + 0xe7d4]
push 0x4702cc
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fbe3
mov dword [esp + 0x68], 2
lea eax, [esp + 0xe7d4]
push 0x4702c4
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fc04
mov dword [esp + 0x68], 3
lea ecx, [esp + 0xe7d4]
push 0x4702bc
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fc22
mov byte [esp + 0x6c], 1
lea edx, [esp + 0xe7d4]
push str._cpy
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fc40
mov byte [esp + 0x5f], 1
lea eax, [esp + 0xe7d4]
push str._verchk
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fc5e
mov byte [esp + 0x43], 1
lea ecx, [esp + 0xe7d4]
push str._rmdp
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fc7c
mov byte [esp + 0x64], 1
lea edx, [esp + 0xe7d4]
push 0x47028c
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fc9d
mov byte [esp + 0x84], 1
lea eax, [esp + 0xe7d4]
push str._sim
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fcbb
mov byte [esp + 0x20], 1
lea ecx, [esp + 0xe7d4]
push 0x470284
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fd31
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42fd31
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42fcff
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fcf3
xor ecx, ecx
jmp 0x42fd15
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42fd15
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fd0b
xor eax, eax
jmp 0x42fd13
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xfa1c]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42fd20
lea eax, [esp + 0xe7d4]
push 0x47027c
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fda3
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42fda3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42fd75
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fd69
xor ecx, ecx
jmp 0x42fd8b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42fd8b
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fd81
xor eax, eax
jmp 0x42fd89
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x16184]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42fd92
lea edx, [esp + 0xe7d4]
push 0x470274
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fe15
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42fe15
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42fde7
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fddb
xor ecx, ecx
jmp 0x42fdfd
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42fdfd
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fdf3
xor eax, eax
jmp 0x42fdfb
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x169a4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42fe04
lea ecx, [esp + 0xe7d4]
push 0x47026c
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42fe87
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42fe87
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42fe59
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fe4d
xor ecx, ecx
jmp 0x42fe6f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42fe6f
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fe65
xor eax, eax
jmp 0x42fe6d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x173cc]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42fe76
lea eax, [esp + 0xe7d4]
push 0x470264
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42ff01
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x42ff01
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42fecb
cmp eax, dword [edi + 0x1c2c8]
jl 0x42febf
xor ecx, ecx
jmp 0x42fee1
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42fee1
cmp eax, dword [edi + 0x1c2c8]
jl 0x42fed7
xor eax, eax
jmp 0x42fedf
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xfe2c]
jmp 0x42fef0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42fef0
lea edx, [esp + 0xe7d4]
push 0x47025c
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42ff73
lea eax, [esi - 1]
cmp ebx, eax
jge 0x42ff73
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42ff45
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ff39
xor ecx, ecx
jmp 0x42ff5b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42ff5b
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ff51
xor eax, eax
jmp 0x42ff59
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf814]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42ff62
lea ecx, [esp + 0xe7d4]
push str._kxpfile
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x42ffe5
lea edx, [esi - 1]
cmp ebx, edx
jge 0x42ffe5
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x42ffb7
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ffab
xor ecx, ecx
jmp 0x42ffcd
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x42ffcd
cmp eax, dword [edi + 0x1c2c8]
jl 0x42ffc3
xor eax, eax
jmp 0x42ffcb
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x132dc]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x42ffd4
lea eax, [esp + 0xe7d4]
push str._plugdll
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430057
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x430057
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x430029
cmp eax, dword [edi + 0x1c2c8]
jl 0x43001d
xor ecx, ecx
jmp 0x43003f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43003f
cmp eax, dword [edi + 0x1c2c8]
jl 0x430035
xor eax, eax
jmp 0x43003d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1576c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x430046
lea edx, [esp + 0xe7d4]
push 0x47022c
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4300d1
lea eax, [esi - 1]
cmp ebx, eax
jge 0x4300d1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43009b
cmp eax, dword [edi + 0x1c2c8]
jl 0x43008f
xor ecx, ecx
jmp 0x4300b1
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4300b1
cmp eax, dword [edi + 0x1c2c8]
jl 0x4300a7
xor eax, eax
jmp 0x4300af
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x15564]
jmp 0x4300c0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4300c0
lea ecx, [esp + 0xe7d4]
push 0x470224
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430143
lea edx, [esi - 1]
cmp ebx, edx
jge 0x430143
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x430115
cmp eax, dword [edi + 0x1c2c8]
jl 0x430109
xor ecx, ecx
jmp 0x43012b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43012b
cmp eax, dword [edi + 0x1c2c8]
jl 0x430121
xor eax, eax
jmp 0x430129
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1064c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x430132
lea eax, [esp + 0xe7d4]
push str._conn
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430166
mov byte [esp + 0x53], 1
mov byte [esp + 0x33], 1
lea ecx, [esp + 0xe7d4]
push str._printui
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430184
mov byte [esp + 0x73], 1
lea edx, [esp + 0xe7d4]
push str._arpaddiopt
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4301f6
lea eax, [esi - 1]
cmp ebx, eax
jge 0x4301f6
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4301c8
cmp eax, dword [edi + 0x1c2c8]
jl 0x4301bc
xor ecx, ecx
jmp 0x4301de
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4301de
cmp eax, dword [edi + 0x1c2c8]
jl 0x4301d4
xor eax, eax
jmp 0x4301dc
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x13d04]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4301e5
lea ecx, [esp + 0xe7d4]
push str._arprmvopt
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430268
lea edx, [esi - 1]
cmp ebx, edx
jge 0x430268
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43023a
cmp eax, dword [edi + 0x1c2c8]
jl 0x43022e
xor ecx, ecx
jmp 0x430250
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x430250
cmp eax, dword [edi + 0x1c2c8]
jl 0x430246
xor eax, eax
jmp 0x43024e
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x13f0c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x430257
lea eax, [esp + 0xe7d4]
push str._uid
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4302e1
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x4302e1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4302ac
cmp eax, dword [edi + 0x1c2c8]
jl 0x4302a0
xor ecx, ecx
jmp 0x4302c2
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4302c2
cmp eax, dword [edi + 0x1c2c8]
jl 0x4302b8
xor eax, eax
jmp 0x4302c0
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x185f4]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4302d0
lea edx, [esp + 0xe7d4]
push str._pwd
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430353
lea eax, [esi - 1]
cmp ebx, eax
jge 0x430353
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x430325
cmp eax, dword [edi + 0x1c2c8]
jl 0x430319
xor ecx, ecx
jmp 0x43033b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43033b
cmp eax, dword [edi + 0x1c2c8]
jl 0x430331
xor eax, eax
jmp 0x430339
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x17dd4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x430342
lea ecx, [esp + 0xe7d4]
push str._dom
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4303c5
lea edx, [esi - 1]
cmp ebx, edx
jge 0x4303c5
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x430397
cmp eax, dword [edi + 0x1c2c8]
jl 0x43038b
xor ecx, ecx
jmp 0x4303ad
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4303ad
cmp eax, dword [edi + 0x1c2c8]
jl 0x4303a3
xor eax, eax
jmp 0x4303ab
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1942c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4303b4
lea eax, [esp + 0xe7d4]
push str._addi
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4303e3
mov byte [esp + 0x17], 1
lea ecx, [esp + 0xe7d4]
push str._upd
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430401
mov byte [esp + 0x4b], 1
lea edx, [esp + 0xe7d4]
push str._src
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430471
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43043e
cmp eax, dword [edi + 0x1c2c8]
jl 0x430432
xor ecx, ecx
jmp 0x430454
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x430454
cmp eax, dword [edi + 0x1c2c8]
jl 0x43044a
xor eax, eax
jmp 0x430452
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x1023c]
jmp 0x430460
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x430460
lea eax, [esp + 0xe7d4]
push str._dst
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4304e1
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4304ae
cmp eax, dword [edi + 0x1c2c8]
jl 0x4304a2
xor ecx, ecx
jmp 0x4304c4
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4304c4
cmp eax, dword [edi + 0x1c2c8]
jl 0x4304ba
xor eax, eax
jmp 0x4304c2
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf404]
jmp 0x4304d0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4304d0
inc ebx
cmp ebx, esi
jl 0x42ecb0
mov esi, dword [esp + 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
cmp word [esp + 0xf60c], bp
je 0x4305a8
push ebp
lea ecx, [esp + 0xf610]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.004421d0
test al, al
jne 0x4305a8
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x19a44]
push edx
push ebp
lea eax, [esp + 0xf614]
push eax
call fcn.004434c0
lea ecx, [esp + 0x19a44]
push ecx
mov ecx, dword [esi + 0x21c]
lea edx, [esp + 0x1f120]
push edx
push ebp
call fcn.00446020
push eax
lea eax, [esp + 0x1e904]
push 0x461a90
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
push ebp
lea ecx, [esp + 0x1e900]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.004421d0
test al, al
je 0x43189f
xor eax, eax
jmp 0x430590
movzx ecx, word [esp + eax + 0x1e8fc]
mov word [esp + eax + 0xf60c], cx
add eax, 2
cmp cx, bp
jne 0x430590
lea edx, [esp + 0xedec]
push str.INSTALL
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430891
push 0x8cdc
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 1
cmp eax, ebp
je 0x43061c
lea ecx, [esp + 0x11074]
push ecx
lea edx, [esp + 0x10e70]
push edx
push ebp
lea ecx, [esp + 0x10860]
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0xf414]
push edx
mov edx, dword [ecx + 0x21c]
push edx
mov ecx, eax
call fcn.004285e0
mov esi, eax
jmp 0x43061e
xor esi, esi
push 0x1e90
lea eax, [esp + 0x8610]
push 0
or ebp, 0xffffffff
push eax
mov dword [esp + 0x1f33c], ebp
call fcn.0044ac90
mov eax, dword [esp + 0x30]
mov cl, byte [esp + 0x2c]
mov edx, dword [esp + 0x48]
add esp, 0xc
mov dword [esp + 0x8614], eax
mov byte [esp + 0xa495], cl
mov dword [esp + 0x8610], edx
mov byte [esp + 0xa496], 0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x1023c]
mov word [esp + eax + 0x8a28], cx
add eax, 2
test cx, cx
jne 0x430670
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf404]
mov word [esp + eax + 0x8c30], cx
add eax, 2
test cx, cx
jne 0x430690
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf60c]
mov word [esp + eax + 0x8820], cx
add eax, 2
test cx, cx
jne 0x4306b0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfa1c]
mov word [esp + eax + 0x9450], cx
add eax, 2
test cx, cx
jne 0x4306d0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3c4]
mov word [esp + eax + 0x9a68], cx
add eax, 2
test cx, cx
jne 0x4306f0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x10a5c]
mov word [esp + eax + 0x9e78], cx
add eax, 2
test cx, cx
jne 0x430710
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xebe4]
mov word [esp + eax + 0xa080], cx
add eax, 2
test cx, cx
jne 0x430730
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x16184]
mov word [esp + eax + 0xa288], cx
add eax, 2
test cx, cx
jne 0x430750
mov edi, dword [esp + 0x34]
lea ecx, [esp + 0x860c]
push ecx
push edi
mov ecx, esi
call fcn.0042ca30
cmp byte [esp + 0x20], 0
mov dword [esp + 0x2c], eax
je 0x430796
mov edx, dword [esi + 0x28b4]
mov dword [esp + 0x2c], edx
jmp 0x43087f
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x1a674]
push eax
push 0
lea ecx, [esp + 0xf614]
push ecx
mov ecx, dword [edx + 0x21c]
call fcn.004434c0
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0xf60c]
mov word [esp + eax + 0x1b4ac], cx
add eax, 2
test cx, cx
jne 0x4307c0
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x21c]
push 0
lea eax, [esp + 0xf408]
push eax
call fcn.004423b0
lea edx, [esp + 0x1a674]
push edx
lea eax, [esp + 0xf408]
push eax
lea ecx, [esp + 0x1ae9c]
push 0x461a90
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x21c]
add esp, 0x10
push 0
lea edx, [esp + 0x1ae98]
push edx
lea eax, [esp + 0x1b4b4]
push eax
call fcn.004449d0
mov eax, dword [esi + 0x28b8]
mov edx, dword [esp + 0x18]
mov ecx, 1
sub ecx, eax
mov dword [edx + 0x47c], ecx
mov eax, dword [esi + 0x28bc]
mov dword [edx + 0x480], eax
lea eax, [esi + 0x28c0]
add edx, 0x484
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x430870
mov ecx, esi
call fcn.00428740
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x430898
mov edi, dword [esp + 0x34]
or ebp, 0xffffffff
lea ecx, [esp + 0xedec]
push str.UPGRADE
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430b3f
push 0x8cdc
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 2
test eax, eax
je 0x43090d
lea edx, [esp + 0x11074]
push edx
lea ecx, [esp + 0x10e70]
push ecx
push 0
lea edx, [esp + 0x10860]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf414]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.004285e0
mov esi, eax
jmp 0x43090f
xor esi, esi
push 0x1e90
lea edx, [esp + 0xc330]
push 0
push edx
mov dword [esp + 0x1f33c], ebp
call fcn.0044ac90
mov al, byte [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x30]
add esp, 0xc
mov byte [esp + 0xe1b5], al
mov dword [esp + 0xc330], ecx
mov dword [esp + 0xc334], edx
mov byte [esp + 0xe1b6], 0
xor eax, eax
jmp 0x430960
movzx ecx, word [esp + eax + 0x1023c]
mov word [esp + eax + 0xc748], cx
add eax, 2
test cx, cx
jne 0x430960
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf404]
mov word [esp + eax + 0xc950], cx
add eax, 2
test cx, cx
jne 0x430980
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf60c]
mov word [esp + eax + 0xc540], cx
add eax, 2
test cx, cx
jne 0x4309a0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfa1c]
mov word [esp + eax + 0xd170], cx
add eax, 2
test cx, cx
jne 0x4309c0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3c4]
mov word [esp + eax + 0xd788], cx
add eax, 2
test cx, cx
jne 0x4309e0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xebe4]
mov word [esp + eax + 0xdda0], cx
add eax, 2
test cx, cx
jne 0x430a00
lea eax, [esp + 0xc32c]
push eax
push edi
mov ecx, esi
call fcn.0042cb70
cmp byte [esp + 0xe1b5], 0
mov dword [esp + 0x2c], eax
je 0x430a45
mov ecx, dword [esi + 0x28b4]
mov dword [esp + 0x2c], ecx
jmp 0x430b2f
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x21c]
lea edx, [esp + 0x1bccc]
push edx
push 0
lea eax, [esp + 0xf614]
push eax
call fcn.004434c0
xor eax, eax
jmp 0x430a70
movzx ecx, word [esp + eax + 0xf60c]
mov word [esp + eax + 0x1a05c], cx
add eax, 2
test cx, cx
jne 0x430a70
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x21c]
push 0
lea edx, [esp + 0xf408]
push edx
call fcn.004423b0
lea ecx, [esp + 0x1bccc]
push ecx
lea edx, [esp + 0xf408]
push edx
lea eax, [esp + 0x1c0e4]
push 0x461a90
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x28]
add esp, 0x10
push 0
lea ecx, [esp + 0x1c0e0]
push ecx
mov ecx, dword [eax + 0x21c]
lea edx, [esp + 0x1a064]
push edx
call fcn.004449d0
mov eax, dword [esi + 0x28b8]
mov edx, dword [esp + 0x18]
mov ecx, 1
sub ecx, eax
mov dword [edx + 0x47c], ecx
mov eax, dword [esi + 0x28bc]
mov dword [edx + 0x480], eax
lea eax, [esi + 0x28c0]
add edx, 0x484
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x430b20
mov ecx, esi
call fcn.00428740
push esi
call fcn.0044ad0a
add esp, 4
lea ecx, [esp + 0xedec]
push str.REMOVE
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430d80
push 0x8cdc
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 3
test eax, eax
je 0x430bb4
lea edx, [esp + 0x11074]
push edx
lea ecx, [esp + 0x10e70]
push ecx
push 0
lea edx, [esp + 0x10860]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf414]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.004285e0
mov esi, eax
jmp 0x430bb6
xor esi, esi
push 0x1e90
lea edx, [esp + 0xa4a0]
push 0
push edx
mov dword [esp + 0x1f33c], ebp
call fcn.0044ac90
mov al, byte [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x30]
add esp, 0xc
mov byte [esp + 0xc325], al
mov dword [esp + 0xa4a0], ecx
mov dword [esp + 0xa4a4], edx
mov byte [esp + 0xc326], 0
xor eax, eax
nop
movzx ecx, word [esp + eax + 0x1023c]
mov word [esp + eax + 0xa8b8], cx
add eax, 2
test cx, cx
jne 0x430c00
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf404]
mov word [esp + eax + 0xaac0], cx
add eax, 2
test cx, cx
jne 0x430c20
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf60c]
mov word [esp + eax + 0xa6b0], cx
add eax, 2
test cx, cx
jne 0x430c40
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfa1c]
mov word [esp + eax + 0xb2e0], cx
add eax, 2
test cx, cx
jne 0x430c60
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3c4]
mov word [esp + eax + 0xb8f8], cx
add eax, 2
test cx, cx
jne 0x430c80
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xebe4]
mov word [esp + eax + 0xbf10], cx
add eax, 2
test cx, cx
jne 0x430ca0
lea eax, [esp + 0xa49c]
push eax
push edi
mov ecx, esi
call fcn.0042ccb0
cmp byte [esp + 0xc325], 0
mov dword [esp + 0x2c], eax
je 0x430ce5
mov ecx, dword [esi + 0x28b4]
mov dword [esp + 0x2c], ecx
jmp 0x430d70
test eax, eax
je 0x430d30
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x21c]
lea edx, [esp + 0x1a264]
push edx
push 0
lea eax, [esp + 0xf614]
push eax
call fcn.004434c0
lea edx, [esp + 0x1a264]
push edx
lea eax, [esp + 0xf408]
push eax
lea ecx, [esp + 0x1ed14]
push 0x461a90
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
mov eax, dword [esi + 0x28b8]
mov edx, dword [esp + 0x18]
mov ecx, 1
sub ecx, eax
mov dword [edx + 0x47c], ecx
mov eax, dword [esi + 0x28bc]
mov dword [edx + 0x480], eax
lea eax, [esi + 0x28c0]
add edx, 0x484
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x430d61
mov ecx, esi
call fcn.00428740
push esi
call fcn.0044ad0a
add esp, 4
lea ecx, [esp + 0xedec]
push str.VERIFY
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x430f4f
push 0x8cdc
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 4
test eax, eax
je 0x430df5
lea edx, [esp + 0x11074]
push edx
lea ecx, [esp + 0x10e70]
push ecx
push 0
lea edx, [esp + 0x10860]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf414]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.004285e0
mov esi, eax
jmp 0x430df7
xor esi, esi
push 0x1e90
lea edx, [esp + 0xbd0]
push 0
push edx
mov dword [esp + 0x1f33c], ebp
call fcn.0044ac90
movzx eax, byte [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x30]
mov byte [esp + 0x2a61], al
movzx eax, byte [esp + 0x23]
add esp, 0xc
mov byte [esp + 0x2a57], al
mov dword [esp + 0xbd0], ecx
mov dword [esp + 0xbd4], edx
mov byte [esp + 0x2a56], 0
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [esp + eax + 0x1023c]
mov word [esp + eax + 0xfe8], cx
add eax, 2
test cx, cx
jne 0x430e50
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf404]
mov word [esp + eax + 0x11f0], cx
add eax, 2
test cx, cx
jne 0x430e70
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf60c]
mov word [esp + eax + 0xde0], cx
add eax, 2
test cx, cx
jne 0x430e90
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfa1c]
mov word [esp + eax + 0x1a10], cx
add eax, 2
test cx, cx
jne 0x430eb0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3c4]
mov word [esp + eax + 0x2028], cx
add eax, 2
test cx, cx
jne 0x430ed0
lea ecx, [esp + 0xbcc]
push ecx
push edi
mov ecx, esi
call fcn.0042cd20
mov edx, dword [esp + 0x18]
mov ecx, eax
mov eax, dword [esi + 0x28b8]
mov edi, 1
sub edi, eax
mov dword [edx + 0x47c], edi
mov dword [edx + 0x480], ecx
lea eax, [esi + 0x28c0]
add edx, 0x484
mov dword [esp + 0x2c], ecx
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x430f30
mov ecx, esi
call fcn.00428740
push esi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.VERIFY2
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x431304
push 0x8cdc
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x1f330], 5
test eax, eax
je 0x430fc4
lea ecx, [esp + 0x11074]
push ecx
lea edx, [esp + 0x10e70]
push edx
push 0
lea ecx, [esp + 0x10860]
push ecx
mov ecx, dword [ebp + 0x21c]
lea edx, [esp + 0xf414]
push edx
push ecx
mov ecx, eax
call fcn.004285e0
mov edi, eax
jmp 0x430fc6
xor edi, edi
push 0x1e90
lea edx, [esp + 0x6780]
push 0
push edx
mov dword [esp + 0x1f33c], 0xffffffff
call fcn.0044ac90
movzx eax, byte [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x30]
mov byte [esp + 0x8611], al
movzx eax, byte [esp + 0x23]
add esp, 0xc
mov byte [esp + 0x8607], al
mov dword [esp + 0x6780], ecx
mov dword [esp + 0x6784], edx
mov byte [esp + 0x8606], 0
xor eax, eax
movzx ecx, word [esp + eax + 0x1023c]
mov word [esp + eax + 0x6b98], cx
add eax, 2
test cx, cx
jne 0x431020
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf404]
mov word [esp + eax + 0x6da0], cx
add eax, 2
test cx, cx
jne 0x431040
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf60c]
mov word [esp + eax + 0x6990], cx
add eax, 2
test cx, cx
jne 0x431060
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfa1c]
mov word [esp + eax + 0x75c0], cx
add eax, 2
test cx, cx
jne 0x431080
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3c4]
mov word [esp + eax + 0x7bd8], cx
add eax, 2
test cx, cx
jne 0x4310a0
mov cl, byte [esp + 0x4b]
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x677c]
push edx
mov byte [esp + 0x860c], cl
push eax
mov ecx, edi
call fcn.0042cd20
push eax
mov dword [esp + 0x30], eax
lea eax, [ebp + 0x484]
push 0x468d38
push eax
mov dword [ebp + 0x480], 1
call dword [sym.imp.USER32.dll_wsprintfW]
xor esi, esi
add esp, 0xc
cmp dword [edi + 0x48c4], esi
jle 0x431126
mov ecx, dword [edi + 0x48c0]
mov eax, dword [ecx + esi*8]
push eax
push esi
push str.saList__d____s__n
call fcn.0043e2c0
inc esi
add esp, 0xc
cmp esi, dword [edi + 0x48c4]
jl 0x431105
mov edx, dword [edi + 0x48c4]
xor eax, eax
push 0x7fe
push eax
lea ecx, [esp + 0x1c2ee]
mov dword [ebp + 0x47c], edx
push ecx
mov word [esp + 0x1c2f0], ax
call fcn.0044ac90
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x1c2fc]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea edx, [esp + 0x1c304]
push edx
push str.wszReturn___s__n
call fcn.0043e2c0
lea eax, [esp + 0x1c30c]
add esp, 0x28
mov dword [esp + 0x98], 0
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4311a1
mov esi, dword [esp + 0x18]
sub eax, ecx
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 + 0x1c2f0]
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 + 0x48c4]
xor esi, esi
test ebp, ebp
jle 0x4312ab
lea esp, [esp]
xor eax, eax
push 0x616
push eax
lea ecx, [esp + 0x1a886]
push ecx
mov word [esp + 0x1a888], ax
call fcn.0044ac90
mov edx, dword [edi + 0x48c0]
mov ecx, dword [edx + esi*8]
add esp, 0xc
lea edx, [esp + 0x1a87c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x431230
lea eax, [esp + 0x1a87c]
mov dword [esp + 0x98], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x431256
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 + 0x1a888]
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 0x431200
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 0x46e518
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 0x431304
mov ecx, edi
call fcn.00428740
push edi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.PREREQUISITE
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4316d0
push 0x8cdc
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x1f330], 6
test eax, eax
je 0x431379
lea ecx, [esp + 0x11074]
push ecx
lea edx, [esp + 0x10e70]
push edx
push 0
lea ecx, [esp + 0x10860]
push ecx
mov ecx, dword [ebp + 0x21c]
lea edx, [esp + 0xf414]
push edx
push ecx
mov ecx, eax
call fcn.004285e0
mov edi, eax
jmp 0x43137b
xor edi, edi
push 0x1e90
lea edx, [esp + 0x2a60]
push 0
push edx
mov dword [esp + 0x1f33c], 0xffffffff
call fcn.0044ac90
mov al, byte [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x30]
add esp, 0xc
mov byte [esp + 0x48e5], al
mov dword [esp + 0x2a60], ecx
mov dword [esp + 0x2a64], edx
mov byte [esp + 0x48e6], 0
xor eax, eax
jmp 0x4313d0
movzx ecx, word [esp + eax + 0x1023c]
mov word [esp + eax + 0x2e78], cx
add eax, 2
test cx, cx
jne 0x4313d0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf404]
mov word [esp + eax + 0x3080], cx
add eax, 2
test cx, cx
jne 0x4313f0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf60c]
mov word [esp + eax + 0x2c70], cx
add eax, 2
test cx, cx
jne 0x431410
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfa1c]
mov word [esp + eax + 0x38a0], cx
add eax, 2
test cx, cx
jne 0x431430
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3c4]
mov word [esp + eax + 0x3eb8], cx
add eax, 2
test cx, cx
jne 0x431450
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x2a5c]
push eax
push ecx
mov ecx, edi
call fcn.0042ce30
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 0x28b8]
mov edx, 1
sub edx, eax
mov dword [ebp + 0x47c], edx
lea eax, [edi + 0x28c0]
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
sub edx, eax
jmp 0x4314b0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4314b0
xor esi, esi
cmp dword [edi + 0x48c4], esi
jle 0x4314f1
lea esp, [esp]
mov eax, dword [edi + 0x48c0]
mov eax, dword [eax + esi*8]
push eax
push esi
push str.saList__d____s__n
call fcn.0043e2c0
inc esi
add esp, 0xc
cmp esi, dword [edi + 0x48c4]
jl 0x4314d0
mov ecx, dword [edi + 0x48c4]
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 [edx + eax], cx
add eax, 2
test cx, cx
jne 0x431510
xor edx, edx
push 0x7fe
push edx
lea eax, [esp + 0x1e106]
push eax
mov word [esp + 0x1e108], dx
call fcn.0044ac90
mov ecx, dword [ebp + 0x47c]
mov edx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
push ecx
push edx
lea eax, [esp + 0x1e114]
push str._d__d___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1e11c]
add esp, 0x20
mov dword [esp + 0x9c], 0
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x431580
mov esi, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esi + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1e108]
push eax
push ecx
call ebx
mov edx, dword [esi + 0x260]
push edx
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov ebp, dword [edi + 0x48c4]
xor esi, esi
test ebp, ebp
jle 0x43167b
xor eax, eax
push 0x616
push eax
lea ecx, [esp + 0x1b6be]
push ecx
mov word [esp + 0x1b6c0], ax
call fcn.0044ac90
mov edx, dword [edi + 0x48c0]
mov ecx, dword [edx + esi*8]
add esp, 0xc
lea edx, [esp + 0x1b6b4]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x431600
lea eax, [esp + 0x1b6b4]
mov dword [esp + 0x9c], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x431626
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax + 2]
push edx
mov edx, dword [ecx + 0x260]
lea eax, [esp + 0x1b6c0]
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 0x4315d0
mov esi, dword [esp + 0x18]
push 0
lea edx, [esp + 0xa0]
push edx
push 8
mov dword [esp + 0xa8], 0
mov eax, dword [esi + 0x260]
push 0x46e518
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.00428740
push edi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.CHECK
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43189f
push 0x8cdc
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1f330], 7
test eax, eax
je 0x431745
lea ecx, [esp + 0x11074]
push ecx
lea edx, [esp + 0x10e70]
push edx
push 0
lea ecx, [esp + 0x10860]
push ecx
mov ecx, dword [edi + 0x21c]
lea edx, [esp + 0xf414]
push edx
push ecx
mov ecx, eax
call fcn.004285e0
mov esi, eax
jmp 0x431747
xor esi, esi
push 0x1e90
lea edx, [esp + 0x48f0]
push 0
push edx
mov dword [esp + 0x1f33c], 0xffffffff
call fcn.0044ac90
mov al, byte [esp + 0x2c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x30]
add esp, 0xc
mov byte [esp + 0x6775], al
mov dword [esp + 0x48f0], ecx
mov dword [esp + 0x48f4], edx
mov byte [esp + 0x6776], 0
xor eax, eax
jmp 0x4317a0
movzx ecx, word [esp + eax + 0x1023c]
mov word [esp + eax + 0x4d08], cx
add eax, 2
test cx, cx
jne 0x4317a0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf404]
mov word [esp + eax + 0x4f10], cx
add eax, 2
test cx, cx
jne 0x4317c0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf60c]
mov word [esp + eax + 0x4b00], cx
add eax, 2
test cx, cx
jne 0x4317e0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfa1c]
mov word [esp + eax + 0x5730], cx
add eax, 2
test cx, cx
jne 0x431800
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3c4]
mov word [esp + eax + 0x5d48], cx
add eax, 2
test cx, cx
jne 0x431820
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x48ec]
push eax
push ecx
mov ecx, esi
call fcn.0041ed40
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x28b8]
mov edx, 1
sub edx, eax
mov dword [edi + 0x47c], edx
mov eax, dword [esi + 0x28bc]
mov dword [edi + 0x480], eax
lea eax, [esi + 0x28c0]
lea edx, [edi + 0x484]
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x431880
mov ecx, esi
call fcn.00428740
push esi
call fcn.0044ad0a
add esp, 4
lea ecx, [esp + 0xedec]
push str.GETSYSINFO
push ecx
call fcn.0044b362
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4318d5
mov eax, dword [esp + 0x34]
lea edx, [esp + 0xe1bc]
push edx
push ebx
push eax
mov ecx, esi
call fcn.0042e340
lea ecx, [esp + 0xedec]
push str.REMOVECMDARP
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x431b9f
push 0x8cdc
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 8
test eax, eax
je 0x431946
lea edx, [esp + 0x11074]
push edx
lea ecx, [esp + 0x10e70]
push ecx
push 0
lea edx, [esp + 0x10860]
push edx
mov edx, dword [esi + 0x21c]
lea ecx, [esp + 0xf414]
push ecx
push edx
mov ecx, eax
call fcn.004285e0
mov ebp, eax
jmp 0x431948
xor ebp, ebp
xor eax, eax
push 0x616
push eax
lea ecx, [esp + 0x17fe6]
push ecx
mov dword [esp + 0x1f33c], 0xffffffff
mov word [esp + 0x17fe8], ax
call fcn.0044ac90
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
lea edx, [esp + 0xfa28]
push edx
lea eax, [esp + 0x17fec]
push str.UNINST_STRING_ARP__s
push eax
call edi
add esp, 0x18
cmp word [esp + 0x13d04], 0
je 0x431a26
xor ecx, ecx
push 0x40e
push ecx
lea edx, [esp + 0x19c56]
push edx
mov word [esp + 0x19c58], cx
call fcn.0044ac90
lea eax, [esp + 0x13d10]
push eax
lea ecx, [esp + 0x19c5c]
push 0x47008c
push ecx
call edi
lea eax, [esp + 0x19c64]
add esp, 0x18
mov edx, eax
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4319e0
lea edi, [esp + 0x17fdc]
sub eax, edx
add edi, 0xfffffffe
jmp 0x431a00
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x431a00
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 + 0x13f0c], 0
je 0x431b10
xor edx, edx
push 0x40e
push edx
lea eax, [esp + 0x18a0e]
push eax
mov word [esp + 0x18a10], dx
call fcn.0044ac90
add esp, 0xc
cmp word [esp + 0x13d04], 0
je 0x431aae
lea ecx, [esp + 0x13f0c]
push ecx
lea edx, [esp + 0x18a08]
push 0x47008c
push edx
call edi
lea eax, [esp + 0x18a10]
add esp, 0xc
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x431a83
lea edi, [esp + 0x17fdc]
sub eax, edx
add edi, 0xfffffffe
lea ebx, [ebx]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x431aa0
jmp 0x431afc
lea eax, [esp + 0x13f0c]
push eax
lea ecx, [esp + 0x18a08]
push str.___s
push ecx
call edi
lea eax, [esp + 0x18a10]
add esp, 0xc
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x431ad1
lea edi, [esp + 0x17fdc]
sub eax, edx
add edi, 0xfffffffe
jmp 0x431af0
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x431af0
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 + 0x17fdc]
push edx
push str.REMOVECMDARP___s__n
call fcn.0043e2c0
mov eax, dword [esp + 0x3c]
add esp, 8
push ebx
lea ecx, [esp + 0x17fe0]
push ecx
mov ecx, ebp
mov dword [ebp], eax
call fcn.0041d5b0
cmp byte [esp + 0x20], 0
mov dword [esp + 0x2c], eax
je 0x431b53
mov edx, dword [ebp + 0x28b4]
mov dword [esp + 0x2c], edx
jmp 0x431b8f
mov eax, dword [ebp + 0x28b8]
mov dword [esi + 0x47c], eax
mov ecx, dword [ebp + 0x28bc]
lea eax, [ebp + 0x28c0]
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 0x431b80
mov ecx, ebp
call fcn.00428740
push ebp
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.DELETEFILE
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x431caf
cmp byte [esp + 0x20], al
je 0x431bcf
mov dword [esp + 0x2c], 1
jmp 0x431caf
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x13b06]
push ecx
mov word [esp + 0x13b08], ax
call fcn.0044ac90
mov ecx, dword [esi + 0x21c]
add esp, 0xc
push 0
lea edx, [esp + 0xe5d0]
push edx
call fcn.004421d0
test al, al
je 0x431c77
mov ecx, dword [esi + 0x21c]
lea eax, [esp + 0xe5cc]
push eax
call fcn.00442ba0
test eax, eax
jne 0x431c59
lea ecx, [esp + 0xe5cc]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.00442c60
xor eax, eax
jmp 0x431c40
movzx ecx, word [eax + str.File_delete_after_reboot]
mov word [esp + eax + 0x13afc], cx
add eax, 2
test cx, cx
jne 0x431c40
jmp 0x431c77
xor eax, eax
jmp 0x431c60
movzx ecx, word [eax + str.File_deleted]
mov word [esp + eax + 0x13afc], cx
add eax, 2
test cx, cx
jne 0x431c60
lea eax, [esp + 0x13afc]
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 0x431ca0
lea edx, [esp + 0xedec]
push str.DELETEDIR
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x431f3f
cmp byte [esp + 0x20], al
je 0x431cdf
mov dword [esp + 0x2c], 1
jmp 0x431f3f
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x136f6]
push ecx
mov word [esp + 0x136f8], ax
call fcn.0044ac90
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0xfc3a]
push eax
mov word [esp + 0xfc3c], dx
call fcn.0044ac90
add esp, 0x18
xor eax, eax
mov edi, edi
movzx ecx, word [esp + eax + 0xe5cc]
mov word [esp + eax + 0xfc24], cx
add eax, 2
test cx, cx
jne 0x431d20
mov esi, dword [esp + 0x18]
cmp word [esp + 0xfc24], cx
je 0x431f07
push 0x463fc4
lea ecx, [esp + 0xfc28]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.00441ee0
mov ecx, dword [esi + 0x21c]
push 0
push 0x104
lea edx, [esp + 0x1963c]
push edx
call fcn.00443190
mov ecx, dword [esi + 0x21c]
push 1
push 0x104
lea eax, [esp + 0x1bedc]
push eax
call fcn.00443190
mov eax, dword [esi + 0x21c]
add eax, 0x218
push eax
lea ecx, [esp + 0x1a470]
push 0x104
push ecx
call fcn.0044bf5b
mov eax, dword [esi + 0x21c]
add eax, 0x420
push eax
lea edx, [esp + 0x1984c]
push 0x104
push edx
call fcn.0044bf5b
lea eax, [esp + 0xfc3c]
add esp, 0x18
mov bl, 1
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x431de1
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0xfc22], 0x5c
jne 0x431e1e
lea eax, [esp + 0xfc24]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x431e05
sub eax, edx
sar eax, 1
xor ecx, ecx
mov word [esp + eax*2 + 0xfc22], cx
lea edx, [esp + 0x19634]
push edx
lea eax, [esp + 0xfc28]
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x431e3c
xor bl, bl
lea ecx, [esp + 0x1bed4]
push ecx
lea edx, [esp + 0xfc28]
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x431e5a
xor bl, bl
lea eax, [esp + 0x1a46c]
push eax
lea ecx, [esp + 0xfc28]
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x431e78
xor bl, bl
lea edx, [esp + 0x1983c]
push edx
lea eax, [esp + 0xfc28]
push eax
call fcn.0044b362
add esp, 8
test eax, eax
je 0x431ee9
test bl, bl
je 0x431ee9
cmp byte [esp + 0x6c], 0
je 0x431eb4
lea ecx, [esp + 0xfc24]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.00444f80
jmp 0x431ec2
lea edx, [esp + 0xfc24]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor eax, eax
jmp 0x431ed0
movzx ecx, word [eax + str.DELETEDIR_deleted]
mov word [esp + eax + 0x136ec], cx
add eax, 2
test cx, cx
jne 0x431ed0
jmp 0x431f07
xor eax, eax
jmp 0x431ef0
movzx ecx, word [eax + str.DELETEDIR_deleted_failed]
mov word [esp + eax + 0x136ec], cx
add eax, 2
test cx, cx
jne 0x431ef0
lea eax, [esp + 0x136ec]
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 0x431f30
lea edx, [esp + 0xedec]
push str.CHECKRPC
push edx
call fcn.0044b362
mov ebp, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x43204f
mov ecx, dword [ebp + 0x21c]
lea eax, [esp + 0xe1bc]
push eax
call fcn.00447020
cmp eax, 0x100
jge 0x431f99
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + str.Windows_NT_x86]
mov word [esp + eax + 0xf1fc], cx
add eax, 2
test cx, cx
jne 0x431f80
jmp 0x431fb7
xor eax, eax
jmp 0x431fa0
movzx ecx, word [eax + str.Windows_x64]
mov word [esp + eax + 0xf1fc], cx
add eax, 2
test cx, cx
jne 0x431fa0
lea ecx, [esp + 0xec]
push ecx
push 0x104
lea edx, [esp + 0x1ef1c]
push edx
mov esi, 1
push esi
lea eax, [esp + 0xf20c]
push eax
lea ecx, [esp + 0xe1d0]
xor edi, edi
push ecx
mov dword [esp + 0x104], edi
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
mov dword [ebp + 0x480], esi
test eax, eax
je 0x432021
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 0x432010
jmp 0x43204f
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 0x432040
lea edx, [esp + 0xedec]
push str.GETOSVERSION
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4320d1
mov ecx, dword [ebp + 0x21c]
lea eax, [esp + 0xe1bc]
push eax
call fcn.00447020
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
test eax, eax
je 0x4320b1
mov dword [ebp + 0x47c], eax
mov eax, str.GETOSVERSION_successful
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4320a0
jmp 0x4320d1
mov eax, str.GETOSVERSION_failed
mov dword [ebp + 0x47c], 0
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4320c2
lea ecx, [esp + 0xedec]
push str.ISDRIVERINSTALLED
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432371
cmp word [esp + 0xe3c4], ax
je 0x432371
cmp word [esp + 0xe5cc], ax
je 0x432371
push 0x434
mov byte [esp + 0x1b], al
xor ebx, ebx
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 9
test eax, eax
je 0x432142
push ebx
lea edx, [esp + 0xe5d0]
push edx
mov ecx, eax
call fcn.00406f80
jmp 0x432144
xor eax, eax
or esi, 0xffffffff
push str.Printer
mov ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1f334], esi
call fcn.00406300
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432272
xor edi, edi
cmp word [esp + 0xf814], di
je 0x4321ca
cmp word [esp + 0xfe2c], di
je 0x4321ca
push 0x82c
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 0xa
test eax, eax
je 0x4321bf
lea ecx, [esp + 0xfe2c]
push ecx
lea edx, [esp + 0xf818]
push edx
push edi
mov ecx, eax
call fcn.0044ab50
jmp 0x4321c1
xor eax, eax
mov dword [esp + 0x1f330], esi
mov edi, eax
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 0xb
test eax, eax
je 0x432208
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edi
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x43220a
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x43225e
mov edx, dword [esp + 0x68]
push 0
push edx
lea eax, [esp + 0xf204]
push eax
lea ecx, [esp + 0xe3d0]
push ecx
lea edx, [esp + 0xe5dc]
push edx
lea eax, [esp + 0xe1d0]
push eax
mov ecx, esi
call fcn.00412b60
mov ecx, esi
mov ebx, eax
mov byte [esp + 0x17], 1
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
test edi, edi
je 0x432272
mov ecx, edi
call fcn.0043d490
push edi
call fcn.0044ad0a
add esp, 4
mov ecx, dword [esp + 0x24]
push str.Image
call fcn.00406300
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4322fb
push 0x470
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 0xc
test eax, eax
je 0x4322c4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00404c60
mov esi, eax
jmp 0x4322c6
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x4322fb
lea eax, [esp + 0xe3c4]
push eax
mov ecx, esi
call fcn.00402970
mov ecx, esi
mov ebx, eax
mov byte [esp + 0x17], 1
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
mov esi, dword [esp + 0x24]
test esi, esi
je 0x432313
mov ecx, esi
call fcn.00406700
push esi
call fcn.0044ad0a
add esp, 4
cmp byte [esp + 0x17], 0
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
je 0x432351
mov eax, str.ISDRIVERINSTALLED_successful
mov dword [ebp + 0x47c], ebx
sub edx, eax
jmp 0x432340
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x432340
jmp 0x432371
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 0x432362
lea ecx, [esp + 0xedec]
push str.ENUMDRIVERS
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432c32
xor edx, edx
push 0x7fe
push edx
lea eax, [esp + 0x175de]
push eax
mov word [esp + 0x175e0], dx
call fcn.0044ac90
add esp, 0xc
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x78], 0
mov byte [esp + 0x42], 0
call fcn.004031d0
lea ecx, [esp + 0x114]
mov dword [esp + 0x1f330], 0xd
call fcn.004031d0
xor bl, bl
cmp word [esp + 0xe5cc], 0
mov byte [esp + 0x1f330], 0xe
mov byte [esp + 0x17], bl
mov byte [esp + 0x2b], bl
je 0x4324c1
push 0x4fc8
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0xf
test eax, eax
je 0x432431
push 0
lea ecx, [esp + 0xe5d0]
push ecx
mov ecx, eax
call fcn.0043f710
mov esi, eax
jmp 0x432433
xor esi, esi
lea edx, [esp + 0x1f8]
push edx
mov ecx, esi
mov byte [esp + 0x1f334], 0xe
call fcn.0043f920
cmp dword [esp + 0x1fc], 0
je 0x43246d
mov eax, dword [esp + 0x1f8]
mov eax, dword [eax]
lea ecx, [esp + 0x114]
push ecx
push eax
mov ecx, esi
call fcn.0043fa10
push str.Printer
mov ecx, esi
call fcn.0043eae0
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432488
mov bl, 1
push str.Image
mov ecx, esi
call fcn.0043eae0
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4324a6
mov byte [esp + 0x17], 1
test esi, esi
je 0x4324ba
mov ecx, esi
call fcn.00440470
push esi
call fcn.0044ad0a
add esp, 4
mov byte [esp + 0x2b], 1
jmp 0x4324fa
lea edx, [esp + 0x1064c]
push str.Printer
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4324dc
mov bl, 1
lea eax, [esp + 0x1064c]
push str.Image
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4324fa
mov byte [esp + 0x17], 1
test bl, bl
je 0x432907
xor ebx, ebx
mov dword [esp + 0x54], ebx
cmp word [esp + 0xf814], bx
je 0x432563
cmp word [esp + 0xfe2c], bx
je 0x432563
push 0x82c
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x10
test eax, eax
je 0x432553
lea ecx, [esp + 0xfe2c]
push ecx
lea edx, [esp + 0xf818]
push edx
push ebx
mov ecx, eax
call fcn.0044ab50
jmp 0x432555
xor eax, eax
mov byte [esp + 0x1f330], 0xe
mov ebx, eax
mov dword [esp + 0x54], eax
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x11
test eax, eax
je 0x4325a2
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push ebx
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov edi, eax
mov dword [esp + 0x3c], eax
jmp 0x4325a8
xor edi, edi
mov dword [esp + 0x3c], edi
mov byte [esp + 0x1f330], 0xe
test edi, edi
je 0x4328f3
lea ecx, [esp + 0x180]
call fcn.004031d0
lea edx, [esp + 0x180]
push edx
lea eax, [esp + 0xf200]
push eax
lea ecx, [esp + 0xe1c4]
push ecx
mov ecx, edi
mov byte [esp + 0x1f33c], 0x12
call fcn.00411960
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 + 0x42], 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 0x432613
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x175e0]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x175e8]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x432657
sub eax, edx
push 0
sar eax, 1
lea edx, [esp + 0x7c]
push edx
mov edx, dword [ebp + 0x260]
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x175e0]
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 + 0x24], ecx
test esi, esi
jle 0x43287b
lea esp, [esp]
mov edx, dword [esp + 0x180]
mov eax, dword [edx + ebp*8]
xor bl, bl
lea edi, [eax + 0x208]
cmp byte [esp + 0x2b], bl
je 0x4326fd
xor esi, esi
cmp dword [esp + 0x24], esi
jle 0x432868
mov eax, dword [esp + 0x114]
mov eax, dword [eax + esi*8]
push eax
push edi
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4326ee
mov bl, 1
inc esi
cmp esi, dword [esp + 0x24]
jl 0x4326d4
test bl, bl
je 0x432868
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x130de]
push edx
mov word [esp + 0x130e0], cx
call fcn.0044ac90
mov eax, dword [esp + 0x18c]
mov eax, dword [eax + ebp*8]
add eax, 0x149c
lea edx, [esp + 0x130e0]
add esp, 0xc
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x432735
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x130d4]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.004442c0
cmp eax, 0x14
jge 0x432797
push eax
lea edx, [esp + 0x130d8]
push edx
push str.DataFile___s__size___d___this_could_be_none_KX_driver_n
call fcn.0043e2c0
add esp, 0xc
xor eax, eax
jmp 0x432780
movzx ecx, word [eax + 0x4626e4]
mov word [esp + eax + 0x130d4], cx
add eax, 2
test cx, cx
jne 0x432780
mov eax, dword [esp + 0x180]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x16a4]
push ecx
movzx ecx, word [eax + 0xc78]
lea edx, [esp + 0x130d8]
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 + 0x17608]
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 + 0x17610]
add esp, 0x3c
mov dword [esp + 0x78], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x432823
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esi + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x175e0]
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 0x4326b0
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x54]
lea ecx, [esp + 0x180]
call fcn.004031f0
mov esi, dword [esp + 0x18]
push 0
lea eax, [esp + 0x7c]
push eax
push 8
mov dword [esp + 0x84], 0
mov ecx, dword [esi + 0x260]
push 0x46e518
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.00412150
push edi
call fcn.0044ad0a
add esp, 4
lea ecx, [esp + 0x180]
mov byte [esp + 0x1f330], 0xe
call fcn.00404b90
mov ebp, esi
test ebx, ebx
je 0x432907
mov ecx, ebx
call fcn.0043d490
push ebx
call fcn.0044ad0a
add esp, 4
cmp byte [esp + 0x17], 0
je 0x432bb4
lea ecx, [esp + 0x1c8]
call fcn.004031d0
mov bl, 0x13
push 0x470
mov byte [esp + 0x1f334], bl
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x14
test eax, eax
je 0x432959
push 0
push 0
push 0
mov ecx, eax
call fcn.00404c60
mov edi, eax
mov dword [esp + 0x54], eax
jmp 0x43295f
xor edi, edi
mov dword [esp + 0x54], edi
mov byte [esp + 0x1f330], bl
test edi, edi
je 0x432ba0
push 0
lea eax, [esp + 0x1cc]
push eax
push str.Image
push 7
lea ecx, [esp + 0xe1cc]
push ecx
mov ecx, edi
call fcn.00403290
mov esi, dword [esp + 0x1cc]
mov eax, str.ENUMDRIVERS_successful
lea ecx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x1c], esi
mov byte [esp + 0x42], 1
mov dword [ebp + 0x47c], esi
sub ecx, eax
jmp 0x4329c0
movzx edx, word [eax]
mov word [eax + ecx], dx
add eax, 2
test dx, dx
jne 0x4329c0
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x175e0]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x175e8]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x432a04
sub eax, edx
push 0
sar eax, 1
lea edx, [esp + 0x7c]
push edx
mov edx, dword [ebp + 0x260]
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x175e0]
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 + 0x3c], ecx
mov dword [esp + 0x24], 0
test esi, esi
jle 0x432b3c
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c8]
mov eax, dword [esp + 0x24]
mov eax, dword [edx + eax*8]
xor bl, bl
lea edi, [eax + 0x208]
cmp byte [esp + 0x2b], bl
je 0x432ab5
xor esi, esi
cmp dword [esp + 0x3c], esi
jle 0x432b25
jmp 0x432a90
mov ecx, dword [esp + 0x114]
mov eax, dword [ecx + esi*8]
push eax
push edi
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432aaa
mov bl, 1
inc esi
cmp esi, dword [esp + 0x3c]
jl 0x432a90
test bl, bl
je 0x432b25
push edi
lea edx, [esp + 0x175d8]
push 0x46451c
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x175e0]
add esp, 0xc
mov dword [esp + 0x78], 0
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x432ae0
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [ebp + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x175e0]
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 + 0x24]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
jl 0x432a60
mov edi, dword [esp + 0x54]
lea ecx, [esp + 0x1c8]
call fcn.004031f0
mov esi, dword [esp + 0x18]
push 0
lea eax, [esp + 0x7c]
push eax
push 8
mov dword [esp + 0x84], 0
mov ecx, dword [esi + 0x260]
push 0x46e518
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.00404d00
push edi
call fcn.0044ad0a
add esp, 4
mov ebp, esi
lea ecx, [esp + 0x1c8]
mov byte [esp + 0x1f330], 0xe
call fcn.00404b90
cmp byte [esp + 0x42], 0
jne 0x432bef
mov eax, str.ENUMDRIVERS_failed
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 [eax + edx], cx
add eax, 2
test cx, cx
jne 0x432be0
lea ecx, [esp + 0x1f8]
call fcn.004031f0
lea ecx, [esp + 0x114]
call fcn.004031f0
lea ecx, [esp + 0x114]
mov byte [esp + 0x1f330], 0xd
call fcn.00404b90
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x1f330], 0xffffffff
call fcn.00404b90
lea eax, [esp + 0xedec]
push str.ENUMDEVICES
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x434215
xor ecx, ecx
push 0x7fe
push ecx
lea edx, [esp + 0x1148e]
push edx
mov word [esp + 0x11490], cx
call fcn.0044ac90
add esp, 0xc
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x44], 0
mov byte [esp + 0x17], 0
call fcn.004031d0
lea ecx, [esp + 0xc0]
mov dword [esp + 0x1f330], 0x15
call fcn.004031d0
xor bl, bl
cmp word [esp + 0xe5cc], 0
mov byte [esp + 0x1f330], 0x16
mov byte [esp + 0x42], bl
mov byte [esp + 0x4b], bl
mov byte [esp + 0x52], bl
mov byte [esp + 0x51], bl
mov byte [esp + 0x2b], bl
mov byte [esp + 0x3a], bl
je 0x432db3
push 0x4fc8
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x17
test eax, eax
je 0x432d02
push 0
lea ecx, [esp + 0xe5d0]
push ecx
mov ecx, eax
call fcn.0043f710
mov esi, eax
jmp 0x432d04
xor esi, esi
lea edx, [esp + 0x1e0]
push edx
mov ecx, esi
mov byte [esp + 0x1f334], 0x16
call fcn.0043f920
cmp dword [esp + 0x1e4], 0
je 0x432d3e
mov eax, dword [esp + 0x1e0]
mov eax, dword [eax]
lea ecx, [esp + 0xc0]
push ecx
push eax
mov ecx, esi
call fcn.0043fa10
push str.Printer
mov ecx, esi
call fcn.0043eae0
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432d59
mov bl, 1
push str.Image
mov ecx, esi
call fcn.0043eae0
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432d77
mov byte [esp + 0x42], 1
push 0x466de8
mov ecx, esi
call fcn.0043eae0
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432d95
mov byte [esp + 0x4b], 1
test esi, esi
je 0x432da9
mov ecx, esi
call fcn.00440470
push esi
call fcn.0044ad0a
add esp, 4
mov byte [esp + 0x2b], 1
jmp 0x432e64
lea edx, [esp + 0x1064c]
push str.Printer
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432dce
mov bl, 1
lea eax, [esp + 0x1064c]
push str.Image
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432dec
mov byte [esp + 0x42], 1
lea ecx, [esp + 0x1064c]
push 0x466de8
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432e0a
mov byte [esp + 0x4b], 1
lea edx, [esp + 0x1064c]
push str.WSDPrintDevice
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432e28
mov byte [esp + 0x52], 1
lea eax, [esp + 0x1064c]
push str.System
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432e46
mov byte [esp + 0x51], 1
lea ecx, [esp + 0x1064c]
push str.ContainerID
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x432e64
mov byte [esp + 0x3a], 1
test bl, bl
je 0x4331de
xor edi, edi
mov dword [esp + 0x1c], edi
cmp word [esp + 0xf814], di
je 0x432ecd
cmp word [esp + 0xfe2c], di
je 0x432ecd
push 0x82c
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x18
test eax, eax
je 0x432ebd
lea edx, [esp + 0xfe2c]
push edx
lea ecx, [esp + 0xf818]
push ecx
push edi
mov ecx, eax
call fcn.0044ab50
jmp 0x432ebf
xor eax, eax
mov byte [esp + 0x1f330], 0x16
mov edi, eax
mov dword [esp + 0x1c], eax
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x24], eax
mov byte [esp + 0x1f330], 0x19
test eax, eax
je 0x432f0c
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x38]
push edi
lea ecx, [esp + 0xe1c4]
push ecx
push edx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
mov dword [esp + 0x54], eax
jmp 0x432f12
xor esi, esi
mov dword [esp + 0x54], esi
mov byte [esp + 0x1f330], 0x16
test esi, esi
je 0x4331ca
lea ecx, [esp + 0x210]
call fcn.004031d0
lea eax, [esp + 0x210]
push eax
lea ecx, [esp + 0xe1c0]
push ecx
mov ecx, esi
mov byte [esp + 0x1f338], 0x1a
call fcn.00411d50
mov dword [ebp + 0x480], 1
mov dword [esp + 0x3c], 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 [eax + edx], cx
add eax, 2
test cx, cx
jne 0x432f73
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x11490]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x11498]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x432fb7
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea edx, [esp + 0x48]
push edx
mov edx, dword [ebx + 0x260]
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x11490]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebx + 0x260]
push eax
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
mov ecx, dword [esp + 0xc4]
xor ebp, ebp
cmp dword [esp + 0x3c], ebp
mov dword [esp + 0x24], ecx
jle 0x433151
nop
cmp byte [esp + 0x2b], 0
mov byte [esp + 0x3b], 0
je 0x43306f
mov edx, dword [esp + 0x210]
mov eax, dword [edx + ebp*8]
xor esi, esi
cmp dword [esp + 0x24], esi
lea edi, [eax + 0x208]
jle 0x433146
jmp 0x433040
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*8]
push eax
push edi
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43305d
mov byte [esp + 0x3b], 1
inc esi
cmp esi, dword [esp + 0x24]
jl 0x433040
cmp byte [esp + 0x3b], 0
je 0x433146
mov ecx, dword [esp + 0x210]
mov eax, dword [ecx + ebp*8]
lea edx, [eax + 0x108c]
push edx
lea ecx, [eax + 0xe84]
push ecx
movzx ecx, word [eax + 0xc78]
lea edx, [eax + 0xc7c]
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 + 0x114bc]
push str.__s____s____s____s____s____s___d__d._d._d._d___s____s____s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x114c4]
add esp, 0x40
mov dword [esp + 0x44], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433101
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0x3c]
jl 0x433010
lea ecx, [esp + 0x210]
call fcn.004031f0
push 0
lea eax, [esp + 0x48]
push eax
push 8
mov dword [esp + 0x50], 0
mov ecx, dword [ebx + 0x260]
push 0x46e518
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.00412150
push esi
call fcn.0044ad0a
add esp, 4
lea ecx, [esp + 0x210]
mov byte [esp + 0x1f330], 0x16
call fcn.00404b90
mov edi, dword [esp + 0x1c]
mov ebp, ebx
test edi, edi
je 0x4331de
mov ecx, edi
call fcn.0043d490
push edi
call fcn.0044ad0a
add esp, 4
cmp byte [esp + 0x42], 0
je 0x4334f6
lea ecx, [esp + 0x168]
call fcn.004031d0
mov bl, 0x1b
push 0x470
mov byte [esp + 0x1f334], bl
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x1c
test eax, eax
je 0x433230
push 0
push 0
push 0
mov ecx, eax
call fcn.00404c60
mov ecx, eax
mov dword [esp + 0x3c], eax
jmp 0x433236
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x1f330], bl
test ecx, ecx
je 0x4334e2
xor eax, eax
cmp byte [esp + 0x33], al
je 0x433252
mov eax, 2
push eax
lea eax, [esp + 0x16c]
push eax
push str.Image
push 7
lea edx, [esp + 0xe1cc]
push edx
call fcn.00403290
mov eax, dword [esp + 0x16c]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x24], 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 0x4332a0
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x11490]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x11498]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4332e4
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0xc4]
xor ebp, ebp
cmp dword [esp + 0x24], ebp
mov dword [esp + 0x1c], eax
jle 0x433481
lea esp, [esp]
cmp byte [esp + 0x2b], 0
mov byte [esp + 0x3b], 0
je 0x43339f
mov ecx, dword [esp + 0x168]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x433476
jmp 0x433370
mov edx, dword [esp + 0xc0]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43338d
mov byte [esp + 0x3b], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x433370
cmp byte [esp + 0x3b], 0
je 0x433476
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 + 0x114bc]
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 + 0x114c4]
add esp, 0x40
mov dword [esp + 0x44], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433431
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0x24]
jl 0x433340
lea ecx, [esp + 0x168]
call fcn.004031f0
push 0
lea eax, [esp + 0x48]
push eax
push 8
mov dword [esp + 0x50], 0
mov ecx, dword [ebx + 0x260]
push 0x46e518
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 + 0x3c]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x168]
mov byte [esp + 0x1f330], 0x16
call fcn.00404b90
cmp byte [esp + 0x4b], 0
je 0x433816
lea ecx, [esp + 0x1b0]
call fcn.004031d0
mov bl, 0x1d
push 0x470
mov byte [esp + 0x1f334], bl
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x1e
test eax, eax
je 0x433548
push 0
push 0
push 0
mov ecx, eax
call fcn.00404c60
mov ecx, eax
mov dword [esp + 0x3c], eax
jmp 0x43354e
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x1f330], bl
test ecx, ecx
je 0x433802
xor eax, eax
cmp byte [esp + 0x33], al
je 0x43356a
mov eax, 2
push eax
lea eax, [esp + 0x1b4]
push eax
push 0x466de8
push 7
lea edx, [esp + 0xe1cc]
push edx
call fcn.00403290
mov eax, dword [esp + 0x1b4]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x24], 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 0x4335b4
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x11490]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x11498]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x433600
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433600
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0xc4]
xor ebp, ebp
cmp dword [esp + 0x24], ebp
mov dword [esp + 0x1c], eax
jle 0x4337a1
jmp 0x433660
cmp byte [esp + 0x2b], 0
mov byte [esp + 0x3b], 0
je 0x4336bf
mov ecx, dword [esp + 0x1b0]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x433796
jmp 0x433690
mov edx, dword [esp + 0xc0]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4336ad
mov byte [esp + 0x3b], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x433690
cmp byte [esp + 0x3b], 0
je 0x433796
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 + 0x114bc]
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 + 0x114c4]
add esp, 0x40
mov dword [esp + 0x44], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433751
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0x24]
jl 0x433660
lea ecx, [esp + 0x1b0]
call fcn.004031f0
push 0
lea eax, [esp + 0x48]
push eax
push 8
mov dword [esp + 0x50], 0
mov ecx, dword [ebx + 0x260]
push 0x46e518
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 + 0x3c]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x1b0]
mov byte [esp + 0x1f330], 0x16
call fcn.00404b90
cmp byte [esp + 0x52], 0
je 0x433b36
lea ecx, [esp + 0x198]
call fcn.004031d0
mov bl, 0x1f
push 0x470
mov byte [esp + 0x1f334], bl
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x20
test eax, eax
je 0x433868
push 0
push 0
push 0
mov ecx, eax
call fcn.00404c60
mov ecx, eax
mov dword [esp + 0x3c], eax
jmp 0x43386e
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x1f330], bl
test ecx, ecx
je 0x433b22
xor eax, eax
cmp byte [esp + 0x33], al
je 0x43388a
mov eax, 2
push eax
lea eax, [esp + 0x19c]
push eax
push str.WSDPrintDevice
push 7
lea edx, [esp + 0xe1cc]
push edx
call fcn.00403290
mov eax, dword [esp + 0x19c]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x24], 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 0x4338d4
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x11490]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x11498]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x433920
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433920
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0xc4]
xor ebp, ebp
cmp dword [esp + 0x24], ebp
mov dword [esp + 0x1c], eax
jle 0x433ac1
jmp 0x433980
cmp byte [esp + 0x2b], 0
mov byte [esp + 0x52], 0
je 0x4339df
mov ecx, dword [esp + 0x198]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x433ab6
jmp 0x4339b0
mov edx, dword [esp + 0xc0]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4339cd
mov byte [esp + 0x52], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x4339b0
cmp byte [esp + 0x52], 0
je 0x433ab6
mov eax, dword [esp + 0x198]
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 + 0x114bc]
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 + 0x114c4]
add esp, 0x40
mov dword [esp + 0x44], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433a71
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0x24]
jl 0x433980
lea ecx, [esp + 0x198]
call fcn.004031f0
push 0
lea eax, [esp + 0x48]
push eax
push 8
mov dword [esp + 0x50], 0
mov ecx, dword [ebx + 0x260]
push 0x46e518
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 + 0x3c]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x198]
mov byte [esp + 0x1f330], 0x16
call fcn.00404b90
cmp byte [esp + 0x51], 0
je 0x433e6b
lea ecx, [esp + 0x150]
call fcn.004031d0
mov bl, 0x21
push 0x470
mov byte [esp + 0x1f334], bl
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x22
test eax, eax
je 0x433b88
push 0
push 0
push 0
mov ecx, eax
call fcn.00404c60
mov ecx, eax
mov dword [esp + 0x3c], eax
jmp 0x433b8e
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x1f330], bl
test ecx, ecx
je 0x433e57
xor eax, eax
cmp byte [esp + 0x33], al
je 0x433baa
mov eax, 2
push eax
lea eax, [esp + 0x154]
push eax
push str.System
push 7
lea edx, [esp + 0xe1cc]
push edx
call fcn.00403290
mov eax, dword [esp + 0x154]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x24], 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 [eax + ecx], dx
add eax, 2
test dx, dx
jne 0x433bf4
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x11490]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x11498]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x433c40
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433c40
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0xc4]
xor ebp, ebp
cmp dword [esp + 0x24], ebp
mov dword [esp + 0x1c], eax
jle 0x433df6
jmp 0x433ca0
cmp byte [esp + 0x2b], 0
mov byte [esp + 0x51], 0
je 0x433cff
mov ecx, dword [esp + 0x150]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x433deb
jmp 0x433cd0
mov edx, dword [esp + 0xc0]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x433ced
mov byte [esp + 0x51], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x433cd0
cmp byte [esp + 0x51], 0
je 0x433deb
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 + 0x114bc]
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 + 0x114c4]
add esp, 0x40
mov dword [esp + 0x44], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433d91
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0x11484]
push eax
push str.System___s__n
call fcn.0043e2c0
add esp, 8
inc ebp
cmp ebp, dword [esp + 0x24]
jl 0x433ca0
lea ecx, [esp + 0x150]
call fcn.004031f0
push 0
lea ecx, [esp + 0x48]
push ecx
push 8
mov dword [esp + 0x50], 0
mov edx, dword [ebx + 0x260]
push 0x46e518
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 + 0x3c]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x150]
mov byte [esp + 0x1f330], 0x16
call fcn.00404b90
cmp byte [esp + 0x3a], 0
je 0x43419b
lea ecx, [esp + 0x138]
call fcn.004031d0
mov bl, 0x23
push 0x470
mov byte [esp + 0x1f334], bl
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f330], 0x24
test eax, eax
je 0x433ebd
push 0
push 0
push 0
mov ecx, eax
call fcn.00404c60
mov ecx, eax
mov dword [esp + 0x3c], eax
jmp 0x433ec3
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov byte [esp + 0x1f330], bl
test ecx, ecx
je 0x434187
xor eax, eax
cmp byte [esp + 0x33], al
je 0x433edf
mov eax, 2
push eax
lea edx, [esp + 0x13c]
push edx
lea eax, [esp + 0x15b84]
push eax
push 0x24
lea edx, [esp + 0xe1cc]
push edx
call fcn.00403290
mov eax, dword [esp + 0x13c]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x24], 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 0x433f30
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x11490]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x11498]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433f74
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0xc4]
xor ebp, ebp
cmp dword [esp + 0x24], ebp
mov dword [esp + 0x1c], eax
jle 0x434126
lea esp, [esp]
cmp byte [esp + 0x2b], 0
mov byte [esp + 0x3a], 0
je 0x43402f
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x43411b
jmp 0x434000
mov edx, dword [esp + 0xc0]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43401d
mov byte [esp + 0x3a], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x434000
cmp byte [esp + 0x3a], 0
je 0x43411b
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 + 0x114bc]
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 + 0x114c4]
add esp, 0x40
mov dword [esp + 0x44], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4340c1
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x11490]
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 + 0x11484]
push eax
push str.Device_By_Container_ID___s__n
call fcn.0043e2c0
add esp, 8
inc ebp
cmp ebp, dword [esp + 0x24]
jl 0x433fd0
lea ecx, [esp + 0x138]
call fcn.004031f0
push 0
lea ecx, [esp + 0x48]
push ecx
push 8
mov dword [esp + 0x50], 0
mov edx, dword [ebx + 0x260]
push 0x46e518
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 + 0x3c]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x138]
mov byte [esp + 0x1f330], 0x16
call fcn.00404b90
cmp byte [esp + 0x17], 0
jne 0x4341d2
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 0x4341c3
lea ecx, [esp + 0x1e0]
call fcn.004031f0
lea ecx, [esp + 0xc0]
call fcn.004031f0
lea ecx, [esp + 0xc0]
mov byte [esp + 0x1f330], 0x15
call fcn.00404b90
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x1f330], 0xffffffff
call fcn.00404b90
lea ecx, [esp + 0xedec]
push str.ADDDRV
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4347b1
mov byte [esp + 0x3a], al
cmp word [esp + 0xe3c4], ax
je 0x434781
cmp word [esp + 0xe5cc], ax
je 0x434781
xor edi, edi
mov dword [esp + 0x24], edi
cmp word [esp + 0xf814], di
je 0x4342af
push 0x82c
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 0x25
test eax, eax
je 0x43429c
lea edx, [esp + 0xfe2c]
push edx
lea ecx, [esp + 0xf818]
push ecx
push edi
mov ecx, eax
call fcn.0044ab50
jmp 0x43429e
xor eax, eax
mov dword [esp + 0x1f330], 0xffffffff
mov edi, eax
mov dword [esp + 0x24], eax
push 0x434
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 0x26
test eax, eax
je 0x4342e4
push 0
lea edx, [esp + 0xe5d0]
push edx
mov ecx, eax
call fcn.00406f80
mov ebx, eax
jmp 0x4342e6
xor ebx, ebx
push str.Printer
mov ecx, ebx
mov dword [esp + 0x1f334], 0xffffffff
call fcn.00406300
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43460c
push 0x11c
push eax
lea eax, [esp + 0x290]
push eax
call fcn.0044ac90
add esp, 0xc
lea ecx, [esp + 0x288]
push ecx
mov dword [esp + 0x28c], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test byte [esp + 0x3a0], 0x40
je 0x4344b8
xor eax, eax
push 0x44
push eax
lea edx, [esp + 0x24c]
push edx
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
call fcn.0044ac90
mov eax, 1
add esp, 0xc
cmp word [esp + 0xe1bc], 0
mov dword [esp + 0x244], 0x44
mov word [esp + 0x274], ax
mov dword [esp + 0x270], eax
je 0x4343de
lea ecx, [esp + 0xe5cc]
push ecx
lea edx, [esp + 0xf200]
push edx
lea eax, [esp + 0xe3cc]
push eax
lea ecx, [esp + 0xe1c8]
push ecx
lea edx, [esp + 0x1d2f4]
push str.rundll32_printui.dll_PrintUIEntry__ia__K__c_s__m___s___h___s___v_3__f___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
jmp 0x43440c
lea eax, [esp + 0xe5cc]
push eax
lea ecx, [esp + 0xf200]
push ecx
lea edx, [esp + 0xe3cc]
push edx
lea eax, [esp + 0x1d2f0]
push str.rundll32_printui.dll_PrintUIEntry__ia__K__m___s___h___s___v_3__f___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
lea ecx, [esp + 0x1d2e4]
push ecx
push str.Command____s____d_n
call fcn.0043e2c0
add esp, 8
lea edx, [esp + 0x104]
push edx
lea eax, [esp + 0x248]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x1d304]
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x43449b
mov esi, dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [esp + 0xb4], 0
mov edi, 0x103
jmp 0x434470
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x104]
lea edx, [esp + 0xb4]
push edx
push eax
call esi
cmp dword [esp + 0xb4], edi
je 0x434470
jmp 0x434608
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
push str.CreateProcess_failure____ld_n
call fcn.0043e2c0
add esp, 8
call esi
jmp 0x43460c
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 0x27
test eax, eax
je 0x4344f6
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edi
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x4344f8
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x43460c
lea edx, [esp + 0xf1fc]
push edx
lea eax, [esp + 0xe1c0]
push eax
mov ecx, esi
call fcn.0040f280
xor edi, edi
cmp byte [esp + 0x6c], 0
je 0x434530
mov edi, 1
cmp byte [esp + 0x5f], 0
je 0x43453a
or edi, 2
cmp byte [esp + 0x43], 0
je 0x434544
or edi, 4
cmp word [esp + 0xe1bc], 0
je 0x43458b
push str.use_InstallPrinterDriverViaSvc___n
call fcn.0043e2c0
mov edx, dword [esp + 0x6c]
add esp, 4
push edi
lea ecx, [esp + 0xf200]
push ecx
push edx
lea eax, [esp + 0xe3d0]
push eax
lea ecx, [esp + 0xe5dc]
push ecx
lea edx, [esp + 0xe1d0]
push edx
mov ecx, esi
call fcn.00412550
jmp 0x4345bf
push str.use_InstallPrinterDriver___n
call fcn.0043e2c0
mov ecx, dword [esp + 0x6c]
add esp, 4
push edi
lea eax, [esp + 0xf200]
push eax
push ecx
lea edx, [esp + 0xe3d0]
push edx
lea eax, [esp + 0xe5dc]
push eax
push 0
mov ecx, esi
call fcn.00414430
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4345ef
lea ecx, [esp + 0xe5cc]
push ecx
lea edx, [esp + 0xe1c0]
push edx
mov ecx, esi
call fcn.0040d6e0
mov byte [esp + 0x3a], 1
mov dword [ebp + 0x47c], 0
jmp 0x4345f8
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
mov edi, dword [esp + 0x24]
push str.Image
mov ecx, ebx
call fcn.00406300
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43471c
push 0x470
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 0x28
test eax, eax
je 0x434660
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00404c60
mov esi, eax
jmp 0x434662
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x43471c
xor eax, eax
jmp 0x434680
movzx ecx, word [eax + str.ScannerAddress]
mov word [esp + eax + 0x3a8], cx
add eax, 2
test cx, cx
jne 0x434680
xor eax, eax
cmp word [esp + 0x10a5c], ax
je 0x4346ca
jmp 0x4346b0
movzx ecx, word [esp + eax + 0x10a5c]
mov word [esp + eax + 0x5b0], cx
add eax, 2
test cx, cx
jne 0x4346b0
jmp 0x4346d2
mov word [esp + 0x5b0], ax
lea ecx, [esp + 0x3a4]
push ecx
lea edx, [esp + 0xe3c8]
push edx
lea eax, [esp + 0xe5d4]
push eax
lea ecx, [esp + 0xe1c8]
push ecx
mov ecx, esi
call fcn.004023c0
xor edx, edx
test eax, eax
setne dl
mov ecx, esi
mov dword [ebp + 0x480], edx
mov dword [ebp + 0x47c], eax
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
test edi, edi
je 0x434730
mov ecx, edi
call fcn.0043d490
push edi
call fcn.0044ad0a
add esp, 4
cmp byte [esp + 0x3a], 0
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
je 0x434761
mov eax, str.ADDDRV_driver_installed.
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x434750
jmp 0x4347b1
mov eax, str.ADDDRV_installation_failed
sub edx, eax
jmp 0x434770
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x434770
jmp 0x4347b1
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 [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4347a2
lea eax, [esp + 0xedec]
push str.ADDPRN
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x434be1
cmp word [esp + 0xe3c4], ax
je 0x434be1
cmp word [esp + 0x10444], ax
je 0x434be1
xor esi, esi
mov dword [esp + 0x1c], esi
cmp word [esp + 0xf814], si
je 0x434847
push 0x82c
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 0x29
test eax, eax
je 0x434834
lea ecx, [esp + 0xfe2c]
push ecx
lea edx, [esp + 0xf818]
push edx
push esi
mov ecx, eax
call fcn.0044ab50
jmp 0x434836
xor eax, eax
mov dword [esp + 0x1f330], 0xffffffff
mov esi, eax
mov dword [esp + 0x1c], eax
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x24], eax
mov dword [esp + 0x1f330], 0x2a
test eax, eax
je 0x434885
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push esi
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov edi, eax
jmp 0x434887
xor edi, edi
mov dword [esp + 0x1f330], 0xffffffff
test edi, edi
je 0x434bcd
cmp word [esp + 0xe1bc], 0
je 0x4348bc
lea edx, [esp + 0xf1fc]
push edx
lea eax, [esp + 0xe1c0]
push eax
mov ecx, edi
call fcn.0040f280
cmp word [esp + 0xebe4], 0
jne 0x4348e8
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0xe3c4]
mov word [esp + eax + 0xebe4], cx
add eax, 2
test cx, cx
jne 0x4348d0
cmp word [esp + 0xf1fc], 0
jne 0x434947
lea ecx, [esp + 0xe1bc]
push ecx
mov ecx, dword [ebp + 0x21c]
call fcn.00447020
cmp eax, 0x100
jge 0x434929
xor eax, eax
nop
movzx ecx, word [eax + str.Windows_NT_x86]
mov word [esp + eax + 0xf1fc], cx
add eax, 2
test cx, cx
jne 0x434910
jmp 0x434947
xor eax, eax
jmp 0x434930
movzx ecx, word [eax + str.Windows_x64]
mov word [esp + eax + 0xf1fc], cx
add eax, 2
test cx, cx
jne 0x434930
cmp word [esp + 0xe5cc], 0
push 0
je 0x434a5a
mov ebx, dword [esp + 0x6c]
push ebx
lea edx, [esp + 0xf204]
push edx
lea eax, [esp + 0xe3d0]
push eax
lea ecx, [esp + 0xe5dc]
push ecx
lea edx, [esp + 0xe1d0]
push edx
mov ecx, edi
call fcn.00412b60
mov esi, eax
test esi, esi
jne 0x434a41
cmp byte [esp + 0x6c], al
je 0x434997
lea esi, [eax + 1]
cmp byte [esp + 0x5f], 0
je 0x4349a1
or esi, 2
cmp byte [esp + 0x43], 0
je 0x4349ab
or esi, 4
cmp word [esp + 0xe1bc], 0
je 0x4349ee
push str.use_InstallPrinterDriverViaSvc___n
call fcn.0043e2c0
add esp, 4
push esi
lea eax, [esp + 0xf200]
push eax
push ebx
lea ecx, [esp + 0xe3d0]
push ecx
lea edx, [esp + 0xe5dc]
push edx
lea eax, [esp + 0xe1d0]
push eax
mov ecx, edi
call fcn.00412550
jmp 0x434a1e
push str.use_InstallPrinterDriver___n
call fcn.0043e2c0
add esp, 4
push esi
lea ecx, [esp + 0xf200]
push ecx
push ebx
lea edx, [esp + 0xe3d0]
push edx
lea eax, [esp + 0xe5dc]
push eax
push 0
mov ecx, edi
call fcn.00414430
mov esi, eax
test esi, esi
je 0x434b72
lea ecx, [esp + 0xe5cc]
push ecx
lea edx, [esp + 0xe1c0]
push edx
mov ecx, edi
call fcn.0040d6e0
jmp 0x434a82
lea eax, [esp + 0xe5cc]
push eax
lea ecx, [esp + 0xe1c0]
push ecx
mov ecx, edi
call fcn.0040d6e0
jmp 0x434a82
mov edx, dword [esp + 0x6c]
push edx
lea eax, [esp + 0xf204]
push eax
lea ecx, [esp + 0xe3d0]
push ecx
push 0
lea edx, [esp + 0xe1d0]
push edx
mov ecx, edi
call fcn.00412b60
mov esi, eax
test esi, esi
je 0x434b72
cmp word [esp + 0xe5cc], 0
je 0x434ac4
cmp word [esp + 0x10034], 0
jne 0x434ac4
push 0x466de0
lea eax, [esp + 0x10038]
push eax
lea ecx, [esp + 0xe3cc]
push ecx
lea edx, [esp + 0xe5d8]
push edx
mov ecx, edi
call fcn.004129a0
xor eax, eax
cmp byte [esp + 0x6c], al
je 0x434ad1
mov eax, 1
mov ecx, dword [esp + 0x84]
push eax
lea eax, [esp + 0x14b40]
push eax
mov eax, dword [esp + 0x68]
push ecx
lea edx, [esp + 0x14328]
push edx
push eax
lea ecx, [esp + 0x10458]
push ecx
lea edx, [esp + 0x1004c]
push edx
lea eax, [esp + 0xe3e0]
push eax
lea ecx, [esp + 0xec04]
push ecx
lea edx, [esp + 0xe1e0]
push edx
mov ecx, edi
call fcn.0040fc90
lea edx, [ebp + 0x484]
test eax, eax
je 0x434b51
mov eax, str.ADDPRN_printer_installed.
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 0x434b40
jmp 0x434baf
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 [edx + eax], cx
add eax, 2
test cx, cx
jne 0x434b61
jmp 0x434baf
cmp word [esp + 0xe5cc], 0
je 0x434b88
mov ecx, dword [edi + 0x24]
mov dword [ebp + 0x47c], ecx
jmp 0x434b92
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 [edx + eax], cx
add eax, 2
test cx, cx
jne 0x434ba0
mov ecx, edi
mov dword [ebp + 0x480], 1
call fcn.00412150
push edi
call fcn.0044ad0a
mov esi, dword [esp + 0x20]
add esp, 4
test esi, esi
je 0x434be1
mov ecx, esi
call fcn.0043d490
push esi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.PRINTTESTPAGE
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x434c55
push 0x206
push eax
lea ecx, [esp + 0x18806]
push ecx
mov word [esp + 0x18808], ax
call fcn.0044ac90
add esp, 0xc
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe5cc]
mov word [esp + eax + 0x187fc], cx
add eax, 2
test cx, cx
jne 0x434c20
cmp byte [esp + 0x73], cl
je 0x434c55
lea edx, [esp + 0xebe4]
push edx
lea eax, [esp + 0xe1c0]
push eax
mov ecx, ebp
call fcn.0042d3d0
lea ecx, [esp + 0xedec]
push str.SETPRN
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x434cbc
mov eax, dword [esp + 0x84]
lea edx, [esp + 0x14b3c]
push edx
mov edx, dword [esp + 0x64]
push eax
lea ecx, [esp + 0x14324]
push ecx
push edx
lea eax, [esp + 0x10454]
push eax
lea ecx, [esp + 0x15370]
push ecx
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0xebfc]
push edx
mov edx, dword [esp + 0x50]
lea eax, [esp + 0xe1d8]
push eax
push ecx
push edx
mov ecx, ebp
call fcn.0042d560
lea eax, [esp + 0xedec]
push str.SETPRNDATA
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x434d08
lea ecx, [esp + 0x171c4]
push ecx
mov ecx, dword [esp + 0x24]
push 4
lea edx, [esp + 0x1659c]
push edx
lea eax, [esp + 0xebf0]
push eax
mov eax, dword [esp + 0x44]
push ecx
lea edx, [esp + 0xe1d0]
push edx
push eax
mov ecx, ebp
call fcn.0042d6b0
lea ecx, [esp + 0xedec]
push str.RMVDRV
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x434e3f
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f330], 0x2b
test eax, eax
je 0x434d65
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x38]
xor edi, edi
push edi
lea ecx, [esp + 0xe1c4]
push ecx
push edx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x434d69
xor esi, esi
xor edi, edi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x434e17
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x6c]
push eax
push ecx
lea edx, [esp + 0xf204]
push edx
lea eax, [esp + 0xe3d0]
push eax
lea ecx, [esp + 0xe1cc]
push ecx
mov ecx, esi
call fcn.00414f60
mov ecx, 1
mov edx, ecx
sub edx, eax
mov dword [ebp + 0x480], edx
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ecx
lea edx, [ebp + 0x484]
cmp eax, edi
je 0x434de6
mov eax, str.RMVDRV_printer_driver_removed.
mov dword [ebp + 0x47c], edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x434dd5
jmp 0x434e05
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 0x434df6
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x434e3f
mov eax, str.RMVDRV_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x434e30
lea ecx, [esp + 0xedec]
push str.RMVPRN
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x434f91
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
xor edi, edi
mov dword [esp + 0x1f330], 0x2c
cmp eax, edi
je 0x434e96
movzx edx, byte [esp + 0x20]
mov ecx, dword [esp + 0x34]
push edi
push edx
push edi
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x434e98
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x434f61
cmp byte [esp + 0x6c], 0
mov byte [esp + 0x60], 0
je 0x434ebc
mov byte [esp + 0x60], 1
cmp byte [esp + 0x53], 0
mov edx, dword [esp + 0x60]
push edx
lea eax, [esp + 0xebe8]
lea ecx, [esp + 0xe1c0]
push eax
push ecx
mov ecx, esi
je 0x434ee1
call fcn.0040b770
jmp 0x434ee6
call fcn.004153a0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], 1
cmp eax, edi
je 0x434f21
mov eax, str.RMVPRN_printer_removed.
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], edi
sub edx, eax
jmp 0x434f10
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x434f10
jmp 0x434f4f
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x47c], edx
mov eax, str.RMVPRN_operation_failed.
lea edx, [ebp + 0x484]
sub edx, eax
jmp 0x434f40
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x434f40
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x434f93
mov eax, str.RMVPRN_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x434f80
jmp 0x434f93
xor edi, edi
lea eax, [esp + 0xedec]
push str.SETDEFPROF
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43519f
cmp word [esp + 0xebe4], di
je 0x435175
cmp word [esp + 0x132dc], di
je 0x435175
xor ebx, ebx
cmp word [esp + 0xf814], di
je 0x435021
push 0x82c
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f330], 0x2d
cmp eax, edi
je 0x435012
lea ecx, [esp + 0xfe2c]
push ecx
lea edx, [esp + 0xf818]
push edx
push edi
mov ecx, eax
call fcn.0044ab50
jmp 0x435014
xor eax, eax
mov dword [esp + 0x1f330], 0xffffffff
mov ebx, eax
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f330], 0x2e
cmp eax, edi
je 0x43505f
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push ebx
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x435061
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x435131
cmp word [esp + 0xe1bc], di
je 0x435095
lea edx, [esp + 0xf1fc]
push edx
lea eax, [esp + 0xe1c0]
push eax
mov ecx, esi
call fcn.0040f280
push edi
lea ecx, [esp + 0x15568]
push ecx
lea edx, [esp + 0x132e4]
push edx
lea eax, [esp + 0xebf0]
push eax
lea ecx, [esp + 0xe1cc]
push ecx
mov ecx, esi
call fcn.00410190
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], 1
cmp eax, edi
je 0x4350f3
mov eax, str.SETDEFPROF_printer_default_applied.
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4350e2
jmp 0x43511f
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, di
jne 0x435110
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x43515f
mov eax, str.SETDEFPROF_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435150
cmp ebx, edi
je 0x43519f
mov ecx, ebx
call fcn.0043d490
push ebx
call fcn.0044ad0a
add esp, 4
jmp 0x43519f
mov eax, str.SETDEFPROF_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435190
lea eax, [esp + 0xedec]
push str.ADDPROF
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43532f
cmp word [esp + 0xebe4], di
je 0x435301
cmp word [esp + 0x132dc], di
je 0x435301
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f330], 0x2f
cmp eax, edi
je 0x435216
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edi
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x435218
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x4352d3
cmp word [esp + 0xe1bc], di
je 0x43524c
lea edx, [esp + 0xf1fc]
push edx
lea eax, [esp + 0xe1c0]
push eax
mov ecx, esi
call fcn.0040f280
lea ecx, [esp + 0x132dc]
push ecx
lea edx, [esp + 0xebe8]
push edx
lea eax, [esp + 0xe1c4]
push eax
mov ecx, esi
call fcn.004109b0
mov ebx, 1
mov dword [esp + 0x2c], eax
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
cmp eax, edi
je 0x4352a2
mov eax, str.ADDPROF_printer_default_applied.
mov dword [ebp + 0x47c], edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435291
jmp 0x4352c1
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, di
jne 0x4352b2
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x435334
mov eax, str.ADDPROF_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4352f0
jmp 0x43532f
mov eax, str.SETDEFPROF_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435320
mov ebx, 1
lea edx, [esp + 0xedec]
push str.ENABLEPLUGIN
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4354af
cmp word [esp + 0xebe4], di
je 0x435481
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f330], 0x30
cmp eax, edi
je 0x43539d
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edi
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x43539f
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x435455
cmp word [esp + 0xe1bc], di
je 0x4353d3
lea edx, [esp + 0xf1fc]
push edx
lea eax, [esp + 0xe1c0]
push eax
mov ecx, esi
call fcn.0040f280
lea ecx, [esp + 0x1576c]
push ecx
lea edx, [esp + 0xebe8]
push edx
lea eax, [esp + 0xe1c4]
push eax
mov ecx, esi
call fcn.0040b8d0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
cmp eax, edi
je 0x435424
mov eax, str.ENABLEPLUGIN_printer_default_applied.
mov dword [ebp + 0x47c], edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435413
jmp 0x435443
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 [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x435434
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x4354af
mov eax, str.ENABLEPLUGIN_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x435470
jmp 0x4354af
mov eax, str.ENABLEPLUGIN_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x4354a0
lea edx, [esp + 0xedec]
push str.DISABLEPLUGIN
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43566f
cmp word [esp + 0xebe4], di
je 0x435641
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f330], 0x31
cmp eax, edi
je 0x435518
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edi
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x43551a
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x435612
cmp word [esp + 0xe1bc], di
je 0x43554e
lea edx, [esp + 0xf1fc]
push edx
lea eax, [esp + 0xe1c0]
push eax
mov ecx, esi
call fcn.0040f280
push 0x206
lea edx, [esp + 0x16392]
xor ecx, ecx
push edi
push edx
mov word [esp + 0x16398], cx
call fcn.0044ac90
add esp, 0xc
xor eax, eax
movzx ecx, word [esp + eax + 0xfa1c]
mov word [esp + eax + 0x1638c], cx
add eax, 2
cmp cx, di
jne 0x435570
lea eax, [esp + 0x1638c]
push eax
lea ecx, [esp + 0xebe8]
push ecx
lea edx, [esp + 0xe1c4]
push edx
mov ecx, esi
call fcn.0040bfd0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
cmp eax, edi
je 0x4355e1
mov eax, str.DISABLEPLUGIN_printer_default_applied.
mov dword [ebp + 0x47c], edi
sub edx, eax
jmp 0x4355d0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x4355d0
jmp 0x435600
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 [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x4355f1
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x43566f
mov eax, str.DISABLEPLUGIN_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
jmp 0x435630
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x435630
jmp 0x43566f
mov eax, str.DISABLEPLUGIN_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x435660
lea ecx, [esp + 0xedec]
push str.ISPLUGON
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43582f
cmp word [esp + 0xebe4], di
je 0x435801
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f330], 0x32
cmp eax, edi
je 0x4356d8
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x38]
push edi
lea ecx, [esp + 0xe1c4]
push ecx
push edx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x4356da
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x4357d1
cmp word [esp + 0xe1bc], di
je 0x43570e
lea eax, [esp + 0xf1fc]
push eax
lea ecx, [esp + 0xe1c0]
push ecx
mov ecx, esi
call fcn.0040f280
push 0x206
lea eax, [esp + 0x167a2]
xor edx, edx
push edi
push eax
mov word [esp + 0x167a8], dx
call fcn.0044ac90
add esp, 0xc
xor eax, eax
movzx ecx, word [esp + eax + 0xfa1c]
mov word [esp + eax + 0x1679c], cx
add eax, 2
cmp cx, di
jne 0x435730
lea ecx, [esp + 0x1679c]
push ecx
lea edx, [esp + 0xebe8]
push edx
lea eax, [esp + 0xe1c4]
push eax
mov ecx, esi
call fcn.0040c600
lea edx, [ebp + 0x484]
sub edx, 0x4626e4
mov dword [esp + 0x2c], eax
cmp eax, edi
mov dword [ebp + 0x480], ebx
mov eax, 0x4626e4
je 0x4357a1
mov dword [ebp + 0x47c], ebx
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x435790
jmp 0x4357bf
mov dword [ebp + 0x47c], edi
jmp 0x4357b0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x4357b0
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x43582f
mov eax, str.ISPLUGON_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4357f0
jmp 0x43582f
mov eax, str.ISPLUGON_invalid_data
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435820
lea ecx, [esp + 0xedec]
push str.ADDTCPPORT
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x435924
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f330], 0x33
cmp eax, edi
je 0x43588a
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x38]
push edi
lea ecx, [esp + 0xe1c4]
push ecx
push edx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x43588c
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x435924
mov eax, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x10a60]
push ecx
lea edx, [esp + 0x1044c]
push edx
lea eax, [esp + 0xe1c8]
push eax
mov ecx, esi
call fcn.0040d8c0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
cmp eax, edi
je 0x4358f5
mov eax, str.ADDTCPPORT_successful
mov dword [ebp + 0x47c], edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4358e4
jmp 0x435914
mov ecx, dword [esi + 0x24]
mov eax, str.ADDTCPPORT_failed
mov dword [ebp + 0x47c], ecx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435905
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.UPDATETCPPORT
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x435a20
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f330], 0x34
cmp eax, edi
je 0x43597f
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edi
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x435981
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x435a20
mov edx, dword [esp + 0x74]
push edx
lea eax, [esp + 0x10a60]
push eax
lea ecx, [esp + 0x1044c]
push ecx
lea edx, [esp + 0xe1c8]
push edx
mov ecx, esi
call fcn.0040db40
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
cmp eax, edi
je 0x4359f1
mov eax, str.UPDATETCPPORT_successful
mov dword [ebp + 0x47c], edi
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4359e0
jmp 0x435a10
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.UPDATETCPPORT_failed
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435a01
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
lea ecx, [esp + 0xedec]
push str.ADDTCPLPRPORT
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x435b2f
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f330], 0x35
cmp eax, edi
je 0x435a7b
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x38]
push edi
lea ecx, [esp + 0xe1c4]
push ecx
push edx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x435a7d
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x435b2f
mov eax, dword [esp + 0x4c]
push eax
lea ecx, [esp + 0x16bb0]
push ecx
lea edx, [esp + 0x10a64]
push edx
lea eax, [esp + 0x10450]
push eax
lea ecx, [esp + 0xe1cc]
push ecx
mov ecx, esi
call fcn.0040ddc0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
cmp eax, edi
je 0x435af1
mov eax, str.ADDTCPLPRPORT_successful
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], edi
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435ae0
jmp 0x435b1f
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x47c], edx
mov eax, str.ADDTCPLPRPORT_failed
lea edx, [ebp + 0x484]
sub edx, eax
jmp 0x435b10
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435b10
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
lea eax, [esp + 0xedec]
push str.ADDPORTAPI
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x435c03
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x36
cmp eax, edi
je 0x435b82
push edi
push edi
lea ecx, [esp + 0xe1c4]
push ecx
push edi
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x435b84
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x435c03
lea edx, [esp + 0x10c64]
push edx
mov ecx, esi
call fcn.0040e1b0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
cmp eax, edi
je 0x435bd4
mov eax, str.ADDPORTAPI_successful
mov dword [ebp + 0x47c], edi
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435bc3
jmp 0x435bf3
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.ADDPORTAPI_failed
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x435be4
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
lea ecx, [esp + 0xedec]
push str.DELETEMONITORAPI
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4361ff
lea edx, [esp + 0x10c64]
push edx
push str.DELETEMONITORAPI____s__n
call fcn.0043e2c0
add esp, 8
cmp byte [esp + 0x20], 0
jne 0x4361ff
cmp word [esp + 0x10c64], 0
je 0x4361ff
lea eax, [esp + 0x88]
push eax
xor edi, edi
lea ecx, [esp + 0x80]
push ecx
push edi
push edi
push 2
push edi
mov dword [esp + 0x94], edi
mov dword [esp + 0xa0], edi
call sub.WINSPOOL.DRV_EnumPortsW
mov eax, dword [esp + 0x7c]
xor ebx, ebx
mov dword [esp + 0x60], ebx
cmp eax, edi
jbe 0x435d1f
push eax
call fcn.0044b473
mov ebx, eax
add esp, 4
mov dword [esp + 0x60], ebx
cmp ebx, edi
je 0x435d1f
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x88]
push edx
lea eax, [esp + 0x80]
push eax
push ecx
push ebx
push 2
push edi
call sub.WINSPOOL.DRV_EnumPortsW
test eax, eax
je 0x435d1f
cmp dword [esp + 0x88], edi
jle 0x435d1f
lea esi, [ebx + 8]
cmp dword [esi - 8], 0
je 0x435d10
mov edx, dword [esi - 8]
push edx
push str.Port_Name___s__n
call fcn.0043e2c0
mov eax, dword [esi - 4]
push eax
push str.__Monitor__s__n
call fcn.0043e2c0
mov ecx, dword [esi]
push ecx
push str.__Desc___s__n
call fcn.0043e2c0
mov edx, dword [esi + 4]
push edx
push str.__Type___d__n
call fcn.0043e2c0
add esp, 0x20
inc edi
add esi, 0x14
cmp edi, dword [esp + 0x88]
jl 0x435cd0
xor edi, edi
lea eax, [esp + 0xa0]
push eax
lea ecx, [esp + 0x80]
push ecx
push edi
push edi
push 2
push edi
push 2
mov dword [esp + 0x98], edi
mov dword [esp + 0xbc], edi
call sub.WINSPOOL.DRV_EnumPrintersW
mov eax, dword [esp + 0x7c]
cmp eax, edi
jbe 0x436075
push eax
call fcn.0044b473
add esp, 4
lea edx, [esp + 0xa0]
push edx
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x80]
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 0x43605e
cmp dword [esp + 0xa0], 0
mov dword [esp + 0x64], 0
jle 0x43605e
mov ebp, dword [esp + 0x1c]
add ebp, 0xc
xor ebx, ebx
lea esp, [esp]
mov eax, dword [ebp - 8]
push eax
push str.pPrnInfo_i_.pPrinterName____s__n
call fcn.0043e2c0
mov eax, dword [ebp]
add esp, 8
cmp eax, ebx
je 0x435dd6
push eax
push str.pPrnInfo_i_.pPortName____s__n
call fcn.0043e2c0
add esp, 8
cmp dword [esp + 0x88], ebx
mov dword [esp + 0x4c], ebx
jle 0x436045
mov edi, dword [esp + 0x60]
mov dword [esp + 0x74], edi
nop
cmp dword [edi], ebx
je 0x436028
mov eax, dword [ebp]
cmp eax, ebx
je 0x436028
cmp dword [edi + 4], ebx
je 0x436028
mov ecx, dword [edi]
push eax
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x436028
mov eax, dword [edi + 4]
lea edx, [esp + 0x10c64]
push edx
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x436028
mov edx, dword [ebp]
mov eax, dword [ebp - 8]
lea ecx, [esp + 0x10c64]
push ecx
push edx
push eax
push str.__Found___s__With_Port___s__Monitor___s__n
call fcn.0043e2c0
push 0x40e
lea edx, [esp + 0x1b0b2]
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 + 0x1b0b8], cx
call fcn.0044ac90
mov ecx, dword [ebp - 8]
add esp, 0x1c
lea edx, [esp + 0x1b09c]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x435ea4
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x94]
push ecx
lea edx, [esp + 0x1b0a4]
push edx
call sub.WINSPOOL.DRV_OpenPrinterW
test eax, eax
je 0x436028
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x80]
push eax
push ebx
push ebx
push 2
push ecx
mov dword [esp + 0x94], ebx
call sub.WINSPOOL.DRV_GetPrinterW
mov eax, dword [esp + 0x80]
cmp eax, ebx
je 0x43601b
push eax
call fcn.0044b473
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x43601b
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x90]
lea edx, [esp + 0x80]
push edx
push eax
push esi
push 2
push ecx
call sub.WINSPOOL.DRV_GetPrinterW
cmp eax, ebx
jne 0x435fc6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x80]
push edx
mov edi, eax
push edi
push str.Get_failed_check_code__d__dwNeed__d__n
call fcn.0043e2c0
add esp, 0xc
cmp edi, 0x7a
jne 0x435fc2
push esi
call fcn.0044b468
mov eax, dword [esp + 0x84]
push eax
call fcn.0044b473
mov ecx, dword [esp + 0x84]
push ecx
mov esi, eax
push ebx
push esi
call fcn.0044ac90
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xa4]
add esp, 0x14
lea edx, [esp + 0x80]
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.0043e2c0
add esp, 8
mov edi, dword [esp + 0x74]
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 0x436005
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.0043e2c0
add esp, 0xc
jmp 0x436012
push str._SetPrinter_falied_n
call fcn.0043e2c0
add esp, 4
push esi
call fcn.0044b468
add esp, 4
mov edx, dword [esp + 0x90]
push edx
call sub.WINSPOOL.DRV_ClosePrinter
mov eax, dword [esp + 0x4c]
inc eax
add edi, 0x14
cmp eax, dword [esp + 0x88]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x74], edi
jl 0x435df0
mov eax, dword [esp + 0x64]
inc eax
add ebp, 0x54
cmp eax, dword [esp + 0xa0]
mov dword [esp + 0x64], eax
jl 0x435db0
mov eax, dword [esp + 0x1c]
push eax
call fcn.0044b468
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x64]
add esp, 4
xor edi, edi
cmp ebx, edi
je 0x436082
push ebx
call fcn.0044b468
add esp, 4
lea ecx, [esp + 0x10c64]
push ecx
push str.DeleteMonitor____s__n
call fcn.0043e2c0
add esp, 8
lea edx, [esp + 0x10c64]
push edx
push edi
push edi
call sub.WINSPOOL.DRV_DeleteMonitorW
test eax, eax
je 0x4360b1
xor esi, esi
jmp 0x436199
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DeleteMonitor____ld_n
call fcn.0043e2c0
push 0x34
call fcn.0044ad7f
add esp, 0xc
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x37
cmp eax, edi
je 0x4360ea
mov ecx, eax
call fcn.00447f10
mov esi, eax
jmp 0x4360ec
xor esi, esi
push 1
push 0x461a70
push 0
mov ecx, esi
mov dword [esp + 0x1f33c], 0xffffffff
call fcn.00447be0
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
nop
push 0x3e8
call ebx
push 0x461a70
push 0
mov ecx, esi
call fcn.00447e10
cmp eax, 1
je 0x436130
inc edi
cmp edi, 0xa
jl 0x436110
push 0
push 0
push 0x461a70
push 0
mov ecx, esi
call fcn.00447b10
xor edi, edi
push 0x3e8
call ebx
push 0x461a70
push 0
mov ecx, esi
call fcn.00447e10
cmp eax, 4
je 0x436164
inc edi
cmp edi, 0xa
jl 0x436144
test esi, esi
je 0x436178
mov ecx, esi
call fcn.00448160
push esi
call fcn.0044ad0a
add esp, 4
lea eax, [esp + 0x10c64]
push eax
push 0
push 0
call sub.WINSPOOL.DRV_DeleteMonitorW
test eax, eax
je 0x436191
xor esi, esi
jmp 0x436199
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.DeleteMonitor____ld_n
call fcn.0043e2c0
add esp, 8
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
test esi, esi
jne 0x4361e1
mov eax, str.DELETEMONITORAPI_successful
mov dword [ebp + 0x47c], esi
sub edx, eax
jmp 0x4361d0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4361d0
jmp 0x4361ff
mov eax, str.DELETEMONITORAPI_failed
mov dword [ebp + 0x47c], esi
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4361f0
lea ecx, [esp + 0xedec]
push str.ADDTGPORT
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4372df
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x38
test eax, eax
je 0x436259
mov edx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x38]
push 0
lea ecx, [esp + 0xe1c4]
push ecx
push edx
mov ecx, eax
call fcn.00413ce0
jmp 0x43625b
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x1f330], 0xffffffff
test eax, eax
je 0x4372df
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x1493e]
push ecx
mov word [esp + 0x14940], ax
call fcn.0044ac90
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x12ee2]
push eax
mov word [esp + 0x12ee4], dx
call fcn.0044ac90
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x13916]
push edx
mov word [esp + 0x13918], cx
call fcn.0044ac90
mov eax, dword [ebp + 0x21c]
add eax, 0x420
push eax
lea eax, [esp + 0x1495c]
push 0x104
push eax
call fcn.0044bf5b
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push str.TGTcpMon.dll
lea ecx, [esp + 0x14968]
push ecx
lea edx, [esp + 0x12f04]
push 0x461a90
push edx
call esi
add esp, 0x40
push str.TGTcpMonUI.dll
lea eax, [esp + 0x14938]
push eax
lea ecx, [esp + 0x138fc]
push 0x461a90
push ecx
call esi
mov ecx, dword [ebp + 0x21c]
add esp, 0x10
push 0
lea edx, [esp + 0x12ed0]
push edx
call fcn.004421d0
test al, al
jne 0x43637c
mov ecx, dword [ebp + 0x21c]
call fcn.00444240
push 0
test eax, eax
jne 0x436364
lea eax, [esp + 0x12ed0]
push eax
push str.32TGTcpMon.dll
jmp 0x436371
lea ecx, [esp + 0x12ed0]
push ecx
push str.64TGTcpMon.dll
mov ecx, dword [ebp + 0x21c]
call fcn.004449d0
mov ecx, dword [ebp + 0x21c]
push 0
lea edx, [esp + 0x138f8]
push edx
call fcn.004421d0
test al, al
jne 0x436411
mov ecx, dword [ebp + 0x21c]
call fcn.00444240
mov ecx, dword [ebp + 0x21c]
push 0
test eax, eax
jne 0x4363da
push str.32TGTcpMonUI.dll
call fcn.004421d0
test al, al
je 0x436404
mov ecx, dword [ebp + 0x21c]
push 0
lea eax, [esp + 0x138f8]
push eax
push str.32TGTcpMonUI.dll
call fcn.004449d0
jmp 0x436411
push str.64TGTcpMonUI.dll
call fcn.004421d0
test al, al
je 0x436404
push 0
lea ecx, [esp + 0x138f8]
push ecx
mov ecx, dword [ebp + 0x21c]
push str.64TGTcpMonUI.dll
call fcn.004449d0
jmp 0x436411
push str.TGTcpMonUI.dll_does_not_exist_on_src._n
call fcn.0043e2c0
add esp, 4
lea edx, [esp + 0xb8]
push edx
lea eax, [esp + 0xa8]
push eax
push 0
push 0
push 1
push 0
mov dword [esp + 0x44], 0
mov byte [esp + 0x6b], 0
call sub.WINSPOOL.DRV_EnumMonitorsW
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.0044b473
mov ecx, dword [esp + 0xa8]
add esp, 4
mov edi, eax
lea edx, [esp + 0xb8]
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 0x4364d8
mov ebx, dword [esp + 0xb8]
xor esi, esi
test ebx, ebx
jbe 0x4364d8
mov ecx, dword [edi + esi*4]
mov eax, str.TG_TCP_IP_Port
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4364ae
test dx, dx
je 0x4364aa
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4364ae
add eax, 4
add ecx, 4
test dx, dx
jne 0x436488
xor eax, eax
jmp 0x4364b3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4364be
inc esi
cmp esi, ebx
jb 0x436480
jmp 0x4364d8
push str.Installed_n
call fcn.0043e2c0
add esp, 4
mov byte [esp + 0x53], 1
mov dword [esp + 0x2c], 1
test edi, edi
je 0x4364e5
push edi
call fcn.0044b468
add esp, 4
cmp byte [esp + 0x53], 0
jne 0x4365a4
xor eax, eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
lea edx, [esp + 0x12ecc]
mov dword [esp + 0xa8], str.TG_TCP_IP_Port
mov dword [esp + 0xb0], edx
mov dword [esp + 0xac], str.Windows_NT_x86
mov ecx, dword [ebp + 0x21c]
call fcn.00444240
test eax, eax
je 0x436545
mov dword [esp + 0xac], str.Windows_x64
lea eax, [esp + 0xa8]
push eax
push 2
push 0
call sub.WINSPOOL.DRV_AddMonitorW
test eax, eax
je 0x43655e
xor esi, esi
jmp 0x436566
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.ADDTGPORT____ld_n
call fcn.0043e2c0
add esp, 8
cmp esi, 5
ja 0x436601
je 0x43658d
sub esi, 0
je 0x4365e2
sub esi, 2
jne 0x436611
push str.___The_remote_computer_maybe_NT4_machine._n
call fcn.0043e2c0
push str.___Try_to_install_Language_Monitor_through_service._n
call fcn.0043e2c0
add esp, 8
cmp dword [esp + 0x2c], 0
je 0x43729b
push 0x34
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x39
test eax, eax
je 0x436644
mov ecx, eax
call fcn.00447f10
mov edi, eax
mov dword [esp + 0x68], edi
jmp 0x436650
mov ecx, dword [esp + 0xa8]
push ecx
push str.___Successfully_add_new_Language_Monitor_____s_._n
call fcn.0043e2c0
add esp, 8
mov dword [esp + 0x2c], 1
jmp 0x4365af
cmp esi, 0xb7
je 0x436622
cmp esi, 0xbbe
je 0x436622
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.___ERROR___Fail_to_install_Language_Monitor____ld._n
jmp 0x43659c
mov edx, dword [esp + 0xa8]
push edx
push str.___The_specified_print_monitor_has_already_been_installed_____s_._n
call fcn.0043e2c0
add esp, 8
mov dword [esp + 0x2c], 1
jmp 0x4365af
mov dword [esp + 0x68], 0
mov edi, dword [esp + 0x68]
push str.spooler
or esi, 0xffffffff
push 0
mov ecx, edi
mov dword [esp + 0x1f338], esi
call fcn.004480a0
cmp eax, 4
jne 0x43667d
push 1
push str.spooler
push 0
mov ecx, edi
call fcn.00447fe0
push 0x1211c
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x3a
test eax, eax
je 0x4366b5
push 0
push 0
push str.TGPort.ini
mov ecx, eax
call fcn.00409e40
mov ebx, eax
mov dword [esp + 0x60], eax
jmp 0x4366bb
xor ebx, ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x1f330], esi
test ebx, ebx
je 0x43722b
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x128be]
push ecx
mov word [esp + 0x128c0], ax
call fcn.0044ac90
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x124ba]
push eax
mov word [esp + 0x124bc], dx
call fcn.0044ac90
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x12ce6]
push edx
mov word [esp + 0x12ce8], cx
call fcn.0044ac90
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x126da]
push ecx
mov word [esp + 0x126dc], ax
call fcn.0044ac90
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x11cbe]
push eax
mov word [esp + 0x11cc0], dx
call fcn.0044ac90
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x120da]
push edx
mov word [esp + 0x120dc], cx
call fcn.0044ac90
add esp, 0x48
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x11e96]
push ecx
mov word [esp + 0x11e98], ax
call fcn.0044ac90
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x122b2]
push eax
mov word [esp + 0x122b4], dx
call fcn.0044ac90
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x15176]
push edx
mov word [esp + 0x15178], cx
call fcn.0044ac90
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x14d72]
push ecx
mov word [esp + 0x14d74], ax
call fcn.0044ac90
add esp, 0x30
push 0
lea edx, [esp + 0x128b8]
push edx
push str.LoggingOption
push 0x46ebc4
mov ecx, ebx
call fcn.00409080
cmp word [esp + 0x128b4], 0
jne 0x436837
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [eax + 0x46ebc0]
mov word [esp + eax + 0x128b4], cx
add eax, 2
test cx, cx
jne 0x436820
push 0
lea eax, [esp + 0x124a8]
push eax
push 0x46ebac
push 0x46ebc4
mov ecx, ebx
call fcn.00409080
cmp word [esp + 0x124a4], 0
jne 0x436877
xor eax, eax
nop
movzx ecx, word [eax + 0x46eba8]
mov word [esp + eax + 0x124a4], cx
add eax, 2
test cx, cx
jne 0x436860
push 0
lea ecx, [esp + 0x12cc8]
push ecx
push str.RetryNumber
push 0x46ebc4
mov ecx, ebx
call fcn.00409080
cmp word [esp + 0x12cc4], 0
jne 0x4368b7
xor eax, eax
nop
movzx ecx, word [eax + 0x46eba8]
mov word [esp + eax + 0x12cc4], cx
add eax, 2
test cx, cx
jne 0x4368a0
push 0
lea edx, [esp + 0x126b0]
push edx
push str.MonitorSequence
push 0x46ebc4
mov ecx, ebx
call fcn.00409080
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x16fc6]
push ecx
mov word [esp + 0x16fc8], ax
call fcn.0044ac90
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea edx, [esp + 0x16fcc]
push str._sOption
push edx
mov dword [esp + 0x118], 0
call esi
add esp, 0x18
lea eax, [esp + 0x100]
push eax
lea ecx, [esp + 0x98]
push ecx
push 0
push 0x20006
push 0
push 0
push 0
lea edx, [esp + 0x16fd8]
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 0x436a40
lea eax, [esp + 0x128b4]
push eax
call fcn.0044b40b
lea ecx, [esp + 0x126b0]
push ecx
mov dword [esp + 0x104], eax
call fcn.0044b40b
lea edx, [esp + 0x124ac]
push edx
mov dword [esp + 0x100], eax
call fcn.0044b40b
mov dword [esp + 0xec], eax
lea eax, [esp + 0x12cd0]
push eax
call fcn.0044b40b
mov edx, dword [esp + 0xa4]
add esp, 0x10
push 4
lea ecx, [esp + 0x100]
push ecx
push 4
push 0
push str.LoggingOption
push edx
mov dword [esp + 0xf0], eax
call edi
mov ecx, dword [esp + 0x94]
push 4
lea eax, [esp + 0xe4]
push eax
push 4
push 0
push 0x46ebac
push ecx
call edi
mov eax, dword [esp + 0x94]
push 4
lea edx, [esp + 0xdc]
push edx
push 4
push 0
push str.RetryNumber
push eax
call edi
cmp word [esp + 0x126ac], 0
je 0x436a27
mov edx, dword [esp + 0x94]
push 4
lea ecx, [esp + 0xf8]
push ecx
push 4
push 0
push str.MonitorSequence
push edx
call edi
mov eax, dword [esp + 0x94]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x94], 0
mov dword [esp + 0x84], 1
jmp 0x436a50
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x11286]
push edx
mov word [esp + 0x11288], cx
call fcn.0044ac90
xor eax, eax
mov word [esp + 0x11c90], ax
xor ecx, ecx
mov word [esp + 0x122a8], ax
mov eax, dword [esp + 0x90]
push eax
mov word [esp + 0x120a4], cx
xor edx, edx
mov word [esp + 0x15164], cx
lea ecx, [esp + 0x1128c]
push str.TGPort.port_d
push ecx
mov word [esp + 0x11ea4], dx
mov word [esp + 0x14d5c], dx
mov byte [esp + 0x5b], dl
call esi
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x13506]
push eax
mov word [esp + 0x13508], dx
call fcn.0044ac90
add esp, 0x24
push 0
lea ecx, [esp + 0x134e8]
push ecx
push str.Option
lea edx, [esp + 0x11288]
push edx
mov ecx, ebx
call fcn.00409080
test al, al
je 0x436b4b
lea eax, [esp + 0x134e4]
push eax
call fcn.0044b40b
add esp, 4
test eax, eax
jne 0x436b46
lea ecx, [esp + 0x134e4]
push 0x46eaa4
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
je 0x436b46
lea edx, [esp + 0x134e4]
push 0x469038
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x436b4b
mov byte [esp + 0x43], 1
push 0
lea eax, [esp + 0x11c88]
push eax
push str.PortName
lea ecx, [esp + 0x11288]
push ecx
mov ecx, ebx
call fcn.00409080
push 0
lea edx, [esp + 0x12098]
push edx
push str.HostName
lea eax, [esp + 0x11288]
push eax
mov ecx, ebx
call fcn.00409080
push 0
lea ecx, [esp + 0x11e90]
push ecx
push str.PortNumber
lea edx, [esp + 0x11288]
push edx
mov ecx, ebx
call fcn.00409080
cmp word [esp + 0x11e8c], 0
jne 0x436bd7
xor eax, eax
jmp 0x436bc0
movzx ecx, word [eax + str.60000]
mov word [esp + eax + 0x11e8c], cx
add eax, 2
test cx, cx
jne 0x436bc0
push 0
lea eax, [esp + 0x122a0]
push eax
push str.SharedPrinter
lea ecx, [esp + 0x11288]
push ecx
mov ecx, ebx
call fcn.00409080
push 0
lea edx, [esp + 0x15158]
push edx
push str.DefaultPrinter
lea eax, [esp + 0x11288]
push eax
mov ecx, ebx
call fcn.00409080
push 0
lea ecx, [esp + 0x14d48]
push ecx
push str.CandidateIP
lea edx, [esp + 0x11288]
push edx
mov ecx, ebx
call fcn.00409080
cmp word [esp + 0x11c84], 0
jne 0x436c75
lea eax, [esp + 0x1229c]
push eax
lea ecx, [esp + 0x11e90]
push ecx
lea edx, [esp + 0x1209c]
push edx
lea eax, [esp + 0x11c90]
push str.SPS:_s:_s__s
push eax
call esi
add esp, 0x14
cmp word [esp + 0x11c84], 0
je 0x43721b
cmp word [esp + 0x12094], 0
je 0x43721b
cmp word [esp + 0x1229c], 0
je 0x43721b
xor ecx, ecx
push 0x3fe
push ecx
lea edx, [esp + 0x15d8e]
push edx
mov word [esp + 0x15d90], cx
call fcn.0044ac90
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea eax, [esp + 0x15d94]
push str._sPorts
push eax
call esi
add esp, 0x18
lea ecx, [esp + 0xbc]
push ecx
lea edx, [esp + 0x5c]
push edx
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [esp + 0x15da0]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x436e72
push 0x800
push eax
lea ecx, [esp + 0x1caec]
push ecx
call fcn.0044ac90
push 0x1c2d0
call fcn.0044ad7f
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x3b
test eax, eax
je 0x436d3e
mov ecx, eax
call fcn.0043d9e0
mov esi, eax
mov dword [esp + 0x74], eax
jmp 0x436d44
xor esi, esi
mov dword [esp + 0x74], esi
push 0x470410
lea edx, [esp + 0x14d48]
push edx
mov ecx, esi
mov dword [esp + 0x1f338], 0xffffffff
call fcn.0043dc30
mov ebx, eax
xor ebp, ebp
test ebx, ebx
jle 0x436e07
lea eax, [esi + 0x32c8]
jmp 0x436d80
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 0x436d94
sub ecx, esi
lea edi, [esp + 0x1cae4]
mov edx, ecx
add edi, 0xfffffffe
lea ecx, [ecx]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x436db0
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 + 0x1cae4]
add ecx, 0xfffffffe
mov dx, word [ecx + 2]
add ecx, 2
test dx, dx
jne 0x436dd4
mov edx, dword [0x464224]
mov dword [ecx], edx
mov dx, word [0x464228]
inc ebp
add eax, 0x800
cmp ebp, ebx
mov word [ecx + 4], dx
jl 0x436d80
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov esi, dword [esp + 0x74]
test esi, esi
je 0x436e1b
mov ecx, esi
call fcn.0043d490
push esi
call fcn.0044ad0a
add esp, 4
lea eax, [esp + 0x1cae4]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436e25
sub eax, edx
mov edx, dword [esp + 0x58]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x1cae8]
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 + 0x11c84]
push ecx
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea edx, [esp + 0x15d8c]
push str._sPorts_s
push edx
call esi
add esp, 0x10
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0x20006
push 0
push 0
push 0
lea edx, [esp + 0x15da0]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x4370d7
lea eax, [esp + 0x12094]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436ed0
sub eax, edx
mov edx, dword [esp + 0x58]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x12098]
push ecx
push 1
push 0
push str.HostName
push edx
call edi
lea eax, [esp + 0x11e8c]
push eax
call fcn.0044b40b
mov edx, dword [esp + 0x5c]
add esp, 4
push 4
lea ecx, [esp + 0xec]
push ecx
push 4
push 0
push str.PortNumber
push edx
mov dword [esp + 0x100], eax
call edi
lea eax, [esp + 0x1229c]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x436f35
mov edx, dword [esp + 0x58]
sub eax, ecx
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x122a0]
push ecx
push 1
push 0
push str.SharedPrinter
push edx
call edi
push 0x800
lea eax, [esp + 0x1d900]
push 0
push eax
call fcn.0044ac90
push 0x1c2d0
call fcn.0044ad7f
add esp, 0x10
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x3c
test eax, eax
je 0x436fa0
mov ecx, eax
call fcn.0043d9e0
mov dword [esp + 0x6c], eax
jmp 0x436fa8
mov dword [esp + 0x6c], 0
mov esi, dword [esp + 0x6c]
push 0x470410
lea ecx, [esp + 0x15158]
push ecx
mov ecx, esi
mov dword [esp + 0x1f338], 0xffffffff
call fcn.0043dc30
mov ebx, eax
xor ebp, ebp
test ebx, ebx
jle 0x437061
lea eax, [esi + 0x32c8]
lea ecx, [ecx]
mov edx, dword [esp + 0x6c]
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 0x436ff4
sub ecx, esi
lea edi, [esp + 0x1d8fc]
mov edx, ecx
add edi, 0xfffffffe
lea ecx, [ecx]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x437010
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 + 0x1d8fc]
add ecx, 0xfffffffe
mov dx, word [ecx + 2]
add ecx, 2
test dx, dx
jne 0x437034
mov edx, dword [0x464224]
mov dword [ecx], edx
mov dx, word [0x464228]
inc ebp
add eax, 0x800
cmp ebp, ebx
mov word [ecx + 4], dx
jl 0x436fe0
mov esi, dword [esp + 0x6c]
test esi, esi
je 0x437075
mov ecx, esi
call fcn.0043d490
push esi
call fcn.0044ad0a
add esp, 4
lea eax, [esp + 0x1d8fc]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x437080
sub eax, edx
mov edx, dword [esp + 0x58]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x1d900]
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 + 0x43], 0
je 0x43720f
lea ecx, [esp + 0x11c84]
push ecx
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea edx, [esp + 0x15d8c]
push str._sPorts_sOption
push edx
call esi
add esp, 0x10
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0x20006
push 0
push 0
push 0
lea edx, [esp + 0x15da0]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x43720f
lea eax, [esp + 0x128b4]
push eax
call fcn.0044b40b
lea ecx, [esp + 0x126b0]
push ecx
mov dword [esp + 0x100], eax
call fcn.0044b40b
lea edx, [esp + 0x124ac]
push edx
mov dword [esp + 0xf0], eax
call fcn.0044b40b
mov dword [esp + 0xfc], eax
lea eax, [esp + 0x12cd0]
push eax
call fcn.0044b40b
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 + 0xf4], eax
call edi
mov ecx, dword [esp + 0x58]
push 4
lea eax, [esp + 0xf4]
push eax
push 4
push 0
push 0x46ebac
push ecx
call edi
mov eax, dword [esp + 0x58]
push 4
lea edx, [esp + 0xe0]
push edx
push 4
push 0
push str.RetryNumber
push eax
call edi
cmp word [esp + 0x126ac], 0
je 0x4371fc
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 + 0x84]
jmp 0x436a50
mov ecx, ebx
call fcn.00409fe0
push ebx
call fcn.0044ad0a
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call edi
mov esi, dword [esp + 0x68]
push str.spooler
push 0
mov ecx, esi
call fcn.00447f50
push 0x3e8
call edi
test esi, esi
je 0x437265
mov ecx, esi
call fcn.00448160
push esi
call fcn.0044ad0a
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
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x437286
mov esi, dword [esp + 0x24]
jmp 0x4372cf
mov esi, dword [esp + 0x24]
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
nop
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4372c0
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.COPYFILES
push edx
mov ebx, 1
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437403
push 0x82c
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x3d
test eax, eax
je 0x43733e
lea ecx, [esp + 0xfe2c]
push ecx
lea edx, [esp + 0xf818]
push edx
push 0
mov ecx, eax
call fcn.0044ab50
mov edi, eax
jmp 0x437340
xor edi, edi
push 0xe68
mov dword [esp + 0x1f334], 0xffffffff
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x3e
test eax, eax
je 0x437389
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edi
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x43738b
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x4373ef
push 0
lea edx, [esp + 0xf408]
push edx
lea eax, [esp + 0x10244]
push eax
mov ecx, esi
call fcn.0040d530
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x2c], eax
mov eax, 0x4626e4
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ecx
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4373d0
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
test edi, edi
je 0x437403
mov ecx, edi
call fcn.0043d490
push edi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.PREINSTINF
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437523
push 0x82c
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x3f
test eax, eax
je 0x43745d
lea ecx, [esp + 0xfe2c]
push ecx
lea edx, [esp + 0xf818]
push edx
push 0
mov ecx, eax
call fcn.0044ab50
mov edi, eax
jmp 0x43745f
xor edi, edi
push 0xe68
mov dword [esp + 0x1f334], 0xffffffff
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x40
test eax, eax
je 0x4374a8
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push edi
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x4374aa
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x43750f
lea edx, [esp + 0xe5cc]
push edx
mov ecx, esi
call fcn.0040d1c0
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x2c], eax
mov eax, 0x4626e4
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 [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4374f0
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
test edi, edi
je 0x437523
mov ecx, edi
call fcn.0043d490
push edi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.ADDLOCALPORT
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437610
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x41
test eax, eax
je 0x43757f
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x38]
push 0
lea edx, [esp + 0xe1c4]
push edx
push ecx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x437581
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x437610
lea edx, [esp + 0x10444]
push edx
lea eax, [esp + 0xe1c0]
push eax
mov ecx, esi
call fcn.0040e080
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
test eax, eax
je 0x4375e1
mov eax, str.ADDLOCALPORT_successful
mov dword [ebp + 0x47c], 0
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4375d0
jmp 0x437600
mov ecx, dword [esi + 0x24]
mov eax, str.ADDLOCALPORT_failed
mov dword [ebp + 0x47c], ecx
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4375f1
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.ADDKPORT
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437707
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov edi, dword [esp + 0x20]
mov dword [esp + 0x1f330], 0x42
test eax, eax
je 0x43766c
mov edx, dword [esp + 0x34]
push edi
push 0
lea ecx, [esp + 0xe1c4]
push ecx
push edx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x43766e
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x43770b
lea eax, [esp + 0x10444]
push eax
lea ecx, [esp + 0x10a60]
push ecx
lea edx, [esp + 0xe1c4]
push edx
mov ecx, esi
call fcn.0040e1e0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
test eax, eax
je 0x4376d6
mov eax, str.ADDKPORT_successful
mov dword [ebp + 0x47c], 0
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4376c5
jmp 0x4376f5
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.ADDKPORT_failed
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4376e6
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x43770b
mov edi, dword [esp + 0x20]
lea ecx, [esp + 0xedec]
push str.UPTDRV
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4377d4
push 0x470
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x43
test eax, eax
je 0x43775b
mov edx, dword [esp + 0x34]
push edi
push 0
push edx
mov ecx, eax
call fcn.00404c60
mov esi, eax
jmp 0x43775d
xor esi, esi
or ebx, 0xffffffff
mov dword [esp + 0x1f330], ebx
test esi, esi
je 0x4377d7
push 0
lea eax, [esp + 0xe5d0]
push eax
lea ecx, [esp + 0x1003c]
push ecx
lea edx, [esp + 0xe1c8]
push edx
mov ecx, esi
call fcn.00401fa0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x47c], eax
mov eax, 0x4626e4
lea edx, [ebp + 0x484]
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4377b3
mov ecx, esi
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x4377d7
or ebx, 0xffffffff
lea eax, [esp + 0xedec]
push str.GETFULLMODELNAME
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4378e3
push 0xe68
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x44
test eax, eax
je 0x43782f
mov edx, dword [esp + 0x34]
push edi
push 0
lea ecx, [esp + 0xe1c4]
push ecx
push edx
mov ecx, eax
call fcn.00413ce0
mov esi, eax
jmp 0x437831
xor esi, esi
mov dword [esp + 0x1f330], ebx
test esi, esi
je 0x4378e3
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x14736]
push ecx
mov word [esp + 0x14738], ax
call fcn.0044ac90
add esp, 0xc
lea edx, [esp + 0x173cc]
push edx
lea eax, [esp + 0x14730]
push eax
lea ecx, [esp + 0x169ac]
push ecx
lea edx, [esp + 0xfa28]
push edx
lea eax, [esp + 0xe5dc]
push eax
mov ecx, esi
call fcn.00412700
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], eax
lea eax, [esp + 0x1472c]
lea edx, [ebp + 0x484]
mov ecx, eax
sub edx, ecx
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4378b0
lea eax, [ebp + 0x484]
push eax
push str.GETFULLMODELNAME_m_wszResult___s__n
call fcn.0043e2c0
add esp, 8
mov ecx, esi
call fcn.00412150
push esi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.ADDWIA
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437a0f
cmp word [esp + 0xe5cc], ax
je 0x437a0f
cmp word [esp + 0xe3c4], ax
je 0x437a0f
cmp word [esp + 0xebe4], ax
je 0x437a0f
push 0x470
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x45
test eax, eax
je 0x43795d
mov ecx, dword [esp + 0x34]
push edi
push 0
push ecx
mov ecx, eax
call fcn.00404c60
mov esi, eax
jmp 0x43795f
xor esi, esi
mov dword [esp + 0x1f330], ebx
test esi, esi
je 0x437a0f
xor eax, eax
movzx ecx, word [eax + str.ScannerAddress]
mov word [esp + eax + 0x7bc], cx
add eax, 2
test cx, cx
jne 0x437970
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x10a5c]
mov word [esp + eax + 0x9c4], cx
add eax, 2
test cx, cx
jne 0x437990
lea edx, [esp + 0x7b8]
push edx
lea eax, [esp + 0xe3c8]
push eax
lea ecx, [esp + 0xe5d4]
push ecx
push 0
mov ecx, esi
call fcn.004023c0
xor edx, edx
test eax, eax
setne dl
mov dword [ebp + 0x480], edx
mov dword [ebp + 0x47c], eax
lea eax, [esp + 0xe3c4]
lea edx, [ebp + 0x484]
mov ecx, eax
sub edx, ecx
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4379f0
mov ecx, esi
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.RMVWIA
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437b15
cmp word [esp + 0xe3c4], ax
je 0x437b15
push 0x470
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x46
test eax, eax
je 0x437a71
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00404c60
mov ebp, eax
jmp 0x437a73
xor ebp, ebp
mov dword [esp + 0x1f330], 0xffffffff
test ebp, ebp
je 0x437b15
xor esi, esi
cmp byte [esp + 0x33], 0
je 0x437a94
mov esi, 2
push esi
push 0
push str.Image
mov ecx, ebp
call fcn.00405e00
push esi
lea eax, [esp + 0x10038]
push eax
lea ecx, [esp + 0xebec]
push ecx
lea edx, [esp + 0xe3d0]
push edx
mov ecx, ebp
call fcn.00405600
mov edi, eax
test edi, edi
je 0x437ad1
push esi
mov ecx, ebp
call fcn.00404e00
mov edx, dword [esp + 0x18]
mov dword [edx + 0x480], edi
mov dword [edx + 0x47c], 0
lea eax, [esp + 0xebe4]
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 0x437af6
mov ecx, ebp
call fcn.00404d00
push ebp
call fcn.0044ad0a
add esp, 4
lea edx, [esp + 0xedec]
push str.RMVUSB
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437bf1
cmp word [esp + 0xe3c4], ax
je 0x437bf1
push 0x470
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x47
test eax, eax
je 0x437b77
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00404c60
mov esi, eax
jmp 0x437b79
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x437bf1
push 0
lea eax, [esp + 0x10038]
push eax
push 0
lea ecx, [esp + 0xe3d0]
push ecx
mov ecx, esi
call fcn.00405600
mov ebx, dword [esp + 0x18]
mov dword [ebx + 0x480], eax
lea eax, [esp + 0xe3c4]
lea edx, [ebx + 0x484]
mov ecx, eax
mov dword [ebx + 0x47c], 0
sub edx, ecx
jmp 0x437bd0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x437bd0
mov ecx, esi
call fcn.00404d00
push esi
call fcn.0044ad0a
add esp, 4
jmp 0x437bf5
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0xedec]
push str.GETDEVICECLASS
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437d7b
push 0x470
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x48
test eax, eax
je 0x437c46
mov ecx, dword [esp + 0x20]
push ecx
push 0
push 0
mov ecx, eax
call fcn.00404c60
mov esi, eax
jmp 0x437c48
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x437d7b
cmp byte [esp + 0x20], 0
jne 0x437d7b
cmp byte [esp + 0x33], 0
mov ebp, 1
je 0x437c77
mov ebp, 3
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x16dbe]
push eax
mov word [esp + 0x16dc0], dx
call fcn.0044ac90
xor edi, edi
add esp, 0xc
cmp word [esp + 0x10034], di
je 0x437ccd
xor eax, eax
jmp 0x437cb0
movzx ecx, word [esp + eax + 0x10034]
mov word [esp + eax + 0x16db4], cx
add eax, 2
test cx, cx
jne 0x437cb0
mov edi, 1
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x1411e]
push edx
mov word [esp + 0x14120], cx
call fcn.0044ac90
add esp, 0xc
push ebp
push 0x104
lea eax, [esp + 0x1411c]
push eax
push 7
lea ecx, [esp + 0x16dc4]
push ecx
push edi
push 0
mov ecx, esi
call fcn.00402c00
mov ecx, esi
mov edi, eax
call fcn.00404d00
push esi
call fcn.0044ad0a
mov edx, 1
sub edx, edi
mov dword [ebx + 0x480], 1
lea eax, [esp + 0x14118]
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 0x437d50
mov eax, dword [ebx + 0x47c]
push eax
lea ecx, [esp + 0x14118]
push ecx
push str.wszClass___s__m_nInstallResult__d__n
call fcn.0043e2c0
add esp, 0xc
lea edx, [esp + 0xedec]
push str.SETUPDIREMOVEDEVICE
push edx
call fcn.0044b362
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
add esp, 8
test eax, eax
jne 0x437dae
push eax
lea eax, [esp + 0x12ac0]
push eax
push esi
push edi
mov ecx, ebx
call fcn.0042d7f0
lea ecx, [esp + 0xedec]
push str.GETWSDPORT
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437dd8
lea edx, [esp + 0x12abc]
push edx
push esi
push edi
mov ecx, ebx
call fcn.0042d8d0
lea eax, [esp + 0xedec]
push str.GETPARENTDEVICEINSTID
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437e02
lea ecx, [esp + 0x12abc]
push ecx
push esi
push edi
mov ecx, ebx
call fcn.0042dad0
lea edx, [esp + 0xedec]
push str.GETDEVICECHILDREN
push edx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437e2c
lea eax, [esp + 0x12abc]
push eax
push esi
push edi
mov ecx, ebx
call fcn.0042df40
lea ecx, [esp + 0xedec]
push str.GETCONFIGFLAG
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x437f3f
push 0x470
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x1f330], 0x49
test eax, eax
je 0x437e7d
mov edx, dword [esp + 0x20]
push edx
push 0
push 0
mov ecx, eax
call fcn.00404c60
mov esi, eax
jmp 0x437e7f
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
test esi, esi
je 0x437f3f
cmp byte [esp + 0x20], 0
jne 0x437f3f
cmp byte [esp + 0x33], 0
mov eax, 1
je 0x437eae
mov eax, 3
push eax
lea eax, [esp + 0x10038]
push eax
push 0
mov ecx, esi
call fcn.004021b0
mov ecx, esi
mov edi, eax
call fcn.00404d00
push esi
call fcn.0044ad0a
xor ecx, ecx
push 0x206
mov dword [ebx + 0x480], 1
push ecx
lea edx, [esp + 0x14f5a]
mov dword [ebx + 0x47c], 0
push edx
mov word [esp + 0x14f5c], cx
call fcn.0044ac90
push edi
lea eax, [esp + 0x14f60]
push 0x46e690
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x14f68]
lea ecx, [ebx + 0x484]
mov edx, eax
add esp, 0x1c
sub ecx, edx
jmp 0x437f30
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x437f30
lea eax, [esp + 0xedec]
push str.SETCONFIGFLAG
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x438003
push 0x470
call fcn.0044ad7f
add esp, 4
mov dword [esp + 0x4c], eax
xor edi, edi
mov dword [esp + 0x1f330], 0x4a
cmp eax, edi
je 0x437f90
mov ecx, dword [esp + 0x20]
push ecx
push edi
push edi
mov ecx, eax
call fcn.00404c60
mov esi, eax
jmp 0x437f92
xor esi, esi
mov dword [esp + 0x1f330], 0xffffffff
cmp esi, edi
je 0x438003
cmp byte [esp + 0x20], 0
jne 0x438003
lea edx, [esp + 0x15974]
push edx
call fcn.0044b40b
add esp, 4
push 1
push eax
lea eax, [esp + 0x1003c]
push eax
push edi
mov ecx, esi
call fcn.004022e0
mov ecx, esi
call fcn.00404d00
push esi
call fcn.0044ad0a
mov eax, 0x4626e4
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 0x437ff4
lea ecx, [esp + 0xedec]
push str.QUIT
push ecx
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x438033
mov ecx, ebx
call fcn.0042d130
mov edx, dword [ebx + 8]
push 0
push 0
push 0x10
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [esp + 0xedec]
push 0x46e660
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x43815a
mov edi, dword [esp + 0x8c]
cmp byte [edi + 0x1c2cc], al
je 0x438070
cmp dword [edi + 0x1c2c8], 1
jle 0x438083
lea eax, [edi + 0x3ac8]
jmp 0x438083
cmp dword [edi + 0x1c2c8], 1
jg 0x43807d
xor eax, eax
jmp 0x438083
lea eax, [edi + 0x104]
push eax
call fcn.0044b40b
add esp, 4
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43809f
mov dword [ebx + 0x26c], esi
cmp dword [edi + 0x1c2c8], 3
jne 0x4380d4
cmp byte [edi + 0x1c2cc], 0
lea ecx, [edi + 0x42c8]
jne 0x4380bd
lea ecx, [edi + 0x208]
lea edx, [ebx + 0x270]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x4380c3
push 0
push 0
push 0
push 0xcf0000
push str.KmPkgInst
mov ecx, ebx
call fcn.0042dd40
mov ecx, ebx
call fcn.0042df00
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
push 0
lea ecx, [esp + 0x234]
push ecx
call esi
test eax, eax
je 0x438148
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x438120
lea edx, [esp + 0x228]
push edx
call edi
lea eax, [esp + 0x228]
push eax
call ebp
push 0
push 0
push 0
lea ecx, [esp + 0x234]
push ecx
call esi
test eax, eax
jne 0x438120
mov edx, dword [esp + 0x230]
mov ecx, ebx
mov dword [esp + 0x2c], edx
call fcn.0042d130
mov esi, dword [esp + 0x8c]
lea eax, [esp + 0xedec]
push str.SETHWND
push eax
call fcn.0044b362
add esp, 8
test eax, eax
jne 0x4381c4
cmp byte [esi + 0x1c2cc], al
je 0x438193
cmp dword [esi + 0x1c2c8], 1
jle 0x4381a6
lea eax, [esi + 0x3ac8]
jmp 0x4381a6
cmp dword [esi + 0x1c2c8], 1
jg 0x4381a0
xor eax, eax
jmp 0x4381a6
lea eax, [esi + 0x104]
push eax
call fcn.0044b40b
add esp, 4
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
neg eax
sbb eax, eax
and eax, esi
mov dword [ebx + 0x26c], eax
mov esi, dword [esp + 0x8c]
test esi, esi
je 0x4381df
mov ecx, esi
call fcn.0043d490
push esi
call fcn.0044ad0a
add esp, 4
push str.PKGMAIN::HandleRequest_end._n
call fcn.0043e2c0
mov eax, dword [esp + 0x30]
add esp, 4
mov ecx, dword [esp + 0x1f328]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1f310]
xor ecx, esp
call fcn.0044ac80
add esp, 0x1f320
ret 8