Function at 0x430e50
Capabilities:
Check os version
Delete directory
Encode data using base64
Resolve function by parsing pe exports
Set registry value

Disassembly:
push 0xffffffffffffffff
push 0x46375f
mov eax, dword fs:[0]
push eax
mov eax, 0x1f5f8
call fcn.0044f450
mov eax, dword [0x47f038]
xor eax, esp
mov dword [esp + 0x1f5f4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x47f038]
xor eax, esp
push eax
lea eax, [esp + 0x1f60c]
mov dword fs:[0], eax
mov esi, dword [esp + 0x1f61c]
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.004412c0
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.0044e29f
add esp, 0xc
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], ebp
cmp eax, ebp
je 0x430ef8
mov ecx, eax
call fcn.004409e0
mov ebx, eax
mov dword [esp + 0x8c], eax
jmp 0x430f01
xor ebx, ebx
mov dword [esp + 0x8c], ebx
push 0x473e4c
push esi
mov ecx, ebx
mov dword [esp + 0x1f61c], 0xffffffff
call fcn.00440c30
mov edi, eax
push edi
push str.Arguments____d_n
mov dword [esp + 0x58], edi
call fcn.004412c0
add esp, 8
xor esi, esi
cmp edi, ebp
jle 0x430fc8
mov ebp, ebx
lea edi, [ebx + 0x32c8]
nop
xor eax, eax
cmp byte [ebx + 0x1c2cc], al
je 0x430f58
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, edi
jmp 0x430f64
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, ebp
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x21c]
push 0x468088
push str.034_
push eax
call fcn.004459c0
xor eax, eax
cmp byte [ebx + 0x1c2cc], al
je 0x430f96
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, edi
jmp 0x430fa2
cmp esi, dword [ebx + 0x1c2c8]
setge al
dec eax
and eax, ebp
push eax
push esi
push str.___d____s__n
call fcn.004412c0
inc esi
add esp, 0xc
add edi, 0x800
add ebp, 0x104
cmp esi, dword [esp + 0x50]
jl 0x430f40
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x50]
mov ecx, dword [eax + 0x26c]
mov dword [esp + 0x38], ecx
test esi, esi
jle 0x43b1c4
push 0x206
xor ebp, ebp
lea eax, [esp + 0x18ae6]
xor edx, edx
push ebp
push eax
mov word [esp + 0x18aec], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0xe5f2]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xe5f8], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0xf706]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xf70c], ax
call fcn.0044e1b0
push 0x206
lea eax, [esp + 0x1115a]
xor edx, edx
push ebp
push eax
mov word [esp + 0x11160], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0xf44e]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xf454], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0x11992]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x11998], ax
call fcn.0044e1b0
add esp, 0x48
push 0x206
lea eax, [esp + 0x1174e]
xor edx, edx
push ebp
push eax
mov word [esp + 0x11754], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0xfb0a]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0xfb10], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0x19526]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x1952c], ax
call fcn.0044e1b0
push 0x206
lea eax, [esp + 0x11362]
xor edx, edx
push ebp
push eax
mov word [esp + 0x11368], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x170ae]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x170b4], cx
call fcn.0044e1b0
xor eax, eax
mov word [esp + 0x15e7c], ax
push 0x206
lea ecx, [esp + 0x15e82]
push ebp
push ecx
call fcn.0044e1b0
add esp, 0x48
push 0x206
lea eax, [esp + 0xebfe]
xor edx, edx
push ebp
push eax
mov word [esp + 0xec04], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x16c7a]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x16c80], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0xe3f6]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xe3fc], ax
call fcn.0044e1b0
push 0x206
lea eax, [esp + 0x19122]
xor edx, edx
push ebp
push eax
mov word [esp + 0x19128], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x10146]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x1014c], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0x174ca]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x174d0], ax
call fcn.0044e1b0
add esp, 0x48
push 0x206
lea eax, [esp + 0x131b6]
xor edx, edx
push ebp
push eax
mov word [esp + 0x131bc], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x16262]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x16268], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0xe1ee]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xe1f4], ax
call fcn.0044e1b0
push 0x206
lea eax, [esp + 0x10342]
xor edx, edx
push ebp
push eax
mov word [esp + 0x10348], dx
call fcn.0044e1b0
xor ecx, ecx
push 0x206
mov word [esp + 0x10554], cx
push ebp
lea edx, [esp + 0x1055a]
push edx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0x1402a]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x14030], ax
call fcn.0044e1b0
add esp, 0x48
push 0x206
lea eax, [esp + 0x11546]
xor edx, edx
push ebp
push eax
mov word [esp + 0x1154c], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x14a22]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x14a28], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0x14826]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x1482c], ax
call fcn.0044e1b0
push 0x206
lea eax, [esp + 0xf23a]
xor edx, edx
push ebp
push eax
mov word [esp + 0xf240], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x17ad6]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x17adc], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0xff4a]
xor eax, eax
push ebp
push ecx
mov word [esp + 0xff50], ax
call fcn.0044e1b0
add esp, 0x48
push 0x206
lea eax, [esp + 0xf8f6]
xor edx, edx
push ebp
push eax
mov word [esp + 0xf8fc], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x12db2]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x12db8], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0x16066]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x1606c], ax
call fcn.0044e1b0
push 0x206
xor edx, edx
push ebp
lea eax, [esp + 0x10756]
mov word [esp + 0x10754], dx
push eax
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x14226]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x1422c], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0x13e22]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x13e28], ax
call fcn.0044e1b0
add esp, 0x48
push 0x206
lea eax, [esp + 0x1645e]
xor edx, edx
push ebp
push eax
mov word [esp + 0x16464], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x176a2]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x176a8], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0x178b6]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x178bc], ax
call fcn.0044e1b0
push 0x206
lea eax, [esp + 0x18902]
xor edx, edx
push ebp
push eax
mov word [esp + 0x18908], dx
call fcn.0044e1b0
push 0x206
lea edx, [esp + 0x19336]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x1933c], cx
call fcn.0044e1b0
push 0x206
lea ecx, [esp + 0x19752]
xor eax, eax
push ebp
push ecx
mov word [esp + 0x19758], ax
call fcn.0044e1b0
add esp, 0x48
push 0xc6
mov ebx, 1
xor edx, edx
push ebp
lea eax, [esp + 0xf62a]
mov byte [esp + 0x53], 0
mov byte [esp + 0x64], 0
mov dword [esp + 0x74], 0x238c
mov dword [esp + 0x80], 3
mov dword [esp + 0x7c], ebp
mov byte [esp + 0x6c], 0
mov byte [esp + 0x88], 0
mov byte [esp + 0x63], 0
mov byte [esp + 0x52], 0
mov byte [esp + 0x55], 0
mov byte [esp + 0x3b], 0
mov byte [esp + 0x2c], 0
mov byte [esp + 0x44], 0
mov byte [esp + 0x1f], 0
mov dword [esp + 0x70], ebx
mov word [esp + 0xf628], dx
push eax
call fcn.0044e1b0
mov edi, dword [esp + 0x98]
add esp, 0xc
cmp byte [edi + 0x1c2cc], 0
mov dword [esp + 0x44], ebp
mov dword [esp + 0x28], ebp
je 0x431561
cmp dword [edi + 0x1c2c8], ebp
jg 0x431559
xor ecx, ecx
jmp 0x43156f
lea ecx, [edi + 0x32c8]
jmp 0x43156f
xor ecx, ecx
cmp dword [edi + 0x1c2c8], ebp
setle cl
dec ecx
and ecx, edi
lea edx, [esp + 0xee00]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431576
cmp esi, ebx
jle 0x432f2c
nop
cmp byte [edi + 0x1c2cc], 0
je 0x4315b3
cmp ebx, dword [edi + 0x1c2c8]
jl 0x4315a5
xor ecx, ecx
jmp 0x4315c9
mov ecx, ebx
shl ecx, 0xb
lea ecx, [ecx + edi + 0x32c8]
jmp 0x4315c9
cmp ebx, dword [edi + 0x1c2c8]
jl 0x4315bf
xor ecx, ecx
jmp 0x4315c9
mov ecx, ebx
imul ecx, ecx, 0x104
add ecx, edi
lea edx, [esp + 0xe7e8]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4315d0
cmp word [esp + 0xe7e8], 0x2f
jne 0x4315f9
mov edx, 0x2d
mov word [esp + 0xe7e8], dx
lea eax, [esp + 0xe7e8]
push 0x473e44
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431671
mov ecx, dword [esp + 0x50]
dec ecx
cmp ebx, ecx
jge 0x431671
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43163f
cmp eax, dword [edi + 0x1c2c8]
jl 0x431633
xor ecx, ecx
jmp 0x431655
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431655
cmp eax, dword [edi + 0x1c2c8]
jl 0x43164b
xor eax, eax
jmp 0x431653
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x18ae0]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431660
lea edx, [esp + 0xe7e8]
push 0x473e3c
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431741
mov eax, dword [esp + 0x50]
dec eax
cmp ebx, eax
jge 0x431741
cmp byte [edi + 0x1c2cc], 0
lea ecx, [ebx + 1]
je 0x4316c1
cmp ecx, dword [edi + 0x1c2c8]
jl 0x4316b3
xor edx, edx
jmp 0x4316d7
mov edx, ecx
shl edx, 0xb
lea edx, [edx + edi + 0x32c8]
jmp 0x4316d7
cmp ecx, dword [edi + 0x1c2c8]
jl 0x4316cd
xor edx, edx
jmp 0x4316d7
mov edx, ecx
imul edx, edx, 0x104
add edx, edi
lea esi, [esp + 0xe5e0]
mov edi, edi
movzx eax, word [edx]
mov word [esi], ax
add edx, 2
add esi, 2
cmp ax, bp
jne 0x4316e0
cmp byte [edi + 0x1c2cc], 0
je 0x431712
cmp ecx, dword [edi + 0x1c2c8]
jl 0x431706
xor ecx, ecx
jmp 0x431726
shl ecx, 0xb
lea ecx, [ecx + edi + 0x32c8]
jmp 0x431726
cmp ecx, dword [edi + 0x1c2c8]
jl 0x43171e
xor ecx, ecx
jmp 0x431726
imul ecx, ecx, 0x104
add ecx, edi
lea edx, [esp + 0xf6e8]
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431730
lea eax, [esp + 0xe7e8]
push 0x473e34
push eax
call fcn.0044e882
mov esi, dword [esp + 0x58]
add esp, 8
test eax, eax
jne 0x4317b7
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x4317b7
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431789
cmp eax, dword [edi + 0x1c2c8]
jl 0x43177d
xor ecx, ecx
jmp 0x43179f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43179f
cmp eax, dword [edi + 0x1c2c8]
jl 0x431795
xor eax, eax
jmp 0x43179d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x11130]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4317a6
lea edx, [esp + 0xe7e8]
push 0x473e2c
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431831
lea eax, [esi - 1]
cmp ebx, eax
jge 0x431831
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4317fb
cmp eax, dword [edi + 0x1c2c8]
jl 0x4317ef
xor ecx, ecx
jmp 0x431811
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431811
cmp eax, dword [edi + 0x1c2c8]
jl 0x431807
xor eax, eax
jmp 0x43180f
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf418]
jmp 0x431820
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431820
lea ecx, [esp + 0xe7e8]
push 0x473e24
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4318a3
lea edx, [esi - 1]
cmp ebx, edx
jge 0x4318a3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431875
cmp eax, dword [edi + 0x1c2c8]
jl 0x431869
xor ecx, ecx
jmp 0x43188b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43188b
cmp eax, dword [edi + 0x1c2c8]
jl 0x431881
xor eax, eax
jmp 0x431889
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x11950]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431892
lea eax, [esp + 0xe7e8]
push 0x473e1c
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431915
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x431915
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4318e7
cmp eax, dword [edi + 0x1c2c8]
jl 0x4318db
xor ecx, ecx
jmp 0x4318fd
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4318fd
cmp eax, dword [edi + 0x1c2c8]
jl 0x4318f3
xor eax, eax
jmp 0x4318fb
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x11748]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431904
lea edx, [esp + 0xe7e8]
push 0x473e14
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431987
lea eax, [esi - 1]
cmp ebx, eax
jge 0x431987
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431959
cmp eax, dword [edi + 0x1c2c8]
jl 0x43194d
xor ecx, ecx
jmp 0x43196f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43196f
cmp eax, dword [edi + 0x1c2c8]
jl 0x431965
xor eax, eax
jmp 0x43196d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xfaf8]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431976
lea ecx, [esp + 0xe7e8]
push str._reg
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431a01
lea edx, [esi - 1]
cmp ebx, edx
jge 0x431a01
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4319cb
cmp eax, dword [edi + 0x1c2c8]
jl 0x4319bf
xor ecx, ecx
jmp 0x4319e1
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4319e1
cmp eax, dword [edi + 0x1c2c8]
jl 0x4319d7
xor eax, eax
jmp 0x4319df
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x19508]
jmp 0x4319f0
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4319f0
lea eax, [esp + 0xe7e8]
push 0x473e00
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431a66
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x431a66
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431a45
cmp eax, dword [edi + 0x1c2c8]
jl 0x431a39
xor eax, eax
jmp 0x431a59
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x431a59
cmp eax, dword [edi + 0x1c2c8]
jl 0x431a51
xor eax, eax
jmp 0x431a59
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.0044e92b
add esp, 4
mov dword [esp + 0x44], eax
lea edx, [esp + 0xe7e8]
push 0x473df8
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431acb
lea eax, [esi - 1]
cmp ebx, eax
jge 0x431acb
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431aaa
cmp eax, dword [edi + 0x1c2c8]
jl 0x431a9e
xor eax, eax
jmp 0x431abe
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x431abe
cmp eax, dword [edi + 0x1c2c8]
jl 0x431ab6
xor eax, eax
jmp 0x431abe
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.0044e92b
add esp, 4
mov dword [esp + 0x28], eax
lea ecx, [esp + 0xe7e8]
push str._snmp
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431b34
lea edx, [esi - 1]
cmp ebx, edx
jge 0x431b34
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431b0f
cmp eax, dword [edi + 0x1c2c8]
jl 0x431b03
xor eax, eax
jmp 0x431b23
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x431b23
cmp eax, dword [edi + 0x1c2c8]
jl 0x431b1b
xor eax, eax
jmp 0x431b23
imul eax, eax, 0x104
add eax, edi
push eax
call fcn.0044e92b
add esp, 4
cmp eax, ebp
jne 0x431b34
mov dword [esp + 0x68], ebp
lea eax, [esp + 0xe7e8]
push str._protocol
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431ba4
dec esi
cmp ebx, esi
jge 0x431ba4
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431b76
cmp eax, dword [edi + 0x1c2c8]
jl 0x431b6a
xor ecx, ecx
jmp 0x431b8c
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431b8c
cmp eax, dword [edi + 0x1c2c8]
jl 0x431b82
xor eax, eax
jmp 0x431b8a
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf620]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431b93
lea ecx, [esp + 0xe7e8]
push str._sim
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431bc2
mov byte [esp + 0x24], 1
lea edx, [esp + 0xe7e8]
push 0x473dc4
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431c91
mov eax, dword [esp + 0x50]
dec eax
cmp ebx, eax
jge 0x431c91
cmp byte [edi + 0x1c2cc], 0
lea ecx, [ebx + 1]
je 0x431c12
cmp ecx, dword [edi + 0x1c2c8]
jl 0x431c04
xor edx, edx
jmp 0x431c28
mov edx, ecx
shl edx, 0xb
lea edx, [edx + edi + 0x32c8]
jmp 0x431c28
cmp ecx, dword [edi + 0x1c2c8]
jl 0x431c1e
xor edx, edx
jmp 0x431c28
mov edx, ecx
imul edx, edx, 0x104
add edx, edi
lea esi, [esp + 0x11338]
nop
movzx eax, word [edx]
mov word [esi], ax
add edx, 2
add esi, 2
cmp ax, bp
jne 0x431c30
cmp byte [edi + 0x1c2cc], 0
je 0x431c62
cmp ecx, dword [edi + 0x1c2c8]
jl 0x431c56
xor ecx, ecx
jmp 0x431c76
shl ecx, 0xb
lea ecx, [ecx + edi + 0x32c8]
jmp 0x431c76
cmp ecx, dword [edi + 0x1c2c8]
jl 0x431c6e
xor ecx, ecx
jmp 0x431c76
imul ecx, ecx, 0x104
add ecx, edi
lea edx, [esp + 0x17078]
lea ecx, [ecx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431c80
lea eax, [esp + 0xe7e8]
push str._dbv
push eax
call fcn.0044e882
mov esi, dword [esp + 0x58]
add esp, 8
test eax, eax
jne 0x431d07
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x431d07
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431cd9
cmp eax, dword [edi + 0x1c2c8]
jl 0x431ccd
xor ecx, ecx
jmp 0x431cef
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431cef
cmp eax, dword [edi + 0x1c2c8]
jl 0x431ce5
xor eax, eax
jmp 0x431ced
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x15e40]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431cf6
lea edx, [esp + 0xe7e8]
push str._nomk
push edx
call fcn.0044e882
lea eax, [esp + 0xe7f0]
push 0x473da4
push eax
call fcn.0044e882
add esp, 0x10
test eax, eax
jne 0x431db2
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x431db2
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431d61
cmp eax, dword [edi + 0x1c2c8]
jl 0x431d55
xor ecx, ecx
jmp 0x431d77
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431d77
cmp eax, dword [edi + 0x1c2c8]
jl 0x431d6d
xor eax, eax
jmp 0x431d75
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xebf8]
mov edi, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431d80
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x21c]
push 0x464914
push 0x473d9c
lea edx, [esp + 0xec00]
push edx
call fcn.004459c0
lea ecx, [esp + 0xe7e8]
push str._oldp
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431e24
lea edx, [esi - 1]
cmp ebx, edx
jge 0x431e24
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431df6
cmp eax, dword [edi + 0x1c2c8]
jl 0x431dea
xor ecx, ecx
jmp 0x431e0c
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431e0c
cmp eax, dword [edi + 0x1c2c8]
jl 0x431e02
xor eax, eax
jmp 0x431e0a
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x16c68]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431e13
lea eax, [esp + 0xe7e8]
push 0x473d88
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431e96
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x431e96
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431e68
cmp eax, dword [edi + 0x1c2c8]
jl 0x431e5c
xor ecx, ecx
jmp 0x431e7e
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431e7e
cmp eax, dword [edi + 0x1c2c8]
jl 0x431e74
xor eax, eax
jmp 0x431e7c
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xe3d8]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431e85
lea edx, [esp + 0xe7e8]
push 0x473d80
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431f08
lea eax, [esi - 1]
cmp ebx, eax
jge 0x431f08
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431eda
cmp eax, dword [edi + 0x1c2c8]
jl 0x431ece
xor ecx, ecx
jmp 0x431ef0
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431ef0
cmp eax, dword [edi + 0x1c2c8]
jl 0x431ee6
xor eax, eax
jmp 0x431eee
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x190f8]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431ef7
lea ecx, [esp + 0xe7e8]
push str._hid
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431f81
lea edx, [esi - 1]
cmp ebx, edx
jge 0x431f81
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431f4c
cmp eax, dword [edi + 0x1c2c8]
jl 0x431f40
xor ecx, ecx
jmp 0x431f62
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431f62
cmp eax, dword [edi + 0x1c2c8]
jl 0x431f58
xor eax, eax
jmp 0x431f60
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10110]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431f70
lea eax, [esp + 0xe7e8]
push str._cid
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x431ff3
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x431ff3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x431fc5
cmp eax, dword [edi + 0x1c2c8]
jl 0x431fb9
xor ecx, ecx
jmp 0x431fdb
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x431fdb
cmp eax, dword [edi + 0x1c2c8]
jl 0x431fd1
xor eax, eax
jmp 0x431fd9
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x17488]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x431fe2
lea edx, [esp + 0xe7e8]
push str._diid
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432065
lea eax, [esi - 1]
cmp ebx, eax
jge 0x432065
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432037
cmp eax, dword [edi + 0x1c2c8]
jl 0x43202b
xor ecx, ecx
jmp 0x43204d
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43204d
cmp eax, dword [edi + 0x1c2c8]
jl 0x432043
xor eax, eax
jmp 0x43204b
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x131b0]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432054
lea ecx, [esp + 0xe7e8]
push 0x473d54
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4320d7
lea edx, [esi - 1]
cmp ebx, edx
jge 0x4320d7
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4320a9
cmp eax, dword [edi + 0x1c2c8]
jl 0x43209d
xor ecx, ecx
jmp 0x4320bf
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4320bf
cmp eax, dword [edi + 0x1c2c8]
jl 0x4320b5
xor eax, eax
jmp 0x4320bd
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x16250]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4320c6
lea eax, [esp + 0xe7e8]
push 0x473d4c
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4321a8
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x4321a8
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432123
cmp eax, dword [edi + 0x1c2c8]
jl 0x432117
xor ecx, ecx
jmp 0x432139
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432139
cmp eax, dword [edi + 0x1c2c8]
jl 0x43212f
xor eax, eax
jmp 0x432137
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x15230]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432140
mov eax, 0x5c
cmp word [esp + 0x15230], ax
je 0x43218a
cmp word [esp + 0x15232], ax
je 0x43218a
lea edx, [esp + 0x15230]
push edx
lea eax, [esp + 0xe1d4]
push str._s
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
jmp 0x4321a8
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x15230]
mov word [esp + eax + 0xe1d0], cx
add eax, 2
cmp cx, bp
jne 0x432190
lea ecx, [esp + 0xe7e8]
push 0x473d44
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432221
lea edx, [esi - 1]
cmp ebx, edx
jge 0x432221
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4321ec
cmp eax, dword [edi + 0x1c2c8]
jl 0x4321e0
xor ecx, ecx
jmp 0x432202
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432202
cmp eax, dword [edi + 0x1c2c8]
jl 0x4321f8
xor eax, eax
jmp 0x432200
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10318]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432210
lea eax, [esp + 0xe7e8]
push 0x473d3c
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432293
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x432293
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432265
cmp eax, dword [edi + 0x1c2c8]
jl 0x432259
xor ecx, ecx
jmp 0x43227b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43227b
cmp eax, dword [edi + 0x1c2c8]
jl 0x432271
xor eax, eax
jmp 0x432279
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10520]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432282
lea edx, [esp + 0xe7e8]
push 0x473d34
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432385
lea eax, [esi - 1]
cmp ebx, eax
jge 0x4322fd
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4322db
cmp eax, dword [edi + 0x1c2c8]
jl 0x4322cf
xor eax, eax
jmp 0x4322ef
shl eax, 0xb
lea eax, [eax + edi + 0x32c8]
jmp 0x4322ef
cmp eax, dword [edi + 0x1c2c8]
jl 0x4322e7
xor eax, eax
jmp 0x4322ef
imul eax, eax, 0x104
add eax, edi
push eax
push str.PKGMAIN_HandleRequest_xander_____s__n
call fcn.004412c0
add esp, 8
push 0x206
lea edx, [esp + 0x17cae]
xor ecx, ecx
push ebp
push edx
mov word [esp + 0x17cb4], cx
call fcn.0044e1b0
add esp, 0xc
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432341
cmp eax, dword [edi + 0x1c2c8]
jl 0x432335
xor ecx, ecx
jmp 0x432357
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432357
cmp eax, dword [edi + 0x1c2c8]
jl 0x43234d
xor eax, eax
jmp 0x432355
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x17ca8]
mov edi, edi
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432360
lea eax, [esp + 0x17ca8]
push eax
call fcn.0044e92b
add esp, 4
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0xe7e8]
push 0x473cdc
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4323f7
lea edx, [esi - 1]
cmp ebx, edx
jge 0x4323f7
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4323c9
cmp eax, dword [edi + 0x1c2c8]
jl 0x4323bd
xor ecx, ecx
jmp 0x4323df
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4323df
cmp eax, dword [edi + 0x1c2c8]
jl 0x4323d5
xor eax, eax
jmp 0x4323dd
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x13fe8]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4323e6
lea eax, [esp + 0xe7e8]
push 0x473cd4
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432418
mov dword [esp + 0x74], 1
lea ecx, [esp + 0xe7e8]
push 0x473ccc
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432491
lea edx, [esi - 1]
cmp ebx, edx
jge 0x432491
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43245c
cmp eax, dword [edi + 0x1c2c8]
jl 0x432450
xor ecx, ecx
jmp 0x432472
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432472
cmp eax, dword [edi + 0x1c2c8]
jl 0x432468
xor eax, eax
jmp 0x432470
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x11540]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432480
lea eax, [esp + 0xe7e8]
push 0x473cc4
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432508
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x432508
cmp byte [edi + 0x1c2cc], 0
mov byte [esp + 0x5c], 1
lea eax, [ebx + 1]
je 0x4324da
cmp eax, dword [edi + 0x1c2c8]
jl 0x4324ce
xor ecx, ecx
jmp 0x4324f0
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4324f0
cmp eax, dword [edi + 0x1c2c8]
jl 0x4324e6
xor eax, eax
jmp 0x4324ee
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x14a10]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4324f7
lea edx, [esp + 0xe7e8]
push str._cmt
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432581
lea eax, [esi - 1]
cmp ebx, eax
jge 0x432581
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43254c
cmp eax, dword [edi + 0x1c2c8]
jl 0x432540
xor ecx, ecx
jmp 0x432562
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432562
cmp eax, dword [edi + 0x1c2c8]
jl 0x432558
xor eax, eax
jmp 0x432560
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x14808]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432570
lea ecx, [esp + 0xe7e8]
push str._env
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4325f3
lea edx, [esi - 1]
cmp ebx, edx
jge 0x4325f3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4325c5
cmp eax, dword [edi + 0x1c2c8]
jl 0x4325b9
xor ecx, ecx
jmp 0x4325db
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4325db
cmp eax, dword [edi + 0x1c2c8]
jl 0x4325d1
xor eax, eax
jmp 0x4325d9
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf210]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4325e2
lea eax, [esp + 0xe7e8]
push 0x473ca4
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432610
mov dword [esp + 0x78], ebp
lea ecx, [esp + 0xe7e8]
push 0x473c9c
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432631
mov dword [esp + 0x78], 2
lea edx, [esp + 0xe7e8]
push 0x473c94
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432652
mov dword [esp + 0x78], 3
lea eax, [esp + 0xe7e8]
push 0x473c8c
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432670
mov byte [esp + 0x64], 1
lea ecx, [esp + 0xe7e8]
push str._cpy
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43268e
mov byte [esp + 0x5b], 1
lea edx, [esp + 0xe7e8]
push str._verchk
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4326ac
mov byte [esp + 0x4a], 1
lea eax, [esp + 0xe7e8]
push str._rmdp
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4326ca
mov byte [esp + 0x3c], 1
lea ecx, [esp + 0xe7e8]
push 0x473c5c
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4326eb
mov byte [esp + 0x80], 1
lea edx, [esp + 0xe7e8]
push str._sim
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432709
mov byte [esp + 0x24], 1
lea eax, [esp + 0xe7e8]
push 0x473c54
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432781
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x432781
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43274d
cmp eax, dword [edi + 0x1c2c8]
jl 0x432741
xor ecx, ecx
jmp 0x432763
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432763
cmp eax, dword [edi + 0x1c2c8]
jl 0x432759
xor eax, eax
jmp 0x432761
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xfaf8]
lea ebx, [ebx]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432770
lea edx, [esp + 0xe7e8]
push 0x473c4c
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4327f3
lea eax, [esi - 1]
cmp ebx, eax
jge 0x4327f3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4327c5
cmp eax, dword [edi + 0x1c2c8]
jl 0x4327b9
xor ecx, ecx
jmp 0x4327db
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4327db
cmp eax, dword [edi + 0x1c2c8]
jl 0x4327d1
xor eax, eax
jmp 0x4327d9
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x17898]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4327e2
lea ecx, [esp + 0xe7e8]
push 0x473c44
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432865
lea edx, [esi - 1]
cmp ebx, edx
jge 0x432865
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432837
cmp eax, dword [edi + 0x1c2c8]
jl 0x43282b
xor ecx, ecx
jmp 0x43284d
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x43284d
cmp eax, dword [edi + 0x1c2c8]
jl 0x432843
xor eax, eax
jmp 0x43284b
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x17aa0]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432854
lea eax, [esp + 0xe7e8]
push 0x473c3c
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4328d7
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x4328d7
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x4328a9
cmp eax, dword [edi + 0x1c2c8]
jl 0x43289d
xor ecx, ecx
jmp 0x4328bf
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4328bf
cmp eax, dword [edi + 0x1c2c8]
jl 0x4328b5
xor eax, eax
jmp 0x4328bd
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x17690]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4328c6
lea edx, [esp + 0xe7e8]
push 0x473c34
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432951
lea eax, [esi - 1]
cmp ebx, eax
jge 0x432951
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x43291b
cmp eax, dword [edi + 0x1c2c8]
jl 0x43290f
xor ecx, ecx
jmp 0x432931
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432931
cmp eax, dword [edi + 0x1c2c8]
jl 0x432927
xor eax, eax
jmp 0x43292f
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xff08]
jmp 0x432940
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432940
lea ecx, [esp + 0xe7e8]
push 0x473c2c
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4329c3
lea edx, [esi - 1]
cmp ebx, edx
jge 0x4329c3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432995
cmp eax, dword [edi + 0x1c2c8]
jl 0x432989
xor ecx, ecx
jmp 0x4329ab
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x4329ab
cmp eax, dword [edi + 0x1c2c8]
jl 0x4329a1
xor eax, eax
jmp 0x4329a9
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf8f0]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x4329b2
lea eax, [esp + 0xe7e8]
push str._kxpfile
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432a35
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x432a35
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432a07
cmp eax, dword [edi + 0x1c2c8]
jl 0x4329fb
xor ecx, ecx
jmp 0x432a1d
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432a1d
cmp eax, dword [edi + 0x1c2c8]
jl 0x432a13
xor eax, eax
jmp 0x432a1b
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x12da0]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432a24
lea edx, [esp + 0xe7e8]
push str._plugdll
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432aa7
lea eax, [esi - 1]
cmp ebx, eax
jge 0x432aa7
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432a79
cmp eax, dword [edi + 0x1c2c8]
jl 0x432a6d
xor ecx, ecx
jmp 0x432a8f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432a8f
cmp eax, dword [edi + 0x1c2c8]
jl 0x432a85
xor eax, eax
jmp 0x432a8d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x16458]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432a96
lea ecx, [esp + 0xe7e8]
push 0x473bfc
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432b21
lea edx, [esi - 1]
cmp ebx, edx
jge 0x432b21
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432aeb
cmp eax, dword [edi + 0x1c2c8]
jl 0x432adf
xor ecx, ecx
jmp 0x432b01
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432b01
cmp eax, dword [edi + 0x1c2c8]
jl 0x432af7
xor eax, eax
jmp 0x432aff
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x16048]
jmp 0x432b10
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432b10
lea eax, [esp + 0xe7e8]
push 0x473bf4
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432b93
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x432b93
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432b65
cmp eax, dword [edi + 0x1c2c8]
jl 0x432b59
xor ecx, ecx
jmp 0x432b7b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432b7b
cmp eax, dword [edi + 0x1c2c8]
jl 0x432b71
xor eax, eax
jmp 0x432b79
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x10728]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432b82
lea edx, [esp + 0xe7e8]
push str._conn
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432bb6
mov byte [esp + 0x4d], 1
mov byte [esp + 0x33], 1
lea eax, [esp + 0xe7e8]
push str._printui
push eax
call fcn.0044e882
lea ecx, [esp + 0xe7f0]
push str._arpaddiopt
push ecx
call fcn.0044e882
add esp, 0x10
test eax, eax
jne 0x432c41
lea edx, [esi - 1]
cmp ebx, edx
jge 0x432c41
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432c0c
cmp eax, dword [edi + 0x1c2c8]
jl 0x432c00
xor ecx, ecx
jmp 0x432c22
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432c22
cmp eax, dword [edi + 0x1c2c8]
jl 0x432c18
xor eax, eax
jmp 0x432c20
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x141f0]
lea esp, [esp]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432c30
lea eax, [esp + 0xe7e8]
push str._arprmvopt
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432cb3
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x432cb3
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432c85
cmp eax, dword [edi + 0x1c2c8]
jl 0x432c79
xor ecx, ecx
jmp 0x432c9b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432c9b
cmp eax, dword [edi + 0x1c2c8]
jl 0x432c91
xor eax, eax
jmp 0x432c99
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x13de0]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432ca2
lea edx, [esp + 0xe7e8]
push str._uid
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432d25
lea eax, [esi - 1]
cmp ebx, eax
jge 0x432d25
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432cf7
cmp eax, dword [edi + 0x1c2c8]
jl 0x432ceb
xor ecx, ecx
jmp 0x432d0d
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432d0d
cmp eax, dword [edi + 0x1c2c8]
jl 0x432d03
xor eax, eax
jmp 0x432d0b
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x188d8]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432d14
lea ecx, [esp + 0xe7e8]
push str._pwd
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432d97
lea edx, [esi - 1]
cmp ebx, edx
jge 0x432d97
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432d69
cmp eax, dword [edi + 0x1c2c8]
jl 0x432d5d
xor ecx, ecx
jmp 0x432d7f
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432d7f
cmp eax, dword [edi + 0x1c2c8]
jl 0x432d75
xor eax, eax
jmp 0x432d7d
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x19300]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432d86
lea eax, [esp + 0xe7e8]
push str._dom
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432e11
lea ecx, [esi - 1]
cmp ebx, ecx
jge 0x432e11
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432ddb
cmp eax, dword [edi + 0x1c2c8]
jl 0x432dcf
xor ecx, ecx
jmp 0x432df1
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432df1
cmp eax, dword [edi + 0x1c2c8]
jl 0x432de7
xor eax, eax
jmp 0x432def
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x19710]
jmp 0x432e00
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432e00
lea edx, [esp + 0xe7e8]
push str._addi
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432e2f
mov byte [esp + 0x17], 1
lea eax, [esp + 0xe7e8]
push str._upd
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432e4d
mov byte [esp + 0x4b], 1
lea ecx, [esp + 0xe7e8]
push str._src
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432eb8
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432e8a
cmp eax, dword [edi + 0x1c2c8]
jl 0x432e7e
xor ecx, ecx
jmp 0x432ea0
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432ea0
cmp eax, dword [edi + 0x1c2c8]
jl 0x432e96
xor eax, eax
jmp 0x432e9e
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0x11130]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432ea7
lea edx, [esp + 0xe7e8]
push str._dst
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x432f23
cmp byte [edi + 0x1c2cc], 0
lea eax, [ebx + 1]
je 0x432ef5
cmp eax, dword [edi + 0x1c2c8]
jl 0x432ee9
xor ecx, ecx
jmp 0x432f0b
shl eax, 0xb
lea ecx, [eax + edi + 0x32c8]
jmp 0x432f0b
cmp eax, dword [edi + 0x1c2c8]
jl 0x432f01
xor eax, eax
jmp 0x432f09
imul eax, eax, 0x104
add eax, edi
mov ecx, eax
lea edx, [esp + 0xf418]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bp
jne 0x432f12
inc ebx
cmp ebx, esi
jl 0x431590
mov esi, dword [esp + 0x18]
mov ebx, dword [sym.imp.KERNEL32.dll_WriteFile]
cmp word [esp + 0xf6e8], bp
je 0x432fe8
mov ecx, dword [esi + 0x21c]
push ebp
lea eax, [esp + 0xf6ec]
push eax
call fcn.004454a0
test al, al
jne 0x432fe8
lea ecx, [esp + 0x19d28]
push ecx
mov ecx, dword [esi + 0x21c]
push ebp
lea edx, [esp + 0xf6f0]
push edx
call fcn.00446790
lea eax, [esp + 0x19d28]
push eax
lea ecx, [esp + 0x1f404]
push ecx
mov ecx, dword [esi + 0x21c]
push ebp
call fcn.004493f0
push eax
lea edx, [esp + 0x1ebe8]
push 0x464ad0
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [esi + 0x21c]
add esp, 0x10
push ebp
lea eax, [esp + 0x1ebe4]
push eax
call fcn.004454a0
test al, al
je 0x4342df
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [esp + eax + 0x1ebe0]
mov word [esp + eax + 0xf6e8], cx
add eax, 2
cmp cx, bp
jne 0x432fd0
lea ecx, [esp + 0xee00]
push str.INSTALL
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4332d1
push 0x8cdc
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 1
cmp eax, ebp
je 0x43305c
lea edx, [esp + 0x11748]
push edx
lea ecx, [esp + 0x1133c]
push ecx
push ebp
lea edx, [esp + 0x1195c]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf428]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.0042a180
mov esi, eax
jmp 0x43305e
xor esi, esi
push 0x1e90
lea edx, [esp + 0xc344]
push 0
or ebp, 0xffffffff
push edx
mov dword [esp + 0x1f620], ebp
call fcn.0044e1b0
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
add esp, 0xc
mov byte [esp + 0xe1c9], al
mov dword [esp + 0xc344], ecx
mov dword [esp + 0xc348], edx
mov byte [esp + 0xe1ca], 0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x11130]
mov word [esp + eax + 0xc75c], cx
add eax, 2
test cx, cx
jne 0x4330b0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf418]
mov word [esp + eax + 0xc964], cx
add eax, 2
test cx, cx
jne 0x4330d0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf6e8]
mov word [esp + eax + 0xc554], cx
add eax, 2
test cx, cx
jne 0x4330f0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfaf8]
mov word [esp + eax + 0xd184], cx
add eax, 2
test cx, cx
jne 0x433110
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3d8]
mov word [esp + eax + 0xd79c], cx
add eax, 2
test cx, cx
jne 0x433130
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x10318]
mov word [esp + eax + 0xdbac], cx
add eax, 2
test cx, cx
jne 0x433150
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xebf8]
mov word [esp + eax + 0xddb4], cx
add eax, 2
test cx, cx
jne 0x433170
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0x17898]
mov word [esp + eax + 0xdfbc], cx
add eax, 2
test cx, cx
jne 0x433190
mov edi, dword [esp + 0x38]
lea eax, [esp + 0xc340]
push eax
push edi
mov ecx, esi
call fcn.0042f290
cmp byte [esp + 0x24], 0
mov dword [esp + 0x2c], eax
je 0x4331d6
mov ecx, dword [esi + 0x28b4]
mov dword [esp + 0x2c], ecx
jmp 0x4332bf
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x21c]
lea edx, [esp + 0x1a958]
push edx
push 0
lea eax, [esp + 0xf6f0]
push eax
call fcn.00446790
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0xf6e8]
mov word [esp + eax + 0x1b790], cx
add eax, 2
test cx, cx
jne 0x433200
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x21c]
push 0
lea edx, [esp + 0xf41c]
push edx
call fcn.00445680
lea ecx, [esp + 0x1a958]
push ecx
lea edx, [esp + 0xf41c]
push edx
lea eax, [esp + 0x1b180]
push 0x464ad0
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x28]
add esp, 0x10
push 0
push 0
lea ecx, [esp + 0x1b180]
push ecx
mov ecx, dword [eax + 0x21c]
lea edx, [esp + 0x1b79c]
push edx
call fcn.00447d30
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
jmp 0x4332b0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4332b0
mov ecx, esi
call fcn.0042a2e0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x4332d8
mov edi, dword [esp + 0x38]
or ebp, 0xffffffff
lea ecx, [esp + 0xee00]
push str.UPGRADE
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43357f
push 0x8cdc
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 2
test eax, eax
je 0x43334d
lea edx, [esp + 0x11748]
push edx
lea ecx, [esp + 0x1133c]
push ecx
push 0
lea edx, [esp + 0x1195c]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf428]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.0042a180
mov esi, eax
jmp 0x43334f
xor esi, esi
push 0x1e90
lea edx, [esp + 0x6794]
push 0
push edx
mov dword [esp + 0x1f620], ebp
call fcn.0044e1b0
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
add esp, 0xc
mov byte [esp + 0x8619], al
mov dword [esp + 0x6794], ecx
mov dword [esp + 0x6798], edx
mov byte [esp + 0x861a], 0
xor eax, eax
jmp 0x4333a0
movzx ecx, word [esp + eax + 0x11130]
mov word [esp + eax + 0x6bac], cx
add eax, 2
test cx, cx
jne 0x4333a0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf418]
mov word [esp + eax + 0x6db4], cx
add eax, 2
test cx, cx
jne 0x4333c0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf6e8]
mov word [esp + eax + 0x69a4], cx
add eax, 2
test cx, cx
jne 0x4333e0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfaf8]
mov word [esp + eax + 0x75d4], cx
add eax, 2
test cx, cx
jne 0x433400
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3d8]
mov word [esp + eax + 0x7bec], cx
add eax, 2
test cx, cx
jne 0x433420
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xebf8]
mov word [esp + eax + 0x8204], cx
add eax, 2
test cx, cx
jne 0x433440
lea eax, [esp + 0x6790]
push eax
push edi
mov ecx, esi
call fcn.0042f3d0
cmp byte [esp + 0x8619], 0
mov dword [esp + 0x2c], eax
je 0x433485
mov ecx, dword [esi + 0x28b4]
mov dword [esp + 0x2c], ecx
jmp 0x43356f
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x21c]
lea edx, [esp + 0x1bfb0]
push edx
push 0
lea eax, [esp + 0xf6f0]
push eax
call fcn.00446790
xor eax, eax
jmp 0x4334b0
movzx ecx, word [esp + eax + 0xf6e8]
mov word [esp + eax + 0x1a340], cx
add eax, 2
test cx, cx
jne 0x4334b0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x21c]
push 0
lea edx, [esp + 0xf41c]
push edx
call fcn.00445680
lea ecx, [esp + 0x1bfb0]
push ecx
lea edx, [esp + 0xf41c]
push edx
lea eax, [esp + 0x1c3c8]
push 0x464ad0
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x28]
add esp, 0x10
push 0
push 0
lea ecx, [esp + 0x1c3c8]
push ecx
mov ecx, dword [eax + 0x21c]
lea edx, [esp + 0x1a34c]
push edx
call fcn.00447d30
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
jmp 0x433560
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x433560
mov ecx, esi
call fcn.0042a2e0
push esi
call fcn.0044e22a
add esp, 4
lea ecx, [esp + 0xee00]
push str.REMOVE
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4337c0
push 0x8cdc
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 3
test eax, eax
je 0x4335f4
lea edx, [esp + 0x11748]
push edx
lea ecx, [esp + 0x1133c]
push ecx
push 0
lea edx, [esp + 0x1195c]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf428]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.0042a180
mov esi, eax
jmp 0x4335f6
xor esi, esi
push 0x1e90
lea edx, [esp + 0x8624]
push 0
push edx
mov dword [esp + 0x1f620], ebp
call fcn.0044e1b0
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
add esp, 0xc
mov byte [esp + 0xa4a9], al
mov dword [esp + 0x8624], ecx
mov dword [esp + 0x8628], edx
mov byte [esp + 0xa4aa], 0
xor eax, eax
nop
movzx ecx, word [esp + eax + 0x11130]
mov word [esp + eax + 0x8a3c], cx
add eax, 2
test cx, cx
jne 0x433640
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf418]
mov word [esp + eax + 0x8c44], cx
add eax, 2
test cx, cx
jne 0x433660
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf6e8]
mov word [esp + eax + 0x8834], cx
add eax, 2
test cx, cx
jne 0x433680
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfaf8]
mov word [esp + eax + 0x9464], cx
add eax, 2
test cx, cx
jne 0x4336a0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3d8]
mov word [esp + eax + 0x9a7c], cx
add eax, 2
test cx, cx
jne 0x4336c0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xebf8]
mov word [esp + eax + 0xa094], cx
add eax, 2
test cx, cx
jne 0x4336e0
lea eax, [esp + 0x8620]
push eax
push edi
mov ecx, esi
call fcn.0042f510
cmp byte [esp + 0xa4a9], 0
mov dword [esp + 0x2c], eax
je 0x433725
mov ecx, dword [esi + 0x28b4]
mov dword [esp + 0x2c], ecx
jmp 0x4337b0
test eax, eax
je 0x433770
mov ecx, dword [esp + 0x18]
mov ecx, dword [ecx + 0x21c]
lea edx, [esp + 0x1a548]
push edx
push 0
lea eax, [esp + 0xf6f0]
push eax
call fcn.00446790
lea edx, [esp + 0x1a548]
push edx
lea eax, [esp + 0xf41c]
push eax
lea ecx, [esp + 0x1eff8]
push 0x464ad0
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 0x4337a1
mov ecx, esi
call fcn.0042a2e0
push esi
call fcn.0044e22a
add esp, 4
lea ecx, [esp + 0xee00]
push str.VERIFY
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43398f
push 0x8cdc
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 4
test eax, eax
je 0x433835
lea edx, [esp + 0x11748]
push edx
lea ecx, [esp + 0x1133c]
push ecx
push 0
lea edx, [esp + 0x1195c]
push edx
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0xf428]
push ecx
mov ecx, dword [edx + 0x21c]
push ecx
mov ecx, eax
call fcn.0042a180
mov esi, eax
jmp 0x433837
xor esi, esi
push 0x1e90
lea edx, [esp + 0xbe4]
push 0
push edx
mov dword [esp + 0x1f620], ebp
call fcn.0044e1b0
movzx eax, byte [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
mov byte [esp + 0x2a75], al
movzx eax, byte [esp + 0x23]
add esp, 0xc
mov byte [esp + 0x2a6b], al
mov dword [esp + 0xbe4], ecx
mov dword [esp + 0xbe8], edx
mov byte [esp + 0x2a6a], 0
xor eax, eax
lea ecx, [ecx]
movzx ecx, word [esp + eax + 0x11130]
mov word [esp + eax + 0xffc], cx
add eax, 2
test cx, cx
jne 0x433890
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf418]
mov word [esp + eax + 0x1204], cx
add eax, 2
test cx, cx
jne 0x4338b0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf6e8]
mov word [esp + eax + 0xdf4], cx
add eax, 2
test cx, cx
jne 0x4338d0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfaf8]
mov word [esp + eax + 0x1a24], cx
add eax, 2
test cx, cx
jne 0x4338f0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3d8]
mov word [esp + eax + 0x203c], cx
add eax, 2
test cx, cx
jne 0x433910
lea ecx, [esp + 0xbe0]
push ecx
push edi
mov ecx, esi
call fcn.0042f580
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 [edx + eax], cx
add eax, 2
test cx, cx
jne 0x433970
mov ecx, esi
call fcn.0042a2e0
push esi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.VERIFY2
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x433d44
push 0x8cdc
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x1f614], 5
test eax, eax
je 0x433a04
lea ecx, [esp + 0x11748]
push ecx
lea edx, [esp + 0x1133c]
push edx
push 0
lea ecx, [esp + 0x1195c]
push ecx
mov ecx, dword [ebp + 0x21c]
lea edx, [esp + 0xf428]
push edx
push ecx
mov ecx, eax
call fcn.0042a180
mov edi, eax
jmp 0x433a06
xor edi, edi
push 0x1e90
lea edx, [esp + 0xa4b4]
push 0
push edx
mov dword [esp + 0x1f620], 0xffffffff
call fcn.0044e1b0
movzx eax, byte [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
mov byte [esp + 0xc345], al
movzx eax, byte [esp + 0x23]
add esp, 0xc
mov byte [esp + 0xc33b], al
mov dword [esp + 0xa4b4], ecx
mov dword [esp + 0xa4b8], edx
mov byte [esp + 0xc33a], 0
xor eax, eax
movzx ecx, word [esp + eax + 0x11130]
mov word [esp + eax + 0xa8cc], cx
add eax, 2
test cx, cx
jne 0x433a60
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf418]
mov word [esp + eax + 0xaad4], cx
add eax, 2
test cx, cx
jne 0x433a80
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf6e8]
mov word [esp + eax + 0xa6c4], cx
add eax, 2
test cx, cx
jne 0x433aa0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfaf8]
mov word [esp + eax + 0xb2f4], cx
add eax, 2
test cx, cx
jne 0x433ac0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3d8]
mov word [esp + eax + 0xb90c], cx
add eax, 2
test cx, cx
jne 0x433ae0
mov cl, byte [esp + 0x4b]
mov eax, dword [esp + 0x38]
lea edx, [esp + 0xa4b0]
push edx
mov byte [esp + 0xc340], cl
push eax
mov ecx, edi
call fcn.0042f580
push eax
mov dword [esp + 0x30], eax
lea eax, [ebp + 0x484]
push 0x46c368
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 0x433b66
mov ecx, dword [edi + 0x48c0]
mov eax, dword [ecx + esi*8]
push eax
push esi
push str.saList__d____s__n
call fcn.004412c0
inc esi
add esp, 0xc
cmp esi, dword [edi + 0x48c4]
jl 0x433b45
mov edx, dword [edi + 0x48c4]
xor eax, eax
push 0x7fe
push eax
lea ecx, [esp + 0x1c5d2]
mov dword [ebp + 0x47c], edx
push ecx
mov word [esp + 0x1c5d4], ax
call fcn.0044e1b0
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x1c5e0]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea edx, [esp + 0x1c5e8]
push edx
push str.wszReturn___s__n
call fcn.004412c0
lea eax, [esp + 0x1c5f0]
add esp, 0x28
mov dword [esp + 0x94], 0
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x433be1
mov esi, dword [esp + 0x18]
sub eax, ecx
push 0
sar eax, 1
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1c5d4]
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 0x433ceb
lea esp, [esp]
xor eax, eax
push 0x616
push eax
lea ecx, [esp + 0x1ab6a]
push ecx
mov word [esp + 0x1ab6c], ax
call fcn.0044e1b0
mov edx, dword [edi + 0x48c0]
mov ecx, dword [edx + esi*8]
add esp, 0xc
lea edx, [esp + 0x1ab60]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x433c70
lea eax, [esp + 0x1ab60]
mov dword [esp + 0x94], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433c96
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [eax + eax + 2]
push edx
mov edx, dword [ecx + 0x260]
lea eax, [esp + 0x1ab6c]
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 0x433c40
mov esi, dword [esp + 0x18]
push 0
lea edx, [esp + 0x98]
push edx
push 8
mov dword [esp + 0xa0], 0
mov eax, dword [esi + 0x260]
push 0x471ee0
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 0x433d44
mov ecx, edi
call fcn.0042a2e0
push edi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.PREREQUISITE
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x434110
push 0x8cdc
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x1f614], 6
test eax, eax
je 0x433db9
lea ecx, [esp + 0x11748]
push ecx
lea edx, [esp + 0x1133c]
push edx
push 0
lea ecx, [esp + 0x1195c]
push ecx
mov ecx, dword [ebp + 0x21c]
lea edx, [esp + 0xf428]
push edx
push ecx
mov ecx, eax
call fcn.0042a180
mov edi, eax
jmp 0x433dbb
xor edi, edi
push 0x1e90
lea edx, [esp + 0x4904]
push 0
push edx
mov dword [esp + 0x1f620], 0xffffffff
call fcn.0044e1b0
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
add esp, 0xc
mov byte [esp + 0x6789], al
mov dword [esp + 0x4904], ecx
mov dword [esp + 0x4908], edx
mov byte [esp + 0x678a], 0
xor eax, eax
jmp 0x433e10
movzx ecx, word [esp + eax + 0x11130]
mov word [esp + eax + 0x4d1c], cx
add eax, 2
test cx, cx
jne 0x433e10
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf418]
mov word [esp + eax + 0x4f24], cx
add eax, 2
test cx, cx
jne 0x433e30
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf6e8]
mov word [esp + eax + 0x4b14], cx
add eax, 2
test cx, cx
jne 0x433e50
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfaf8]
mov word [esp + eax + 0x5744], cx
add eax, 2
test cx, cx
jne 0x433e70
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3d8]
mov word [esp + eax + 0x5d5c], cx
add eax, 2
test cx, cx
jne 0x433e90
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x4900]
push eax
push ecx
mov ecx, edi
call fcn.0042f690
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 0x433ef0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x433ef0
xor esi, esi
cmp dword [edi + 0x48c4], esi
jle 0x433f31
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.004412c0
inc esi
add esp, 0xc
cmp esi, dword [edi + 0x48c4]
jl 0x433f10
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 0x433f50
xor edx, edx
push 0x7fe
push edx
lea eax, [esp + 0x1e3ea]
push eax
mov word [esp + 0x1e3ec], dx
call fcn.0044e1b0
mov ecx, dword [ebp + 0x47c]
mov edx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
push ecx
push edx
lea eax, [esp + 0x1e3f8]
push str._d__d___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1e400]
add esp, 0x20
mov dword [esp + 0x98], 0
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x433fc0
mov esi, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x9c]
push ecx
mov ecx, dword [esi + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1e3ec]
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 0x4340bb
xor eax, eax
push 0x616
push eax
lea ecx, [esp + 0x1b9a2]
push ecx
mov word [esp + 0x1b9a4], ax
call fcn.0044e1b0
mov edx, dword [edi + 0x48c0]
mov ecx, dword [edx + esi*8]
add esp, 0xc
lea edx, [esp + 0x1b998]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x434040
lea eax, [esp + 0x1b998]
mov dword [esp + 0x98], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x434066
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 + 0x1b9a4]
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 0x434010
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 0x471ee0
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.0042a2e0
push edi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.CHECK
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4342df
push 0x8cdc
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1f614], 7
test eax, eax
je 0x434185
lea ecx, [esp + 0x11748]
push ecx
lea edx, [esp + 0x1133c]
push edx
push 0
lea ecx, [esp + 0x1195c]
push ecx
mov ecx, dword [edi + 0x21c]
lea edx, [esp + 0xf428]
push edx
push ecx
mov ecx, eax
call fcn.0042a180
mov esi, eax
jmp 0x434187
xor esi, esi
push 0x1e90
lea edx, [esp + 0x2a74]
push 0
push edx
mov dword [esp + 0x1f620], 0xffffffff
call fcn.0044e1b0
mov al, byte [esp + 0x30]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x34]
add esp, 0xc
mov byte [esp + 0x48f9], al
mov dword [esp + 0x2a74], ecx
mov dword [esp + 0x2a78], edx
mov byte [esp + 0x48fa], 0
xor eax, eax
jmp 0x4341e0
movzx ecx, word [esp + eax + 0x11130]
mov word [esp + eax + 0x2e8c], cx
add eax, 2
test cx, cx
jne 0x4341e0
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf418]
mov word [esp + eax + 0x3094], cx
add eax, 2
test cx, cx
jne 0x434200
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xf6e8]
mov word [esp + eax + 0x2c84], cx
add eax, 2
test cx, cx
jne 0x434220
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xfaf8]
mov word [esp + eax + 0x38b4], cx
add eax, 2
test cx, cx
jne 0x434240
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe3d8]
mov word [esp + eax + 0x3ecc], cx
add eax, 2
test cx, cx
jne 0x434260
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x2a70]
push eax
push ecx
mov ecx, esi
call fcn.0041feb0
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 0x4342c0
mov ecx, esi
call fcn.0042a2e0
push esi
call fcn.0044e22a
add esp, 4
lea ecx, [esp + 0xee00]
push str.GETSYSINFO
push ecx
call fcn.0044e882
mov ebx, dword [esp + 0x2c]
mov esi, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x434315
mov eax, dword [esp + 0x38]
lea edx, [esp + 0xe1d0]
push edx
push ebx
push eax
mov ecx, esi
call fcn.00430c00
lea ecx, [esp + 0xee00]
push str.REMOVECMDARP
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4345df
push 0x8cdc
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 8
test eax, eax
je 0x434386
lea edx, [esp + 0x11748]
push edx
lea ecx, [esp + 0x1133c]
push ecx
push 0
lea edx, [esp + 0x1195c]
push edx
mov edx, dword [esi + 0x21c]
lea ecx, [esp + 0xf428]
push ecx
push edx
mov ecx, eax
call fcn.0042a180
mov ebp, eax
jmp 0x434388
xor ebp, ebp
xor eax, eax
push 0x616
push eax
lea ecx, [esp + 0x182ca]
push ecx
mov dword [esp + 0x1f620], 0xffffffff
mov word [esp + 0x182cc], ax
call fcn.0044e1b0
mov edi, dword [sym.imp.USER32.dll_wsprintfW]
lea edx, [esp + 0xfb04]
push edx
lea eax, [esp + 0x182d0]
push str.UNINST_STRING_ARP__s
push eax
call edi
add esp, 0x18
cmp word [esp + 0x141f0], 0
je 0x434466
xor ecx, ecx
push 0x40e
push ecx
lea edx, [esp + 0x19f3a]
push edx
mov word [esp + 0x19f3c], cx
call fcn.0044e1b0
lea eax, [esp + 0x141fc]
push eax
lea ecx, [esp + 0x19f40]
push 0x473a5c
push ecx
call edi
lea eax, [esp + 0x19f48]
add esp, 0x18
mov edx, eax
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x434420
lea edi, [esp + 0x182c0]
sub eax, edx
add edi, 0xfffffffe
jmp 0x434440
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x434440
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 + 0x13de0], 0
je 0x434550
xor edx, edx
push 0x40e
push edx
lea eax, [esp + 0x18cf2]
push eax
mov word [esp + 0x18cf4], dx
call fcn.0044e1b0
add esp, 0xc
cmp word [esp + 0x141f0], 0
je 0x4344ee
lea ecx, [esp + 0x13de0]
push ecx
lea edx, [esp + 0x18cec]
push 0x473a5c
push edx
call edi
lea eax, [esp + 0x18cf4]
add esp, 0xc
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4344c3
lea edi, [esp + 0x182c0]
sub eax, edx
add edi, 0xfffffffe
lea ebx, [ebx]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x4344e0
jmp 0x43453c
lea eax, [esp + 0x13de0]
push eax
lea ecx, [esp + 0x18cec]
push str.___s
push ecx
call edi
lea eax, [esp + 0x18cf4]
add esp, 0xc
mov edx, eax
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x434511
lea edi, [esp + 0x182c0]
sub eax, edx
add edi, 0xfffffffe
jmp 0x434530
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x434530
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 + 0x182c0]
push edx
push str.REMOVECMDARP___s__n
call fcn.004412c0
mov eax, dword [esp + 0x40]
add esp, 8
push ebx
lea ecx, [esp + 0x182c4]
push ecx
mov ecx, ebp
mov dword [ebp], eax
call fcn.0041e700
cmp byte [esp + 0x24], 0
mov dword [esp + 0x2c], eax
je 0x434593
mov edx, dword [ebp + 0x28b4]
mov dword [esp + 0x2c], edx
jmp 0x4345cf
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 [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4345c0
mov ecx, ebp
call fcn.0042a2e0
push ebp
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.DELETEFILE
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4346ef
cmp byte [esp + 0x24], al
je 0x43460f
mov dword [esp + 0x2c], 1
jmp 0x4346ef
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x137d2]
push ecx
mov word [esp + 0x137d4], ax
call fcn.0044e1b0
mov ecx, dword [esi + 0x21c]
add esp, 0xc
push 0
lea edx, [esp + 0xe5e4]
push edx
call fcn.004454a0
test al, al
je 0x4346b7
mov ecx, dword [esi + 0x21c]
lea eax, [esp + 0xe5e0]
push eax
call fcn.00445e70
test eax, eax
jne 0x434699
lea ecx, [esp + 0xe5e0]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.00445f30
xor eax, eax
jmp 0x434680
movzx ecx, word [eax + str.File_delete_after_reboot]
mov word [esp + eax + 0x137c8], cx
add eax, 2
test cx, cx
jne 0x434680
jmp 0x4346b7
xor eax, eax
jmp 0x4346a0
movzx ecx, word [eax + str.File_deleted]
mov word [esp + eax + 0x137c8], cx
add eax, 2
test cx, cx
jne 0x4346a0
lea eax, [esp + 0x137c8]
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 [edx + eax], cx
add eax, 2
test cx, cx
jne 0x4346e0
lea edx, [esp + 0xee00]
push str.DELETEDIR
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43497f
cmp byte [esp + 0x24], al
je 0x43471f
mov dword [esp + 0x2c], 1
jmp 0x43497f
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x13be2]
push ecx
mov word [esp + 0x13be4], ax
call fcn.0044e1b0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0xfd16]
push eax
mov word [esp + 0xfd18], dx
call fcn.0044e1b0
add esp, 0x18
xor eax, eax
mov edi, edi
movzx ecx, word [esp + eax + 0xe5e0]
mov word [esp + eax + 0xfd00], cx
add eax, 2
test cx, cx
jne 0x434760
mov esi, dword [esp + 0x18]
cmp word [esp + 0xfd00], cx
je 0x434947
push 0x46742c
lea ecx, [esp + 0xfd04]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.004451b0
mov ecx, dword [esi + 0x21c]
push 0
push 0x104
lea edx, [esp + 0x19920]
push edx
call fcn.00446460
mov ecx, dword [esi + 0x21c]
push 1
push 0x104
lea eax, [esp + 0x1c1c0]
push eax
call fcn.00446460
mov eax, dword [esi + 0x21c]
add eax, 0x218
push eax
lea ecx, [esp + 0x1a754]
push 0x104
push ecx
call fcn.0044f47b
mov eax, dword [esi + 0x21c]
add eax, 0x420
push eax
lea edx, [esp + 0x19b30]
push 0x104
push edx
call fcn.0044f47b
lea eax, [esp + 0xfd18]
add esp, 0x18
mov bl, 1
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x434821
sub eax, edx
sar eax, 1
cmp word [esp + eax*2 + 0xfcfe], 0x5c
jne 0x43485e
lea eax, [esp + 0xfd00]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x434845
sub eax, edx
sar eax, 1
xor ecx, ecx
mov word [esp + eax*2 + 0xfcfe], cx
lea edx, [esp + 0x19918]
push edx
lea eax, [esp + 0xfd04]
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43487c
xor bl, bl
lea ecx, [esp + 0x1c1b8]
push ecx
lea edx, [esp + 0xfd04]
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43489a
xor bl, bl
lea eax, [esp + 0x1a750]
push eax
lea ecx, [esp + 0xfd04]
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4348b8
xor bl, bl
lea edx, [esp + 0x19b20]
push edx
lea eax, [esp + 0xfd04]
push eax
call fcn.0044e882
add esp, 8
test eax, eax
je 0x434929
test bl, bl
je 0x434929
cmp byte [esp + 0x64], 0
je 0x4348f4
lea ecx, [esp + 0xfd00]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.00448310
jmp 0x434902
lea edx, [esp + 0xfd00]
push edx
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor eax, eax
jmp 0x434910
movzx ecx, word [eax + str.DELETEDIR_deleted]
mov word [esp + eax + 0x13bd8], cx
add eax, 2
test cx, cx
jne 0x434910
jmp 0x434947
xor eax, eax
jmp 0x434930
movzx ecx, word [eax + str.DELETEDIR_deleted_failed]
mov word [esp + eax + 0x13bd8], cx
add eax, 2
test cx, cx
jne 0x434930
lea eax, [esp + 0x13bd8]
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 [edx + eax], cx
add eax, 2
test cx, cx
jne 0x434970
lea edx, [esp + 0xee00]
push str.CHECKRPC
push edx
call fcn.0044e882
mov ebp, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x434a8f
mov ecx, dword [ebp + 0x21c]
lea eax, [esp + 0xe1d0]
push eax
call fcn.0044a530
cmp eax, 0x100
jge 0x4349d9
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + str.Windows_NT_x86]
mov word [esp + eax + 0xf210], cx
add eax, 2
test cx, cx
jne 0x4349c0
jmp 0x4349f7
xor eax, eax
jmp 0x4349e0
movzx ecx, word [eax + str.Windows_x64]
mov word [esp + eax + 0xf210], cx
add eax, 2
test cx, cx
jne 0x4349e0
lea ecx, [esp + 0xe0]
push ecx
push 0x104
lea edx, [esp + 0x1f200]
push edx
mov esi, 1
push esi
lea eax, [esp + 0xf220]
push eax
lea ecx, [esp + 0xe1e4]
xor edi, edi
push ecx
mov dword [esp + 0xf8], edi
call sub.WINSPOOL.DRV_GetPrinterDriverDirectoryW
mov dword [ebp + 0x480], esi
test eax, eax
je 0x434a61
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 [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x434a50
jmp 0x434a8f
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 [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x434a80
lea edx, [esp + 0xee00]
push str.GETOSVERSION
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x434b11
mov ecx, dword [ebp + 0x21c]
lea eax, [esp + 0xe1d0]
push eax
call fcn.0044a530
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
test eax, eax
je 0x434af1
mov dword [ebp + 0x47c], eax
mov eax, str.GETOSVERSION_successful
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x434ae0
jmp 0x434b11
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 0x434b02
lea ecx, [esp + 0xee00]
push str.ISDRIVERINSTALLED
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x434db1
cmp word [esp + 0xe3d8], ax
je 0x434db1
cmp word [esp + 0xe5e0], ax
je 0x434db1
push 0x434
mov byte [esp + 0x1b], al
xor ebx, ebx
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 9
test eax, eax
je 0x434b82
push ebx
lea edx, [esp + 0xe5e4]
push edx
mov ecx, eax
call fcn.00407660
jmp 0x434b84
xor eax, eax
or esi, 0xffffffff
push str.Printer
mov ecx, eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1f618], esi
call fcn.004069e0
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x434cb2
xor edi, edi
cmp word [esp + 0xf8f0], di
je 0x434c0a
cmp word [esp + 0xff08], di
je 0x434c0a
push 0x82c
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 0xa
test eax, eax
je 0x434bff
lea ecx, [esp + 0xff08]
push ecx
lea edx, [esp + 0xf8f4]
push edx
push edi
mov ecx, eax
call fcn.0044e070
jmp 0x434c01
xor eax, eax
mov dword [esp + 0x1f614], esi
mov edi, eax
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 0xb
test eax, eax
je 0x434c48
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push edi
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x434c4a
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x434c9e
mov edx, dword [esp + 0x78]
push 0
push edx
lea eax, [esp + 0xf218]
push eax
lea ecx, [esp + 0xe3e4]
push ecx
lea edx, [esp + 0xe5f0]
push edx
lea eax, [esp + 0xe1e4]
push eax
mov ecx, esi
call fcn.00413ac0
mov ecx, esi
mov ebx, eax
mov byte [esp + 0x17], 1
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
test edi, edi
je 0x434cb2
mov ecx, edi
call fcn.00440490
push edi
call fcn.0044e22a
add esp, 4
mov ecx, dword [esp + 0x28]
push str.Image
call fcn.004069e0
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x434d3f
push 0x474
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 0xc
test eax, eax
je 0x434d08
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405340
mov esi, eax
jmp 0x434d0a
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x434d3f
lea eax, [esp + 0xe3d8]
push eax
mov ecx, esi
call fcn.00402bc0
mov ecx, esi
mov ebx, eax
mov byte [esp + 0x17], 1
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
mov esi, dword [esp + 0x28]
test esi, esi
je 0x434d57
mov ecx, esi
call fcn.00406de0
push esi
call fcn.0044e22a
add esp, 4
cmp byte [esp + 0x17], 0
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
je 0x434d91
mov eax, str.ISDRIVERINSTALLED_successful
mov dword [ebp + 0x47c], ebx
sub edx, eax
jmp 0x434d80
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x434d80
jmp 0x434db1
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 0x434da2
lea ecx, [esp + 0xee00]
push str.ENUMDRIVERS
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x435731
xor edx, edx
push 0x7fe
push edx
lea eax, [esp + 0x1564a]
push eax
mov word [esp + 0x1564c], dx
call fcn.0044e1b0
add esp, 0xc
lea ecx, [esp + 0x20c]
mov dword [esp + 0x60], 0
mov byte [esp + 0x49], 0
call fcn.00407d10
lea ecx, [esp + 0x11c]
mov dword [esp + 0x1f614], 0xd
call fcn.00407d10
xor bl, bl
cmp word [esp + 0xe5e0], 0
mov byte [esp + 0x1f614], 0xe
mov byte [esp + 0x17], bl
mov byte [esp + 0x23], bl
je 0x434f01
push 0x4fc8
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0xf
test eax, eax
je 0x434e71
push 0
lea ecx, [esp + 0xe5e4]
push ecx
mov ecx, eax
call fcn.00442710
mov esi, eax
jmp 0x434e73
xor esi, esi
lea edx, [esp + 0x20c]
push edx
mov ecx, esi
mov byte [esp + 0x1f618], 0xe
call fcn.00442920
cmp dword [esp + 0x210], 0
je 0x434ead
mov eax, dword [esp + 0x20c]
mov eax, dword [eax]
lea ecx, [esp + 0x11c]
push ecx
push eax
mov ecx, esi
call fcn.00442a10
push str.Printer
mov ecx, esi
call fcn.00441ae0
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x434ec8
mov bl, 1
push str.Image
mov ecx, esi
call fcn.00441ae0
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x434ee6
mov byte [esp + 0x17], 1
test esi, esi
je 0x434efa
mov ecx, esi
call fcn.00443470
push esi
call fcn.0044e22a
add esp, 4
mov byte [esp + 0x23], 1
jmp 0x434f3a
lea edx, [esp + 0x10728]
push str.Printer
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x434f1c
mov bl, 1
lea eax, [esp + 0x10728]
push str.Image
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x434f3a
mov byte [esp + 0x17], 1
test bl, bl
je 0x435354
xor ebx, ebx
mov dword [esp + 0x50], ebx
cmp word [esp + 0xf8f0], bx
je 0x434fa7
cmp word [esp + 0xff08], bx
je 0x434fa7
push 0x82c
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x10
test eax, eax
je 0x434f97
lea ecx, [esp + 0xff08]
push ecx
lea edx, [esp + 0xf8f4]
push edx
push ebx
mov ecx, eax
call fcn.0044e070
jmp 0x434f99
xor eax, eax
mov byte [esp + 0x1f614], 0xe
mov ebx, eax
mov dword [esp + 0x50], eax
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x11
test eax, eax
je 0x434fe6
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push ebx
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov edi, eax
mov dword [esp + 0x44], eax
jmp 0x434fec
xor edi, edi
mov dword [esp + 0x44], edi
mov byte [esp + 0x1f614], 0xe
test edi, edi
je 0x435340
lea ecx, [esp + 0x134]
call fcn.00407d10
lea edx, [esp + 0x134]
push edx
lea eax, [esp + 0xf214]
push eax
lea ecx, [esp + 0xe1d8]
push ecx
mov ecx, edi
mov byte [esp + 0x1f620], 0x12
call fcn.00412850
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 + 0x49], 1
mov dword [ebp + 0x47c], esi
sub edx, eax
jmp 0x435060
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x435060
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x1564c]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x15654]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4350a4
sub eax, edx
push 0
sar eax, 1
lea edx, [esp + 0x64]
push edx
mov edx, dword [ebp + 0x260]
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x1564c]
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 + 0x120]
xor ebp, ebp
mov dword [esp + 0x28], ecx
test esi, esi
jle 0x4352cb
jmp 0x435100
mov edx, dword [esp + 0x134]
mov eax, dword [edx + ebp*8]
xor bl, bl
lea edi, [eax + 0x208]
cmp byte [esp + 0x23], bl
je 0x43514d
xor esi, esi
cmp dword [esp + 0x28], esi
jle 0x4352b8
mov eax, dword [esp + 0x11c]
mov eax, dword [eax + esi*8]
push eax
push edi
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43513e
mov bl, 1
inc esi
cmp esi, dword [esp + 0x28]
jl 0x435124
test bl, bl
je 0x4352b8
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x12fb2]
push edx
mov word [esp + 0x12fb4], cx
call fcn.0044e1b0
mov eax, dword [esp + 0x140]
mov eax, dword [eax + ebp*8]
add eax, 0x149c
lea edx, [esp + 0x12fb4]
add esp, 0xc
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x435185
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x12fa8]
push ecx
mov ecx, dword [esi + 0x21c]
call fcn.00447590
cmp eax, 0x14
jge 0x4351e7
push eax
lea edx, [esp + 0x12fac]
push edx
push str.DataFile___s__size___d___this_could_be_none_KX_driver_n
call fcn.004412c0
add esp, 0xc
xor eax, eax
jmp 0x4351d0
movzx ecx, word [eax + 0x46574c]
mov word [esp + eax + 0x12fa8], cx
add eax, 2
test cx, cx
jne 0x4351d0
mov eax, dword [esp + 0x134]
mov eax, dword [eax + ebp*8]
lea ecx, [eax + 0x16a4]
push ecx
movzx ecx, word [eax + 0xc78]
lea edx, [esp + 0x12fac]
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 + 0x15674]
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 + 0x1567c]
add esp, 0x3c
mov dword [esp + 0x60], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x435273
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esi + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1564c]
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 0x435100
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x50]
lea ecx, [esp + 0x134]
call fcn.00407cb0
mov esi, dword [esp + 0x18]
push 0
lea eax, [esp + 0x64]
push eax
push 8
mov dword [esp + 0x6c], 0
mov ecx, dword [esi + 0x260]
push 0x471ee0
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.004130b0
push edi
call fcn.0044e22a
add esp, 4
lea ecx, [esp + 0x134]
mov byte [esp + 0x1f614], 0xe
call fcn.00407e50
mov ebp, esi
test ebx, ebx
je 0x435354
mov ecx, ebx
call fcn.00440490
push ebx
call fcn.0044e22a
add esp, 4
cmp byte [esp + 0x17], 0
je 0x435603
lea ecx, [esp + 0x1dc]
call fcn.00407d10
mov bl, 0x13
push 0x474
mov byte [esp + 0x1f618], bl
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x14
test eax, eax
je 0x4353a6
push 0
push 0
push 0
mov ecx, eax
call fcn.00405340
mov edi, eax
mov dword [esp + 0x50], eax
jmp 0x4353ac
xor edi, edi
mov dword [esp + 0x50], edi
mov byte [esp + 0x1f614], bl
test edi, edi
je 0x4355ef
push 0
lea eax, [esp + 0x1e0]
push eax
push str.Image
push 7
lea ecx, [esp + 0xe1e0]
push ecx
mov ecx, edi
call fcn.004035a0
mov esi, dword [esp + 0x1e0]
mov eax, str.ENUMDRIVERS_successful
lea ecx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x1c], esi
mov byte [esp + 0x49], 1
mov dword [ebp + 0x47c], esi
sub ecx, eax
jmp 0x435410
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x435410
mov edx, dword [ebp + 0x47c]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x480]
push edx
push eax
lea ecx, [esp + 0x1564c]
push str._d__d___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x15654]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x435454
sub eax, edx
push 0
sar eax, 1
lea edx, [esp + 0x64]
push edx
mov edx, dword [ebp + 0x260]
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x1564c]
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 + 0x120]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x28], 0
test esi, esi
jle 0x43558e
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1dc]
mov eax, dword [esp + 0x28]
mov eax, dword [edx + eax*8]
xor bl, bl
lea edi, [eax + 0x208]
cmp byte [esp + 0x23], bl
je 0x435509
xor esi, esi
cmp dword [esp + 0x44], esi
jle 0x435577
jmp 0x4354e0
mov ecx, dword [esp + 0x11c]
mov eax, dword [ecx + esi*8]
push eax
push edi
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4354fa
mov bl, 1
inc esi
cmp esi, dword [esp + 0x44]
jl 0x4354e0
test bl, bl
je 0x435577
push edi
lea edx, [esp + 0x15644]
push 0x467a2c
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x1564c]
add esp, 0xc
mov dword [esp + 0x60], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x435532
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [ebp + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1564c]
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 + 0x28]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0x28], eax
jl 0x4354b0
mov edi, dword [esp + 0x50]
lea ecx, [esp + 0x1dc]
call fcn.00407cb0
mov esi, dword [esp + 0x18]
push 0
lea eax, [esp + 0x64]
push eax
push 8
mov dword [esp + 0x6c], 0
mov ecx, dword [esi + 0x260]
push 0x471ee0
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.004053e0
push edi
call fcn.0044e22a
add esp, 4
mov ebp, esi
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x1f614], 0xe
call fcn.00407e50
cmp byte [esp + 0x49], 0
jne 0x4356ee
xor esi, esi
mov eax, str.ENUMDRIVERS_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], 1
mov dword [ebp + 0x47c], esi
sub edx, eax
lea ecx, [ecx]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, si
jne 0x435630
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x1564c]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x15654]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, si
jne 0x435674
mov edi, dword [sym.imp.KERNEL32.dll_WriteFile]
sub eax, edx
push esi
sar eax, 1
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [ebp + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1564c]
push eax
push ecx
call edi
mov edx, dword [ebp + 0x260]
mov ebx, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push edx
call ebx
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push esi
lea eax, [esp + 0x64]
push eax
push 8
mov dword [esp + 0x6c], esi
mov ecx, dword [ebp + 0x260]
push 0x471ee0
push ecx
call edi
mov edx, dword [ebp + 0x260]
push edx
call ebx
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
mov byte [ebp + 0x269], 1
lea ecx, [esp + 0x20c]
call fcn.00407cb0
lea ecx, [esp + 0x11c]
call fcn.00407cb0
lea ecx, [esp + 0x11c]
mov byte [esp + 0x1f614], 0xd
call fcn.00407e50
lea ecx, [esp + 0x20c]
mov dword [esp + 0x1f614], 0xffffffff
call fcn.00407e50
lea eax, [esp + 0xee00]
push str.ENUMDEVICES
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x437117
xor ecx, ecx
push 0x7fe
push ecx
lea edx, [esp + 0x1093a]
push edx
mov word [esp + 0x1093c], cx
call fcn.0044e1b0
add esp, 0xc
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x34], 0
mov byte [esp + 0x17], 0
call fcn.00407d10
lea ecx, [esp + 0xbc]
mov dword [esp + 0x1f614], 0x15
call fcn.00407d10
xor bl, bl
cmp word [esp + 0xe5e0], 0
mov byte [esp + 0x1f614], 0x16
mov byte [esp + 0x49], bl
mov byte [esp + 0x4b], bl
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4c], bl
mov byte [esp + 0x23], bl
mov byte [esp + 0x4f], bl
mov byte [esp + 0x43], bl
je 0x4358b6
push 0x4fc8
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x17
test eax, eax
je 0x435805
push 0
lea ecx, [esp + 0xe5e4]
push ecx
mov ecx, eax
call fcn.00442710
mov esi, eax
jmp 0x435807
xor esi, esi
lea edx, [esp + 0x1f4]
push edx
mov ecx, esi
mov byte [esp + 0x1f618], 0x16
call fcn.00442920
cmp dword [esp + 0x1f8], 0
je 0x435841
mov eax, dword [esp + 0x1f4]
mov eax, dword [eax]
lea ecx, [esp + 0xbc]
push ecx
push eax
mov ecx, esi
call fcn.00442a10
push str.Printer
mov ecx, esi
call fcn.00441ae0
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43585c
mov bl, 1
push str.Image
mov ecx, esi
call fcn.00441ae0
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43587a
mov byte [esp + 0x49], 1
push 0x46a3a0
mov ecx, esi
call fcn.00441ae0
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x435898
mov byte [esp + 0x4b], 1
test esi, esi
je 0x4358ac
mov ecx, esi
call fcn.00443470
push esi
call fcn.0044e22a
add esp, 4
mov byte [esp + 0x23], 1
jmp 0x435985
lea edx, [esp + 0x10728]
push str.Printer
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4358d1
mov bl, 1
lea eax, [esp + 0x10728]
push str.Image
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4358ef
mov byte [esp + 0x49], 1
lea ecx, [esp + 0x10728]
push 0x46a3a0
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43590d
mov byte [esp + 0x4b], 1
lea edx, [esp + 0x10728]
push str.WSDPrintDevice
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43592b
mov byte [esp + 0x4e], 1
lea eax, [esp + 0x10728]
push str.System
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x435949
mov byte [esp + 0x4c], 1
lea ecx, [esp + 0x10728]
push str.ContainerID
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x435967
mov byte [esp + 0x4f], 1
lea edx, [esp + 0x10728]
push str.SoftwareDevice
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x435985
mov byte [esp + 0x43], 1
test bl, bl
je 0x435d0e
xor edi, edi
mov dword [esp + 0x1c], edi
cmp word [esp + 0xf8f0], di
je 0x4359f2
cmp word [esp + 0xff08], di
je 0x4359f2
push 0x82c
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x18
test eax, eax
je 0x4359e2
lea ecx, [esp + 0xff08]
push ecx
lea edx, [esp + 0xf8f4]
push edx
push edi
mov ecx, eax
call fcn.0044e070
jmp 0x4359e4
xor eax, eax
mov byte [esp + 0x1f614], 0x16
mov edi, eax
mov dword [esp + 0x1c], eax
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x28], eax
mov byte [esp + 0x1f614], 0x19
test eax, eax
je 0x435a31
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push edi
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
mov dword [esp + 0x50], eax
jmp 0x435a37
xor esi, esi
mov dword [esp + 0x50], esi
mov byte [esp + 0x1f614], 0x16
test esi, esi
je 0x435cfa
lea ecx, [esp + 0x224]
call fcn.00407d10
lea edx, [esp + 0x224]
push edx
lea eax, [esp + 0xe1d4]
push eax
mov ecx, esi
mov byte [esp + 0x1f61c], 0x1a
call fcn.00412cb0
mov dword [ebp + 0x480], 1
mov dword [esp + 0x44], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea edx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub edx, eax
jmp 0x435aa0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x435aa0
mov ecx, dword [ebp + 0x47c]
mov edx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
push ecx
push edx
lea eax, [esp + 0x1093c]
push str._d__d___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10944]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x435ae4
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0xc0]
xor ebp, ebp
cmp dword [esp + 0x44], ebp
mov dword [esp + 0x28], eax
jle 0x435c81
lea esp, [esp]
cmp byte [esp + 0x23], 0
mov byte [esp + 0x48], 0
je 0x435b9f
mov ecx, dword [esp + 0x224]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x28], esi
lea edi, [eax + 0x208]
jle 0x435c76
jmp 0x435b70
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x435b8d
mov byte [esp + 0x48], 1
inc esi
cmp esi, dword [esp + 0x28]
jl 0x435b70
cmp byte [esp + 0x48], 0
je 0x435c76
mov eax, dword [esp + 0x224]
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 + 0x10968]
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 + 0x10970]
add esp, 0x40
mov dword [esp + 0x34], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x435c31
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0x44]
jl 0x435b40
lea ecx, [esp + 0x224]
call fcn.00407cb0
push 0
lea eax, [esp + 0x38]
push eax
push 8
mov dword [esp + 0x40], 0
mov ecx, dword [ebx + 0x260]
push 0x471ee0
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 + 0x50]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
lea ecx, [esp + 0x224]
mov byte [esp + 0x1f614], 0x16
call fcn.00407e50
mov edi, dword [esp + 0x1c]
mov ebp, ebx
test edi, edi
je 0x435d0e
mov ecx, edi
call fcn.00440490
push edi
call fcn.0044e22a
add esp, 4
cmp byte [esp + 0x49], 0
je 0x436026
lea ecx, [esp + 0x1ac]
call fcn.00407d10
mov bl, 0x1b
push 0x474
mov byte [esp + 0x1f618], bl
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x1c
test eax, eax
je 0x435d60
push 0
push 0
push 0
mov ecx, eax
call fcn.00405340
mov ecx, eax
mov dword [esp + 0x44], eax
jmp 0x435d66
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov byte [esp + 0x1f614], bl
test ecx, ecx
je 0x436012
xor eax, eax
cmp byte [esp + 0x33], al
je 0x435d82
mov eax, 2
push eax
lea eax, [esp + 0x1b0]
push eax
push str.Image
push 7
lea edx, [esp + 0xe1e0]
push edx
call fcn.004035a0
mov eax, dword [esp + 0x1b0]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x28], 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 0x435dd0
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x1093c]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10944]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x435e14
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0xc0]
xor ebp, ebp
cmp dword [esp + 0x28], ebp
mov dword [esp + 0x1c], eax
jle 0x435fb1
lea esp, [esp]
cmp byte [esp + 0x23], 0
mov byte [esp + 0x48], 0
je 0x435ecf
mov ecx, dword [esp + 0x1ac]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x435fa6
jmp 0x435ea0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x435ebd
mov byte [esp + 0x48], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x435ea0
cmp byte [esp + 0x48], 0
je 0x435fa6
mov eax, dword [esp + 0x1ac]
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 + 0x10968]
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 + 0x10970]
add esp, 0x40
mov dword [esp + 0x34], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x435f61
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0x28]
jl 0x435e70
lea ecx, [esp + 0x1ac]
call fcn.00407cb0
push 0
lea eax, [esp + 0x38]
push eax
push 8
mov dword [esp + 0x40], 0
mov ecx, dword [ebx + 0x260]
push 0x471ee0
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 + 0x44]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x1f614], 0x16
call fcn.00407e50
cmp byte [esp + 0x4b], 0
je 0x436346
lea ecx, [esp + 0x1c4]
call fcn.00407d10
mov bl, 0x1d
push 0x474
mov byte [esp + 0x1f618], bl
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x1e
test eax, eax
je 0x436078
push 0
push 0
push 0
mov ecx, eax
call fcn.00405340
mov ecx, eax
mov dword [esp + 0x44], eax
jmp 0x43607e
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov byte [esp + 0x1f614], bl
test ecx, ecx
je 0x436332
xor eax, eax
cmp byte [esp + 0x33], al
je 0x43609a
mov eax, 2
push eax
lea eax, [esp + 0x1c8]
push eax
push 0x46a3a0
push 7
lea edx, [esp + 0xe1e0]
push edx
call fcn.004035a0
mov eax, dword [esp + 0x1c8]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x28], 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 0x4360e4
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x1093c]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10944]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x436130
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436130
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0xc0]
xor ebp, ebp
cmp dword [esp + 0x28], ebp
mov dword [esp + 0x1c], eax
jle 0x4362d1
jmp 0x436190
cmp byte [esp + 0x23], 0
mov byte [esp + 0x48], 0
je 0x4361ef
mov ecx, dword [esp + 0x1c4]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x4362c6
jmp 0x4361c0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4361dd
mov byte [esp + 0x48], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x4361c0
cmp byte [esp + 0x48], 0
je 0x4362c6
mov eax, dword [esp + 0x1c4]
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 + 0x10968]
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 + 0x10970]
add esp, 0x40
mov dword [esp + 0x34], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436281
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0x28]
jl 0x436190
lea ecx, [esp + 0x1c4]
call fcn.00407cb0
push 0
lea eax, [esp + 0x38]
push eax
push 8
mov dword [esp + 0x40], 0
mov ecx, dword [ebx + 0x260]
push 0x471ee0
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 + 0x44]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x1c4]
mov byte [esp + 0x1f614], 0x16
call fcn.00407e50
cmp byte [esp + 0x4e], 0
je 0x436666
lea ecx, [esp + 0x17c]
call fcn.00407d10
mov bl, 0x1f
push 0x474
mov byte [esp + 0x1f618], bl
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x20
test eax, eax
je 0x436398
push 0
push 0
push 0
mov ecx, eax
call fcn.00405340
mov ecx, eax
mov dword [esp + 0x44], eax
jmp 0x43639e
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov byte [esp + 0x1f614], bl
test ecx, ecx
je 0x436652
xor eax, eax
cmp byte [esp + 0x33], al
je 0x4363ba
mov eax, 2
push eax
lea eax, [esp + 0x180]
push eax
push str.WSDPrintDevice
push 7
lea edx, [esp + 0xe1e0]
push edx
call fcn.004035a0
mov eax, dword [esp + 0x180]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x28], 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 0x436404
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x1093c]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10944]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x436450
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436450
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0xc0]
xor ebp, ebp
cmp dword [esp + 0x28], ebp
mov dword [esp + 0x1c], eax
jle 0x4365f1
jmp 0x4364b0
cmp byte [esp + 0x23], 0
mov byte [esp + 0x4e], 0
je 0x43650f
mov ecx, dword [esp + 0x17c]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x4365e6
jmp 0x4364e0
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4364fd
mov byte [esp + 0x4e], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x4364e0
cmp byte [esp + 0x4e], 0
je 0x4365e6
mov eax, dword [esp + 0x17c]
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 + 0x10968]
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 + 0x10970]
add esp, 0x40
mov dword [esp + 0x34], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4365a1
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0x28]
jl 0x4364b0
lea ecx, [esp + 0x17c]
call fcn.00407cb0
push 0
lea eax, [esp + 0x38]
push eax
push 8
mov dword [esp + 0x40], 0
mov ecx, dword [ebx + 0x260]
push 0x471ee0
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 + 0x44]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x17c]
mov byte [esp + 0x1f614], 0x16
call fcn.00407e50
cmp byte [esp + 0x4c], 0
je 0x43699b
lea ecx, [esp + 0x14c]
call fcn.00407d10
mov bl, 0x21
push 0x474
mov byte [esp + 0x1f618], bl
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x22
test eax, eax
je 0x4366b8
push 0
push 0
push 0
mov ecx, eax
call fcn.00405340
mov ecx, eax
mov dword [esp + 0x44], eax
jmp 0x4366be
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov byte [esp + 0x1f614], bl
test ecx, ecx
je 0x436987
xor eax, eax
cmp byte [esp + 0x33], al
je 0x4366da
mov eax, 2
push eax
lea eax, [esp + 0x150]
push eax
push str.System
push 7
lea edx, [esp + 0xe1e0]
push edx
call fcn.004035a0
mov eax, dword [esp + 0x150]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x28], 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 0x436724
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x1093c]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10944]
add esp, 0x14
lea edx, [eax + 2]
jmp 0x436770
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436770
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0xc0]
xor ebp, ebp
cmp dword [esp + 0x28], ebp
mov dword [esp + 0x1c], eax
jle 0x436926
jmp 0x4367d0
cmp byte [esp + 0x23], 0
mov byte [esp + 0x4c], 0
je 0x43682f
mov ecx, dword [esp + 0x14c]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x43691b
jmp 0x436800
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43681d
mov byte [esp + 0x4c], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x436800
cmp byte [esp + 0x4c], 0
je 0x43691b
mov eax, dword [esp + 0x14c]
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 + 0x10968]
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 + 0x10970]
add esp, 0x40
mov dword [esp + 0x34], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4368c1
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0x10930]
push eax
push str.System___s__n
call fcn.004412c0
add esp, 8
inc ebp
cmp ebp, dword [esp + 0x28]
jl 0x4367d0
lea ecx, [esp + 0x14c]
call fcn.00407cb0
push 0
lea ecx, [esp + 0x38]
push ecx
push 8
mov dword [esp + 0x40], 0
mov edx, dword [ebx + 0x260]
push 0x471ee0
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 + 0x44]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x14c]
mov byte [esp + 0x1f614], 0x16
call fcn.00407e50
cmp byte [esp + 0x4f], 0
je 0x436ccb
lea ecx, [esp + 0x164]
call fcn.00407d10
mov bl, 0x23
push 0x474
mov byte [esp + 0x1f618], bl
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x24
test eax, eax
je 0x4369ed
push 0
push 0
push 0
mov ecx, eax
call fcn.00405340
mov ecx, eax
mov dword [esp + 0x44], eax
jmp 0x4369f3
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov byte [esp + 0x1f614], bl
test ecx, ecx
je 0x436cb7
xor eax, eax
cmp byte [esp + 0x33], al
je 0x436a0f
mov eax, 2
push eax
lea edx, [esp + 0x168]
push edx
lea eax, [esp + 0x17490]
push eax
push 0x24
lea edx, [esp + 0xe1e0]
push edx
call fcn.004035a0
mov eax, dword [esp + 0x168]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x28], 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 0x436a60
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x1093c]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10944]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436aa4
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0xc0]
xor ebp, ebp
cmp dword [esp + 0x28], ebp
mov dword [esp + 0x1c], eax
jle 0x436c56
lea esp, [esp]
cmp byte [esp + 0x23], 0
mov byte [esp + 0x4f], 0
je 0x436b5f
mov ecx, dword [esp + 0x164]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x436c4b
jmp 0x436b30
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x436b4d
mov byte [esp + 0x4f], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x436b30
cmp byte [esp + 0x4f], 0
je 0x436c4b
mov eax, dword [esp + 0x164]
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 + 0x10968]
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 + 0x10970]
add esp, 0x40
mov dword [esp + 0x34], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436bf1
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0x10930]
push eax
push str.Device_By_Container_ID___s__n
call fcn.004412c0
add esp, 8
inc ebp
cmp ebp, dword [esp + 0x28]
jl 0x436b00
lea ecx, [esp + 0x164]
call fcn.00407cb0
push 0
lea ecx, [esp + 0x38]
push ecx
push 8
mov dword [esp + 0x40], 0
mov edx, dword [ebx + 0x260]
push 0x471ee0
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 + 0x44]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x164]
mov byte [esp + 0x1f614], 0x16
call fcn.00407e50
cmp byte [esp + 0x43], 0
je 0x436fe6
lea ecx, [esp + 0x194]
call fcn.00407d10
mov bl, 0x25
push 0x474
mov byte [esp + 0x1f618], bl
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov byte [esp + 0x1f614], 0x26
test eax, eax
je 0x436d1d
push 0
push 0
push 0
mov ecx, eax
call fcn.00405340
mov ecx, eax
mov dword [esp + 0x44], eax
jmp 0x436d23
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov byte [esp + 0x1f614], bl
test ecx, ecx
je 0x436fd2
xor eax, eax
cmp byte [esp + 0x33], al
je 0x436d3f
mov eax, 2
push eax
lea edx, [esp + 0x198]
push edx
push str.SoftwareDevice
push 7
lea eax, [esp + 0xe1e0]
push eax
call fcn.004035a0
mov eax, dword [esp + 0x198]
mov dword [ebp + 0x480], 1
mov dword [esp + 0x28], eax
mov dword [ebp + 0x47c], eax
mov eax, str.ENUMDEVICES_successful
lea ecx, [ebp + 0x484]
mov byte [esp + 0x17], 1
sub ecx, eax
lea esp, [esp]
movzx edx, word [eax]
mov word [ecx + eax], dx
add eax, 2
test dx, dx
jne 0x436d90
mov ecx, dword [ebp + 0x47c]
mov edx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
push ecx
push edx
lea eax, [esp + 0x1093c]
push str._d__d___s_
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10944]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436dd4
mov ebx, dword [esp + 0x18]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0xc0]
xor ebp, ebp
cmp dword [esp + 0x28], ebp
mov dword [esp + 0x1c], eax
jle 0x436f71
lea esp, [esp]
cmp byte [esp + 0x23], 0
mov byte [esp + 0x43], 0
je 0x436e8f
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + ebp*8]
xor esi, esi
cmp dword [esp + 0x1c], esi
lea edi, [eax + 0x208]
jle 0x436f66
jmp 0x436e60
mov edx, dword [esp + 0xbc]
mov eax, dword [edx + esi*8]
push eax
push edi
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x436e7d
mov byte [esp + 0x43], 1
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x436e60
cmp byte [esp + 0x43], 0
je 0x436f66
mov eax, dword [esp + 0x194]
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 + 0x10968]
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 + 0x10970]
add esp, 0x40
mov dword [esp + 0x34], 0
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x436f21
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebx + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
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 + 0x28]
jl 0x436e30
lea ecx, [esp + 0x194]
call fcn.00407cb0
push 0
lea eax, [esp + 0x38]
push eax
push 8
mov dword [esp + 0x40], 0
mov ecx, dword [ebx + 0x260]
push 0x471ee0
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 + 0x44]
mov ecx, esi
mov byte [ebx + 0x269], 1
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
mov ebp, ebx
lea ecx, [esp + 0x194]
mov byte [esp + 0x1f614], 0x16
call fcn.00407e50
cmp byte [esp + 0x17], 0
jne 0x4370d4
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 [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437012
mov ecx, dword [ebp + 0x480]
lea eax, [ebp + 0x484]
push eax
mov eax, dword [ebp + 0x47c]
push eax
push ecx
lea edx, [esp + 0x1093c]
push str._d__d___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x10944]
add esp, 0x14
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x437056
mov esi, dword [sym.imp.KERNEL32.dll_WriteFile]
sub eax, edx
push 0
sar eax, 1
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [ebp + 0x260]
lea edx, [eax + eax + 2]
push edx
lea eax, [esp + 0x1093c]
push eax
push ecx
call esi
mov edx, dword [ebp + 0x260]
mov edi, dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
push edx
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x64
call ebx
push 0
lea eax, [esp + 0x38]
push eax
push 8
mov dword [esp + 0x40], 0
mov ecx, dword [ebp + 0x260]
push 0x471ee0
push ecx
call esi
mov edx, dword [ebp + 0x260]
push edx
call edi
push 0x64
call ebx
mov byte [ebp + 0x269], 1
lea ecx, [esp + 0x1f4]
call fcn.00407cb0
lea ecx, [esp + 0xbc]
call fcn.00407cb0
lea ecx, [esp + 0xbc]
mov byte [esp + 0x1f614], 0x15
call fcn.00407e50
lea ecx, [esp + 0x1f4]
mov dword [esp + 0x1f614], 0xffffffff
call fcn.00407e50
lea eax, [esp + 0xee00]
push str.ADDDRV
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4376b1
mov byte [esp + 0x43], al
cmp word [esp + 0xe3d8], ax
je 0x437681
cmp word [esp + 0xe5e0], ax
je 0x437681
xor edi, edi
mov dword [esp + 0x28], edi
cmp word [esp + 0xf8f0], di
je 0x4371b1
push 0x82c
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 0x27
test eax, eax
je 0x43719e
lea ecx, [esp + 0xff08]
push ecx
lea edx, [esp + 0xf8f4]
push edx
push edi
mov ecx, eax
call fcn.0044e070
jmp 0x4371a0
xor eax, eax
mov dword [esp + 0x1f614], 0xffffffff
mov edi, eax
mov dword [esp + 0x28], eax
push 0x434
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 0x28
test eax, eax
je 0x4371e6
push 0
lea ecx, [esp + 0xe5e4]
push ecx
mov ecx, eax
call fcn.00407660
mov ebx, eax
jmp 0x4371e8
xor ebx, ebx
push str.Printer
mov ecx, ebx
mov dword [esp + 0x1f618], 0xffffffff
call fcn.004069e0
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43750c
push 0x11c
push eax
lea edx, [esp + 0x2a4]
push edx
call fcn.0044e1b0
add esp, 0xc
lea eax, [esp + 0x29c]
push eax
mov dword [esp + 0x2a0], 0x11c
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test byte [esp + 0x3b4], 0x40
je 0x4373b8
xor eax, eax
push 0x44
push eax
lea ecx, [esp + 0x260]
push ecx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
call fcn.0044e1b0
mov edx, 1
add esp, 0xc
cmp word [esp + 0xe1d0], 0
mov dword [esp + 0x258], 0x44
mov word [esp + 0x288], dx
mov dword [esp + 0x284], edx
je 0x4372e0
lea eax, [esp + 0xe5e0]
push eax
lea ecx, [esp + 0xf214]
push ecx
lea edx, [esp + 0xe3e0]
push edx
lea eax, [esp + 0xe1dc]
push eax
lea ecx, [esp + 0x1d5d8]
push str.rundll32_printui.dll_PrintUIEntry__ia__K__c_s__m___s___h___s___v_3__f___s_
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
jmp 0x43730e
lea edx, [esp + 0xe5e0]
push edx
lea eax, [esp + 0xf214]
push eax
lea ecx, [esp + 0xe3e0]
push ecx
lea edx, [esp + 0x1d5d4]
push str.rundll32_printui.dll_PrintUIEntry__ia__K__m___s___h___s___v_3__f___s_
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x14
lea eax, [esp + 0x1d5c8]
push eax
push str.Command____s____d_n
call fcn.004412c0
add esp, 8
lea ecx, [esp + 0x100]
push ecx
lea edx, [esp + 0x25c]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x1d5e8]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x43739b
mov esi, dword [sym.imp.KERNEL32.dll_GetExitCodeProcess]
mov dword [esp + 0xb8], 0
mov edi, 0x103
lea esp, [esp]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [esp + 0x100]
lea ecx, [esp + 0xb8]
push ecx
push edx
call esi
cmp dword [esp + 0xb8], edi
je 0x437370
jmp 0x437508
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
call esi
push eax
push str.CreateProcess_failure____ld_n
call fcn.004412c0
add esp, 8
call esi
jmp 0x43750c
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 0x29
test eax, eax
je 0x4373f6
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push edi
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x4373f8
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x43750c
lea edx, [esp + 0xf210]
push edx
lea eax, [esp + 0xe1d4]
push eax
mov ecx, esi
call fcn.00410160
xor edi, edi
cmp byte [esp + 0x64], 0
je 0x437430
mov edi, 1
cmp byte [esp + 0x5b], 0
je 0x43743a
or edi, 2
cmp byte [esp + 0x4a], 0
je 0x437444
or edi, 4
cmp word [esp + 0xe1d0], 0
je 0x43748b
push str.use_InstallPrinterDriverViaSvc___n
call fcn.004412c0
mov edx, dword [esp + 0x7c]
add esp, 4
push edi
lea ecx, [esp + 0xf214]
push ecx
push edx
lea eax, [esp + 0xe3e4]
push eax
lea ecx, [esp + 0xe5f0]
push ecx
lea edx, [esp + 0xe1e4]
push edx
mov ecx, esi
call fcn.004134b0
jmp 0x4374bf
push str.use_InstallPrinterDriver___n
call fcn.004412c0
mov ecx, dword [esp + 0x7c]
add esp, 4
push edi
lea eax, [esp + 0xf214]
push eax
push ecx
lea edx, [esp + 0xe3e4]
push edx
lea eax, [esp + 0xe5f0]
push eax
push 0
mov ecx, esi
call fcn.00415400
mov dword [esp + 0x2c], eax
test eax, eax
je 0x4374ef
lea ecx, [esp + 0xe5e0]
push ecx
lea edx, [esp + 0xe1d4]
push edx
mov ecx, esi
call fcn.0040e300
mov byte [esp + 0x43], 1
mov dword [ebp + 0x47c], 0
jmp 0x4374f8
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
mov edi, dword [esp + 0x28]
push str.Image
mov ecx, ebx
call fcn.004069e0
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43761c
push 0x474
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 0x2a
test eax, eax
je 0x437560
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405340
mov esi, eax
jmp 0x437562
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x43761c
xor eax, eax
jmp 0x437580
movzx ecx, word [eax + str.ScannerAddress]
mov word [esp + eax + 0x3bc], cx
add eax, 2
test cx, cx
jne 0x437580
xor eax, eax
cmp word [esp + 0x10318], ax
je 0x4375ca
jmp 0x4375b0
movzx ecx, word [esp + eax + 0x10318]
mov word [esp + eax + 0x5c4], cx
add eax, 2
test cx, cx
jne 0x4375b0
jmp 0x4375d2
mov word [esp + 0x5c4], ax
lea ecx, [esp + 0x3b8]
push ecx
lea edx, [esp + 0xe3dc]
push edx
lea eax, [esp + 0xe5e8]
push eax
lea ecx, [esp + 0xe1dc]
push ecx
mov ecx, esi
call fcn.00402610
xor edx, edx
test eax, eax
setne dl
mov ecx, esi
mov dword [ebp + 0x480], edx
mov dword [ebp + 0x47c], eax
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
test edi, edi
je 0x437630
mov ecx, edi
call fcn.00440490
push edi
call fcn.0044e22a
add esp, 4
cmp byte [esp + 0x43], 0
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
je 0x437661
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 0x437650
jmp 0x4376b1
mov eax, str.ADDDRV_installation_failed
sub edx, eax
jmp 0x437670
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x437670
jmp 0x4376b1
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 0x4376a2
lea eax, [esp + 0xee00]
push str.ADDPRN
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x437ae1
cmp word [esp + 0xe3d8], ax
je 0x437ae1
cmp word [esp + 0x10520], ax
je 0x437ae1
xor esi, esi
mov dword [esp + 0x1c], esi
cmp word [esp + 0xf8f0], si
je 0x437747
push 0x82c
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 0x2b
test eax, eax
je 0x437734
lea ecx, [esp + 0xff08]
push ecx
lea edx, [esp + 0xf8f4]
push edx
push esi
mov ecx, eax
call fcn.0044e070
jmp 0x437736
xor eax, eax
mov dword [esp + 0x1f614], 0xffffffff
mov esi, eax
mov dword [esp + 0x1c], eax
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x28], eax
mov dword [esp + 0x1f614], 0x2c
test eax, eax
je 0x437785
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push esi
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov edi, eax
jmp 0x437787
xor edi, edi
mov dword [esp + 0x1f614], 0xffffffff
test edi, edi
je 0x437acd
cmp word [esp + 0xe1d0], 0
je 0x4377bc
lea edx, [esp + 0xf210]
push edx
lea eax, [esp + 0xe1d4]
push eax
mov ecx, edi
call fcn.00410160
cmp word [esp + 0xebf8], 0
jne 0x4377e8
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0xe3d8]
mov word [esp + eax + 0xebf8], cx
add eax, 2
test cx, cx
jne 0x4377d0
cmp word [esp + 0xf210], 0
jne 0x437847
lea ecx, [esp + 0xe1d0]
push ecx
mov ecx, dword [ebp + 0x21c]
call fcn.0044a530
cmp eax, 0x100
jge 0x437829
xor eax, eax
nop
movzx ecx, word [eax + str.Windows_NT_x86]
mov word [esp + eax + 0xf210], cx
add eax, 2
test cx, cx
jne 0x437810
jmp 0x437847
xor eax, eax
jmp 0x437830
movzx ecx, word [eax + str.Windows_x64]
mov word [esp + eax + 0xf210], cx
add eax, 2
test cx, cx
jne 0x437830
cmp word [esp + 0xe5e0], 0
push 0
je 0x43795a
mov ebx, dword [esp + 0x7c]
push ebx
lea edx, [esp + 0xf218]
push edx
lea eax, [esp + 0xe3e4]
push eax
lea ecx, [esp + 0xe5f0]
push ecx
lea edx, [esp + 0xe1e4]
push edx
mov ecx, edi
call fcn.00413ac0
mov esi, eax
test esi, esi
jne 0x437941
cmp byte [esp + 0x64], al
je 0x437897
lea esi, [eax + 1]
cmp byte [esp + 0x5b], 0
je 0x4378a1
or esi, 2
cmp byte [esp + 0x4a], 0
je 0x4378ab
or esi, 4
cmp word [esp + 0xe1d0], 0
je 0x4378ee
push str.use_InstallPrinterDriverViaSvc___n
call fcn.004412c0
add esp, 4
push esi
lea eax, [esp + 0xf214]
push eax
push ebx
lea ecx, [esp + 0xe3e4]
push ecx
lea edx, [esp + 0xe5f0]
push edx
lea eax, [esp + 0xe1e4]
push eax
mov ecx, edi
call fcn.004134b0
jmp 0x43791e
push str.use_InstallPrinterDriver___n
call fcn.004412c0
add esp, 4
push esi
lea ecx, [esp + 0xf214]
push ecx
push ebx
lea edx, [esp + 0xe3e4]
push edx
lea eax, [esp + 0xe5f0]
push eax
push 0
mov ecx, edi
call fcn.00415400
mov esi, eax
test esi, esi
je 0x437a72
lea ecx, [esp + 0xe5e0]
push ecx
lea edx, [esp + 0xe1d4]
push edx
mov ecx, edi
call fcn.0040e300
jmp 0x437982
lea eax, [esp + 0xe5e0]
push eax
lea ecx, [esp + 0xe1d4]
push ecx
mov ecx, edi
call fcn.0040e300
jmp 0x437982
mov edx, dword [esp + 0x7c]
push edx
lea eax, [esp + 0xf218]
push eax
lea ecx, [esp + 0xe3e4]
push ecx
push 0
lea edx, [esp + 0xe1e4]
push edx
mov ecx, edi
call fcn.00413ac0
mov esi, eax
test esi, esi
je 0x437a72
cmp word [esp + 0xe5e0], 0
je 0x4379c4
cmp word [esp + 0x10110], 0
jne 0x4379c4
push 0x4669b8
lea eax, [esp + 0x10114]
push eax
lea ecx, [esp + 0xe3e0]
push ecx
lea edx, [esp + 0xe5ec]
push edx
mov ecx, edi
call fcn.00413900
xor eax, eax
cmp byte [esp + 0x64], al
je 0x4379d1
mov eax, 1
mov ecx, dword [esp + 0x80]
push eax
lea eax, [esp + 0x1480c]
push eax
mov eax, dword [esp + 0x64]
push ecx
lea edx, [esp + 0x14a1c]
push edx
push eax
lea ecx, [esp + 0x10534]
push ecx
lea edx, [esp + 0x10128]
push edx
lea eax, [esp + 0xe3f4]
push eax
lea ecx, [esp + 0xec18]
push ecx
lea edx, [esp + 0xe1f4]
push edx
mov ecx, edi
call fcn.00410b70
lea edx, [ebp + 0x484]
test eax, eax
je 0x437a51
mov eax, str.ADDPRN_printer_installed.
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 0x437a40
jmp 0x437aaf
mov eax, dword [edi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.ADDPRN_printer_install_failed.
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x437a61
jmp 0x437aaf
cmp word [esp + 0xe5e0], 0
je 0x437a88
mov ecx, dword [edi + 0x24]
mov dword [ebp + 0x47c], ecx
jmp 0x437a92
mov dword [ebp + 0x47c], 2
mov eax, str.ADDPRN_printer_driver_install_failed.
lea edx, [ebp + 0x484]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x437aa0
mov ecx, edi
mov dword [ebp + 0x480], 1
call fcn.004130b0
push edi
call fcn.0044e22a
mov esi, dword [esp + 0x20]
add esp, 4
test esi, esi
je 0x437ae1
mov ecx, esi
call fcn.00440490
push esi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.PRINTTESTPAGE
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x437b4f
push 0x206
push eax
lea ecx, [esp + 0x180c2]
push ecx
mov word [esp + 0x180c4], ax
call fcn.0044e1b0
add esp, 0xc
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [esp + eax + 0xe5e0]
mov word [esp + eax + 0x180b8], cx
add eax, 2
test cx, cx
jne 0x437b20
lea edx, [esp + 0xebf8]
push edx
lea eax, [esp + 0xe1d4]
push eax
mov ecx, ebp
call fcn.0042fc30
lea ecx, [esp + 0xee00]
push str.SETPRN
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x437bb6
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x14808]
push edx
mov edx, dword [esp + 0x60]
push eax
lea ecx, [esp + 0x14a18]
push ecx
push edx
lea eax, [esp + 0x10530]
push eax
lea ecx, [esp + 0x16c7c]
push ecx
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0xec10]
push edx
mov edx, dword [esp + 0x54]
lea eax, [esp + 0xe1ec]
push eax
push ecx
push edx
mov ecx, ebp
call fcn.0042fe20
lea eax, [esp + 0xee00]
push str.SETPRNDATA
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x437c02
lea ecx, [esp + 0x15e40]
push ecx
mov ecx, dword [esp + 0x28]
push 4
lea edx, [esp + 0x17080]
push edx
lea eax, [esp + 0xec04]
push eax
mov eax, dword [esp + 0x48]
push ecx
lea edx, [esp + 0xe1e4]
push edx
push eax
mov ecx, ebp
call fcn.0042ff70
lea ecx, [esp + 0xee00]
push str.RMVDRV
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x437d3f
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esp + 0x1f614], 0x2d
test eax, eax
je 0x437c5f
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x3c]
xor edi, edi
push edi
lea ecx, [esp + 0xe1d8]
push ecx
push edx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x437c63
xor esi, esi
xor edi, edi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x437d13
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x64]
push eax
push ecx
lea edx, [esp + 0xf218]
push edx
lea eax, [esp + 0xe3e4]
push eax
lea ecx, [esp + 0xe1e0]
push ecx
mov ecx, esi
call fcn.00415f70
mov ecx, eax
mov eax, 1
mov edx, eax
sub edx, ecx
mov dword [ebp + 0x480], edx
mov dword [esp + 0x2c], ecx
mov dword [ebp + 0x480], eax
lea edx, [ebp + 0x484]
cmp ecx, edi
je 0x437ce2
mov eax, str.RMVDRV_printer_driver_removed.
mov dword [ebp + 0x47c], edi
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x437cd1
jmp 0x437d01
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 [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x437cf2
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x437d3f
mov eax, str.RMVDRV_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 [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x437d30
lea ecx, [esp + 0xee00]
push str.RMVPRN
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x437e91
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
xor edi, edi
mov dword [esp + 0x1f614], 0x2e
cmp eax, edi
je 0x437d96
movzx edx, byte [esp + 0x24]
mov ecx, dword [esp + 0x38]
push edi
push edx
push edi
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x437d98
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x437e61
cmp byte [esp + 0x64], 0
mov byte [esp + 0x5c], 0
je 0x437dbc
mov byte [esp + 0x5c], 1
cmp byte [esp + 0x4d], 0
mov edx, dword [esp + 0x5c]
push edx
lea eax, [esp + 0xebfc]
lea ecx, [esp + 0xe1d4]
push eax
push ecx
mov ecx, esi
je 0x437de1
call fcn.0040c110
jmp 0x437de6
call fcn.004163b0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], 1
cmp eax, edi
je 0x437e21
mov eax, str.RMVPRN_printer_removed.
lea edx, [ebp + 0x484]
mov dword [ebp + 0x47c], edi
sub edx, eax
jmp 0x437e10
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x437e10
jmp 0x437e4f
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x47c], edx
mov eax, str.RMVPRN_operation_failed.
lea edx, [ebp + 0x484]
sub edx, eax
jmp 0x437e40
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x437e40
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x437e93
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 [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x437e80
jmp 0x437e93
xor edi, edi
lea eax, [esp + 0xee00]
push str.SETDEFPROF
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43809f
cmp word [esp + 0xebf8], di
je 0x438075
cmp word [esp + 0x12da0], di
je 0x438075
xor ebx, ebx
cmp word [esp + 0xf8f0], di
je 0x437f21
push 0x82c
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x2f
cmp eax, edi
je 0x437f12
lea ecx, [esp + 0xff08]
push ecx
lea edx, [esp + 0xf8f4]
push edx
push edi
mov ecx, eax
call fcn.0044e070
jmp 0x437f14
xor eax, eax
mov dword [esp + 0x1f614], 0xffffffff
mov ebx, eax
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x30
cmp eax, edi
je 0x437f5f
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push ebx
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x437f61
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x438031
cmp word [esp + 0xe1d0], di
je 0x437f95
lea edx, [esp + 0xf210]
push edx
lea eax, [esp + 0xe1d4]
push eax
mov ecx, esi
call fcn.00410160
push edi
lea ecx, [esp + 0x1604c]
push ecx
lea edx, [esp + 0x12da8]
push edx
lea eax, [esp + 0xec04]
push eax
lea ecx, [esp + 0xe1e0]
push ecx
mov ecx, esi
call fcn.00411070
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], 1
cmp eax, edi
je 0x437ff3
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 [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x437fe2
jmp 0x43801f
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 [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x438010
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x43805f
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 [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x438050
cmp ebx, edi
je 0x43809f
mov ecx, ebx
call fcn.00440490
push ebx
call fcn.0044e22a
add esp, 4
jmp 0x43809f
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 [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x438090
lea eax, [esp + 0xee00]
push str.ADDPROF
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43822f
cmp word [esp + 0xebf8], di
je 0x438201
cmp word [esp + 0x12da0], di
je 0x438201
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x31
cmp eax, edi
je 0x438116
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push edi
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x438118
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x4381d4
cmp word [esp + 0xe1d0], di
je 0x43814c
lea edx, [esp + 0xf210]
push edx
lea eax, [esp + 0xe1d4]
push eax
mov ecx, esi
call fcn.00410160
lea ecx, [esp + 0x12da0]
push ecx
lea edx, [esp + 0xebfc]
push edx
lea eax, [esp + 0xe1d8]
push eax
mov ecx, esi
call fcn.004118a0
mov ebx, eax
mov dword [esp + 0x2c], ebx
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp ebx, edi
je 0x4381a3
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 0x438192
jmp 0x4381c2
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 0x4381b3
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x438233
mov eax, str.ADDPROF_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
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 0x4381f0
jmp 0x43822f
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 0x438220
mov ebx, dword [esp + 0x2c]
lea edx, [esp + 0xee00]
push str.ENABLEPLUGIN
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4383bf
cmp word [esp + 0xebf8], di
je 0x438391
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x32
cmp eax, edi
je 0x43829c
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push edi
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x43829e
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x438362
cmp word [esp + 0xe1d0], di
je 0x4382d2
lea edx, [esp + 0xf210]
push edx
lea eax, [esp + 0xe1d4]
push eax
mov ecx, esi
call fcn.00410160
lea ecx, [esp + 0x16458]
push ecx
lea edx, [esp + 0xebfc]
push edx
lea eax, [esp + 0xe1d8]
push eax
mov ecx, esi
call fcn.0040c270
mov ebx, eax
mov dword [esp + 0x2c], ebx
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp ebx, edi
je 0x438331
mov eax, str.ENABLEPLUGIN_printer_default_applied.
mov dword [ebp + 0x47c], edi
sub edx, eax
jmp 0x438320
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x438320
jmp 0x438350
mov ecx, dword [esi + 0x24]
mov eax, str.ENABLEPLUGIN_operation_failed.
mov dword [ebp + 0x47c], ecx
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x438341
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x4383bf
mov eax, str.ENABLEPLUGIN_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
jmp 0x438380
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x438380
jmp 0x4383bf
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 [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4383b0
lea edx, [esp + 0xee00]
push str.DISABLEPLUGIN
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43857f
cmp word [esp + 0xebf8], di
je 0x438551
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x33
cmp eax, edi
je 0x438428
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push edi
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x43842a
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x438522
cmp word [esp + 0xe1d0], di
je 0x43845e
lea edx, [esp + 0xf210]
push edx
lea eax, [esp + 0xe1d4]
push eax
mov ecx, esi
call fcn.00410160
push 0x206
lea edx, [esp + 0x16a66]
xor ecx, ecx
push edi
push edx
mov word [esp + 0x16a6c], cx
call fcn.0044e1b0
add esp, 0xc
xor eax, eax
movzx ecx, word [esp + eax + 0xfaf8]
mov word [esp + eax + 0x16a60], cx
add eax, 2
cmp cx, di
jne 0x438480
lea eax, [esp + 0x16a60]
push eax
lea ecx, [esp + 0xebfc]
push ecx
lea edx, [esp + 0xe1d8]
push edx
mov ecx, esi
call fcn.0040c970
mov ebx, eax
mov dword [esp + 0x2c], ebx
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp ebx, edi
je 0x4384f1
mov eax, str.DISABLEPLUGIN_printer_default_applied.
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 0x4384e0
jmp 0x438510
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.DISABLEPLUGIN_operation_failed.
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x438501
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x43857f
mov eax, str.DISABLEPLUGIN_failed
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], edi
mov dword [ebp + 0x47c], edi
sub edx, eax
jmp 0x438540
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x438540
jmp 0x43857f
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 [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x438570
lea ecx, [esp + 0xee00]
push str.ISPLUGON
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43874f
cmp word [esp + 0xebf8], di
je 0x438721
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x34
cmp eax, edi
je 0x4385e8
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x3c]
push edi
lea ecx, [esp + 0xe1d8]
push ecx
push edx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x4385ea
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x4386f1
cmp word [esp + 0xe1d0], di
je 0x43861e
lea eax, [esp + 0xf210]
push eax
lea ecx, [esp + 0xe1d4]
push ecx
mov ecx, esi
call fcn.00410160
push 0x206
lea eax, [esp + 0x16e76]
xor edx, edx
push edi
push eax
mov word [esp + 0x16e7c], dx
call fcn.0044e1b0
add esp, 0xc
xor eax, eax
movzx ecx, word [esp + eax + 0xfaf8]
mov word [esp + eax + 0x16e70], cx
add eax, 2
cmp cx, di
jne 0x438640
lea ecx, [esp + 0x16e70]
push ecx
lea edx, [esp + 0xebfc]
push edx
lea eax, [esp + 0xe1d8]
push eax
mov ecx, esi
call fcn.0040cfb0
mov ebx, eax
lea edx, [ebp + 0x484]
sub edx, 0x46574c
mov dword [esp + 0x2c], ebx
cmp ebx, edi
je 0x4386b4
mov eax, 1
mov dword [ebp + 0x480], eax
mov dword [ebp + 0x47c], eax
mov eax, 0x46574c
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4386a3
jmp 0x4386df
mov dword [ebp + 0x480], 1
mov dword [ebp + 0x47c], edi
mov eax, 0x46574c
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4386d0
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x43874f
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 0x438710
jmp 0x43874f
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 0x438740
lea ecx, [esp + 0xee00]
push str.ADDTCPPORT
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4388c0
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x35
cmp eax, edi
je 0x4387aa
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x3c]
push edi
lea ecx, [esp + 0xe1d8]
push ecx
push edx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x4387ac
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x4388c0
lea eax, [esp + 0xf620]
push 0x46ac84
push eax
call fcn.0044e882
add esp, 8
test eax, eax
je 0x4387e2
cmp word [esp + 0xf620], di
jne 0x438811
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
push ecx
push edx
lea eax, [esp + 0x10320]
push eax
lea ecx, [esp + 0x1052c]
push ecx
lea edx, [esp + 0xe1e0]
push edx
mov ecx, esi
call fcn.0040e4e0
mov ebx, eax
mov dword [esp + 0x2c], ebx
lea eax, [esp + 0xf620]
push 0x472c04
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43885c
mov ecx, dword [esp + 0x74]
push ecx
lea edx, [esp + 0x13fec]
push edx
lea eax, [esp + 0x10320]
push eax
lea ecx, [esp + 0x1052c]
push ecx
lea edx, [esp + 0xe1e0]
push edx
mov ecx, esi
call fcn.0040e9e0
mov ebx, eax
mov dword [esp + 0x2c], ebx
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp ebx, edi
je 0x438891
mov eax, str.ADDTCPPORT_successful
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 0x438880
jmp 0x4388b0
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.ADDTCPPORT_failed
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x4388a1
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
lea ecx, [esp + 0xee00]
push str.UPDATETCPPORT
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x438a30
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x36
cmp eax, edi
je 0x43891b
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x3c]
push edi
lea ecx, [esp + 0xe1d8]
push ecx
push edx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x43891d
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x438a30
lea eax, [esp + 0xf620]
push 0x46ac84
push eax
call fcn.0044e882
add esp, 8
test eax, eax
je 0x438953
cmp word [esp + 0xf620], di
jne 0x438982
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
push ecx
push edx
lea eax, [esp + 0x10320]
push eax
lea ecx, [esp + 0x1052c]
push ecx
lea edx, [esp + 0xe1e0]
push edx
mov ecx, esi
call fcn.0040e760
mov ebx, eax
mov dword [esp + 0x2c], ebx
lea eax, [esp + 0xf620]
push 0x472c04
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4389cd
mov ecx, dword [esp + 0x74]
push ecx
lea edx, [esp + 0x13fec]
push edx
lea eax, [esp + 0x10320]
push eax
lea ecx, [esp + 0x1052c]
push ecx
lea edx, [esp + 0xe1e0]
push edx
mov ecx, esi
call fcn.0040eca0
mov ebx, eax
mov dword [esp + 0x2c], ebx
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp ebx, edi
je 0x438a01
mov eax, str.UPDATETCPPORT_successful
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 0x4389f0
jmp 0x438a20
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 0x438a11
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
lea ecx, [esp + 0xee00]
push str.ADDTCPLPRPORT
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x438b3f
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x37
cmp eax, edi
je 0x438a8b
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x3c]
push edi
lea ecx, [esp + 0xe1d8]
push ecx
push edx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x438a8d
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x438b3f
mov eax, dword [esp + 0x74]
push eax
lea ecx, [esp + 0x13fec]
push ecx
lea edx, [esp + 0x10320]
push edx
lea eax, [esp + 0x1052c]
push eax
lea ecx, [esp + 0xe1e0]
push ecx
mov ecx, esi
call fcn.0040e9e0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], 1
cmp eax, edi
je 0x438b02
mov eax, str.ADDTCPLPRPORT_successful
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 0x438af1
jmp 0x438b2f
mov edx, dword [esi + 0x24]
mov dword [ebp + 0x47c], edx
mov eax, str.ADDTCPLPRPORT_failed
lea edx, [ebp + 0x484]
sub edx, eax
jmp 0x438b20
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x438b20
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
lea eax, [esp + 0xee00]
push str.ADDPORTAPI
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x438c20
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x38
cmp eax, edi
je 0x438b92
push edi
push edi
lea ecx, [esp + 0xe1d8]
push ecx
push edi
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x438b94
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x438c20
lea edx, [esp + 0x11540]
push edx
mov ecx, esi
call fcn.0040f090
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
cmp eax, edi
je 0x438bf1
mov eax, str.ADDPORTAPI_successful
mov dword [ebp + 0x47c], edi
sub edx, eax
jmp 0x438be0
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
cmp cx, di
jne 0x438be0
jmp 0x438c10
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.ADDPORTAPI_failed
sub edx, eax
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
cmp cx, di
jne 0x438c01
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
lea ecx, [esp + 0xee00]
push str.DELETEMONITORAPI
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x4391ff
lea edx, [esp + 0x11540]
push edx
push str.DELETEMONITORAPI____s__n
call fcn.004412c0
add esp, 8
cmp byte [esp + 0x24], 0
jne 0x4391ff
cmp word [esp + 0x11540], 0
je 0x4391ff
lea eax, [esp + 0x90]
push eax
xor edi, edi
lea ecx, [esp + 0x74]
push ecx
push edi
push edi
push 2
push edi
mov dword [esp + 0x88], edi
mov dword [esp + 0xa8], edi
call sub.WINSPOOL.DRV_EnumPortsW
mov eax, dword [esp + 0x70]
xor ebx, ebx
mov dword [esp + 0x68], ebx
cmp eax, edi
jbe 0x438d36
push eax
call fcn.0044e993
mov ebx, eax
add esp, 4
mov dword [esp + 0x68], ebx
cmp ebx, edi
je 0x438d36
mov ecx, dword [esp + 0x70]
lea edx, [esp + 0x90]
push edx
lea eax, [esp + 0x74]
push eax
push ecx
push ebx
push 2
push edi
call sub.WINSPOOL.DRV_EnumPortsW
test eax, eax
je 0x438d36
cmp dword [esp + 0x90], edi
jle 0x438d36
lea esi, [ebx + 8]
cmp dword [esi - 8], 0
je 0x438d27
mov edx, dword [esi - 8]
push edx
push str.Port_Name___s__n
call fcn.004412c0
mov eax, dword [esi - 4]
push eax
push str.__Monitor__s__n
call fcn.004412c0
mov ecx, dword [esi]
push ecx
push str.__Desc___s__n
call fcn.004412c0
mov edx, dword [esi + 4]
push edx
push str.__Type___d__n
call fcn.004412c0
add esp, 0x20
inc edi
add esi, 0x14
cmp edi, dword [esp + 0x90]
jl 0x438ce7
xor edi, edi
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x74]
push ecx
push edi
push edi
push 2
push edi
push 2
mov dword [esp + 0x8c], edi
mov dword [esp + 0xb8], edi
call sub.WINSPOOL.DRV_EnumPrintersW
mov eax, dword [esp + 0x70]
cmp eax, edi
jbe 0x439070
push eax
call fcn.0044e993
add esp, 4
lea edx, [esp + 0x9c]
push edx
mov edx, dword [esp + 0x74]
lea ecx, [esp + 0x74]
push ecx
push edx
push eax
push 2
push edi
push 2
mov dword [esp + 0x78], eax
call sub.WINSPOOL.DRV_EnumPrintersW
test eax, eax
je 0x439059
cmp dword [esp + 0x9c], 0
mov dword [esp + 0x1c], 0
jle 0x439059
mov ebp, dword [esp + 0x5c]
add ebp, 0xc
xor ebx, ebx
lea ebx, [ebx]
mov eax, dword [ebp - 8]
push eax
push str.pPrnInfo_i_.pPrinterName____s__n
call fcn.004412c0
mov eax, dword [ebp]
add esp, 8
cmp eax, ebx
je 0x438de6
push eax
push str.pPrnInfo_i_.pPortName____s__n
call fcn.004412c0
add esp, 8
cmp dword [esp + 0x90], ebx
mov dword [esp + 0x3c], ebx
jle 0x439040
mov edi, dword [esp + 0x68]
mov dword [esp + 0x6c], edi
nop
cmp dword [edi], ebx
je 0x439023
mov eax, dword [ebp]
cmp eax, ebx
je 0x439023
cmp dword [edi + 4], ebx
je 0x439023
mov ecx, dword [edi]
push eax
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x439023
mov eax, dword [edi + 4]
lea edx, [esp + 0x11540]
push edx
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x439023
mov edx, dword [ebp]
mov eax, dword [ebp - 8]
lea ecx, [esp + 0x11540]
push ecx
push edx
push eax
push str.__Found___s__With_Port___s__Monitor___s__n
call fcn.004412c0
push 0x40e
lea edx, [esp + 0x1b396]
xor ecx, ecx
push ebx
push edx
mov dword [esp + 0xa0], 0xffffffff
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], 0xf000c
mov word [esp + 0x1b39c], cx
call fcn.0044e1b0
mov ecx, dword [ebp - 8]
add esp, 0x1c
lea edx, [esp + 0x1b380]
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
cmp ax, bx
jne 0x438eb4
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x88]
push ecx
lea edx, [esp + 0x1b388]
push edx
call sub.WINSPOOL.DRV_OpenPrinterW
test eax, eax
je 0x439023
mov ecx, dword [esp + 0x84]
lea eax, [esp + 0x7c]
push eax
push ebx
push ebx
push 2
push ecx
mov dword [esp + 0x90], ebx
call sub.WINSPOOL.DRV_GetPrinterW
mov eax, dword [esp + 0x7c]
cmp eax, ebx
je 0x439016
push eax
call fcn.0044e993
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x439016
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x84]
lea edx, [esp + 0x7c]
push edx
push eax
push esi
push 2
push ecx
call sub.WINSPOOL.DRV_GetPrinterW
cmp eax, ebx
jne 0x438fc1
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, dword [esp + 0x7c]
push edx
mov edi, eax
push edi
push str.Get_failed_check_code__d__dwNeed__d__n
call fcn.004412c0
add esp, 0xc
cmp edi, 0x7a
jne 0x438fbd
push esi
call fcn.0044e988
mov eax, dword [esp + 0x80]
push eax
call fcn.0044e993
mov ecx, dword [esp + 0x78]
push ecx
mov esi, eax
push ebx
push esi
call fcn.0044e1b0
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x98]
add esp, 0x14
lea edx, [esp + 0x7c]
push edx
push eax
push esi
push 2
push ecx
call sub.WINSPOOL.DRV_GetPrinterW
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.Check_code__d__n
call fcn.004412c0
add esp, 8
mov edi, dword [esp + 0x6c]
push ebx
push esi
mov dword [esi + 0xc], str.LPT1:
mov edx, dword [esp + 0x8c]
push 2
push edx
call sub.WINSPOOL.DRV_SetPrinterW
test eax, eax
je 0x439000
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.004412c0
add esp, 0xc
jmp 0x43900d
push str._SetPrinter_falied_n
call fcn.004412c0
add esp, 4
push esi
call fcn.0044e988
add esp, 4
mov edx, dword [esp + 0x84]
push edx
call sub.WINSPOOL.DRV_ClosePrinter
mov eax, dword [esp + 0x3c]
inc eax
add edi, 0x14
cmp eax, dword [esp + 0x90]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x6c], edi
jl 0x438e00
mov eax, dword [esp + 0x1c]
inc eax
add ebp, 0x54
cmp eax, dword [esp + 0x9c]
mov dword [esp + 0x1c], eax
jl 0x438dc0
mov eax, dword [esp + 0x5c]
push eax
call fcn.0044e988
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
add esp, 4
xor edi, edi
cmp ebx, edi
je 0x43907d
push ebx
call fcn.0044e988
add esp, 4
lea ecx, [esp + 0x11540]
push ecx
push str.DeleteMonitor____s__n
call fcn.004412c0
add esp, 8
lea edx, [esp + 0x11540]
push edx
push edi
push edi
call sub.WINSPOOL.DRV_DeleteMonitorW
test eax, eax
je 0x4390ac
xor esi, esi
jmp 0x439199
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.DeleteMonitor____ld_n
call fcn.004412c0
push 0x34
call fcn.0044e29f
add esp, 0xc
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x39
cmp eax, edi
je 0x4390e5
mov ecx, eax
call fcn.0044b430
mov esi, eax
jmp 0x4390e7
xor esi, esi
push 1
push 0x464ab0
push 0
mov ecx, esi
mov dword [esp + 0x1f620], 0xffffffff
call fcn.0044b100
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
xor edi, edi
lea ebx, [ebx]
push 0x3e8
call ebx
push 0x464ab0
push 0
mov ecx, esi
call fcn.0044b330
cmp eax, 1
je 0x439130
inc edi
cmp edi, 0xa
jl 0x439110
push 0
push 0
push 0x464ab0
push 0
mov ecx, esi
call fcn.0044b030
xor edi, edi
push 0x3e8
call ebx
push 0x464ab0
push 0
mov ecx, esi
call fcn.0044b330
cmp eax, 4
je 0x439164
inc edi
cmp edi, 0xa
jl 0x439144
test esi, esi
je 0x439178
mov ecx, esi
call fcn.0044b680
push esi
call fcn.0044e22a
add esp, 4
lea eax, [esp + 0x11540]
push eax
push 0
push 0
call sub.WINSPOOL.DRV_DeleteMonitorW
test eax, eax
je 0x439191
xor esi, esi
jmp 0x439199
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.DeleteMonitor____ld_n
call fcn.004412c0
add esp, 8
mov dword [ebp + 0x480], 1
lea edx, [ebp + 0x484]
test esi, esi
jne 0x4391e1
mov eax, str.DELETEMONITORAPI_successful
mov dword [ebp + 0x47c], esi
sub edx, eax
jmp 0x4391d0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4391d0
jmp 0x4391ff
mov eax, str.DELETEMONITORAPI_failed
mov dword [ebp + 0x47c], esi
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x4391f0
lea ecx, [esp + 0xee00]
push str.ADDTGPORT
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43a2df
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x3a
test eax, eax
je 0x439259
mov edx, dword [esp + 0x24]
push edx
mov edx, dword [esp + 0x3c]
push 0
lea ecx, [esp + 0xe1d8]
push ecx
push edx
mov ecx, eax
call fcn.00414cb0
jmp 0x43925b
xor eax, eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x1f614], 0xffffffff
test eax, eax
je 0x43a2df
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x14e2a]
push ecx
mov word [esp + 0x14e2c], ax
call fcn.0044e1b0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x1279e]
push eax
mov word [esp + 0x127a0], dx
call fcn.0044e1b0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x1441a]
push edx
mov word [esp + 0x1441c], cx
call fcn.0044e1b0
mov eax, dword [ebp + 0x21c]
add eax, 0x420
push eax
lea eax, [esp + 0x14e48]
push 0x104
push eax
call fcn.0044f47b
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push str.TGTcpMon.dll
lea ecx, [esp + 0x14e54]
push ecx
lea edx, [esp + 0x127c0]
push 0x464ad0
push edx
call esi
add esp, 0x40
push str.TGTcpMonUI.dll
lea eax, [esp + 0x14e24]
push eax
lea ecx, [esp + 0x14400]
push 0x464ad0
push ecx
call esi
mov ecx, dword [ebp + 0x21c]
add esp, 0x10
push 0
lea edx, [esp + 0x1278c]
push edx
call fcn.004454a0
test al, al
jne 0x43937e
mov ecx, dword [ebp + 0x21c]
call fcn.00447510
push 0
push 0
test eax, eax
jne 0x439366
lea eax, [esp + 0x12790]
push eax
push str.32TGTcpMon.dll
jmp 0x439373
lea ecx, [esp + 0x12790]
push ecx
push str.64TGTcpMon.dll
mov ecx, dword [ebp + 0x21c]
call fcn.00447d30
mov ecx, dword [ebp + 0x21c]
push 0
lea edx, [esp + 0x143fc]
push edx
call fcn.004454a0
test al, al
jne 0x439417
mov ecx, dword [ebp + 0x21c]
call fcn.00447510
mov ecx, dword [ebp + 0x21c]
push 0
test eax, eax
jne 0x4393de
push str.32TGTcpMonUI.dll
call fcn.004454a0
test al, al
je 0x43940a
mov ecx, dword [ebp + 0x21c]
push 0
push 0
lea eax, [esp + 0x14400]
push eax
push str.32TGTcpMonUI.dll
call fcn.00447d30
jmp 0x439417
push str.64TGTcpMonUI.dll
call fcn.004454a0
test al, al
je 0x43940a
push 0
push 0
lea ecx, [esp + 0x14400]
push ecx
mov ecx, dword [ebp + 0x21c]
push str.64TGTcpMonUI.dll
call fcn.00447d30
jmp 0x439417
push str.TGTcpMonUI.dll_does_not_exist_on_src._n
call fcn.004412c0
add esp, 4
lea edx, [esp + 0xb4]
push edx
lea eax, [esp + 0xa4]
push eax
push 0
push 0
push 1
push 0
mov dword [esp + 0x44], 0
mov byte [esp + 0x65], 0
call sub.WINSPOOL.DRV_EnumMonitorsW
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.0044e993
mov ecx, dword [esp + 0xa4]
add esp, 4
mov edi, eax
lea edx, [esp + 0xb4]
push edx
lea eax, [esp + 0xa4]
push eax
push ecx
push edi
push 1
push 0
call sub.WINSPOOL.DRV_EnumMonitorsW
test eax, eax
je 0x4394e8
mov ebx, dword [esp + 0xb4]
xor esi, esi
test ebx, ebx
jbe 0x4394e8
jmp 0x439490
mov ecx, dword [edi + esi*4]
mov eax, str.TG_TCP_IP_Port
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4394be
test dx, dx
je 0x4394ba
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4394be
add eax, 4
add ecx, 4
test dx, dx
jne 0x439498
xor eax, eax
jmp 0x4394c3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4394ce
inc esi
cmp esi, ebx
jb 0x439490
jmp 0x4394e8
push str.Installed_n
call fcn.004412c0
add esp, 4
mov byte [esp + 0x4d], 1
mov dword [esp + 0x2c], 1
test edi, edi
je 0x4394f5
push edi
call fcn.0044e988
add esp, 4
cmp byte [esp + 0x4d], 0
jne 0x4395b4
xor eax, eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
lea edx, [esp + 0x12788]
mov dword [esp + 0xa4], str.TG_TCP_IP_Port
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], str.Windows_NT_x86
mov ecx, dword [ebp + 0x21c]
call fcn.00447510
test eax, eax
je 0x439555
mov dword [esp + 0xa8], str.Windows_x64
lea eax, [esp + 0xa4]
push eax
push 2
push 0
call sub.WINSPOOL.DRV_AddMonitorW
test eax, eax
je 0x43956e
xor esi, esi
jmp 0x439576
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
push esi
push str.ADDTGPORT____ld_n
call fcn.004412c0
add esp, 8
cmp esi, 5
ja 0x43960d
je 0x43959d
sub esi, 0
je 0x4395ee
sub esi, 2
jne 0x43961d
push str.___The_remote_computer_maybe_NT4_machine._n
call fcn.004412c0
push str.___Try_to_install_Language_Monitor_through_service._n
call fcn.004412c0
add esp, 8
cmp dword [esp + 0x2c], 0
je 0x43a29b
push 0x34
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x3b
test eax, eax
je 0x43964d
mov ecx, eax
call fcn.0044b430
mov edi, eax
mov dword [esp + 0x80], edi
jmp 0x43965f
mov ecx, dword [esp + 0xa4]
push ecx
push str.___Successfully_add_new_Language_Monitor_____s_._n
call fcn.004412c0
add esp, 8
mov dword [esp + 0x2c], 1
jmp 0x4395bf
cmp esi, 0xb7
je 0x43962b
cmp esi, 0xbbe
je 0x43962b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.___ERROR___Fail_to_install_Language_Monitor____ld._n
jmp 0x4395ac
mov edx, dword [esp + 0xa4]
push edx
push str.___The_specified_print_monitor_has_already_been_installed_____s_._n
call fcn.004412c0
add esp, 8
mov dword [esp + 0x2c], 1
jmp 0x4395bf
mov dword [esp + 0x80], 0
mov edi, dword [esp + 0x80]
push str.spooler
or esi, 0xffffffff
push 0
mov ecx, edi
mov dword [esp + 0x1f61c], esi
call fcn.0044b5c0
cmp eax, 4
jne 0x43968c
push 1
push str.spooler
push 0
mov ecx, edi
call fcn.0044b500
push 0x4435c
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x3c
test eax, eax
je 0x4396c4
push 0
push 0
push str.TGPort.ini
mov ecx, eax
call 0x40a7d0
mov ebx, eax
mov dword [esp + 0x68], eax
jmp 0x4396ca
xor ebx, ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x1f614], esi
test ebx, ebx
je 0x43a228
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x12ba2]
push ecx
mov word [esp + 0x12ba4], ax
call fcn.0044e1b0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x12596]
push eax
mov word [esp + 0x12598], dx
call fcn.0044e1b0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x133da]
push edx
mov word [esp + 0x133dc], cx
call fcn.0044e1b0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x129be]
push ecx
mov word [esp + 0x129c0], ax
call fcn.0044e1b0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x11d9a]
push eax
mov word [esp + 0x11d9c], dx
call fcn.0044e1b0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x11fae]
push edx
mov word [esp + 0x11fb0], cx
call fcn.0044e1b0
add esp, 0x48
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x12382]
push ecx
mov word [esp + 0x12384], ax
call fcn.0044e1b0
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x12186]
push eax
mov word [esp + 0x12188], dx
call fcn.0044e1b0
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x1545a]
push edx
mov word [esp + 0x1545c], cx
call fcn.0044e1b0
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x1462e]
push ecx
mov word [esp + 0x14630], ax
call fcn.0044e1b0
add esp, 0x30
push 0
lea edx, [esp + 0x12b9c]
push edx
push str.LoggingOption
push 0x47258c
mov ecx, ebx
call fcn.00409a10
cmp word [esp + 0x12b98], 0
jne 0x439847
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0x472588]
mov word [esp + eax + 0x12b98], cx
add eax, 2
test cx, cx
jne 0x439830
push 0
lea eax, [esp + 0x12584]
push eax
push 0x472574
push 0x47258c
mov ecx, ebx
call fcn.00409a10
cmp word [esp + 0x12580], 0
jne 0x439887
xor eax, eax
nop
movzx ecx, word [eax + 0x472570]
mov word [esp + eax + 0x12580], cx
add eax, 2
test cx, cx
jne 0x439870
push 0
lea ecx, [esp + 0x133bc]
push ecx
push str.RetryNumber
push 0x47258c
mov ecx, ebx
call fcn.00409a10
cmp word [esp + 0x133b8], 0
jne 0x4398c7
xor eax, eax
nop
movzx ecx, word [eax + 0x472570]
mov word [esp + eax + 0x133b8], cx
add eax, 2
test cx, cx
jne 0x4398b0
push 0
lea edx, [esp + 0x12994]
push edx
push str.MonitorSequence
push 0x47258c
mov ecx, ebx
call fcn.00409a10
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x1728a]
push ecx
mov word [esp + 0x1728c], ax
call fcn.0044e1b0
mov esi, dword [sym.imp.USER32.dll_wsprintfW]
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea edx, [esp + 0x17290]
push str._sOption
push edx
mov dword [esp + 0x110], 0
call esi
add esp, 0x18
lea eax, [esp + 0xf8]
push eax
lea ecx, [esp + 0x8c]
push ecx
push 0
push 0x20006
push 0
push 0
push 0
lea edx, [esp + 0x1729c]
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 0x439a50
lea eax, [esp + 0x12b98]
push eax
call fcn.0044e92b
lea ecx, [esp + 0x12994]
push ecx
mov dword [esp + 0xf4], eax
call fcn.0044e92b
lea edx, [esp + 0x12588]
push edx
mov dword [esp + 0xf0], eax
call fcn.0044e92b
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x133c4]
push eax
call fcn.0044e92b
mov edx, dword [esp + 0x98]
add esp, 0x10
push 4
lea ecx, [esp + 0xf0]
push ecx
push 4
push 0
push str.LoggingOption
push edx
mov dword [esp + 0x10c], eax
call edi
mov ecx, dword [esp + 0x88]
push 4
lea eax, [esp + 0xe0]
push eax
push 4
push 0
push 0x472574
push ecx
call edi
mov eax, dword [esp + 0x88]
push 4
lea edx, [esp + 0xf8]
push edx
push 4
push 0
push str.RetryNumber
push eax
call edi
cmp word [esp + 0x12990], 0
je 0x439a37
mov edx, dword [esp + 0x88]
push 4
lea ecx, [esp + 0xe8]
push ecx
push 4
push 0
push str.MonitorSequence
push edx
call edi
mov eax, dword [esp + 0x88]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x88], 0
mov dword [esp + 0x5c], 1
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x11b62]
push edx
mov word [esp + 0x11b64], cx
call fcn.0044e1b0
xor eax, eax
mov word [esp + 0x11d6c], ax
xor ecx, ecx
mov word [esp + 0x1217c], ax
mov eax, dword [esp + 0x68]
push eax
mov word [esp + 0x11f78], cx
xor edx, edx
mov word [esp + 0x15448], cx
lea ecx, [esp + 0x11b68]
push str.TGPort.port_d
push ecx
mov word [esp + 0x12390], dx
mov word [esp + 0x14618], dx
mov byte [esp + 0x62], dl
call esi
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x139f2]
push eax
mov word [esp + 0x139f4], dx
call fcn.0044e1b0
add esp, 0x24
push 0
lea ecx, [esp + 0x139d4]
push ecx
push str.Option
lea edx, [esp + 0x11b64]
push edx
mov ecx, ebx
call fcn.00409a10
test al, al
je 0x439b50
lea eax, [esp + 0x139d0]
push eax
call fcn.0044e92b
add esp, 4
test eax, eax
jne 0x439b4b
lea ecx, [esp + 0x139d0]
push 0x47246c
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
je 0x439b4b
lea edx, [esp + 0x139d0]
push 0x46c668
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x439b50
mov byte [esp + 0x4a], 1
push 0
lea eax, [esp + 0x11d64]
push eax
push str.PortName
lea ecx, [esp + 0x11b64]
push ecx
mov ecx, ebx
call fcn.00409a10
push 0
lea edx, [esp + 0x11f6c]
push edx
push str.HostName
lea eax, [esp + 0x11b64]
push eax
mov ecx, ebx
call fcn.00409a10
push 0
lea ecx, [esp + 0x1237c]
push ecx
push str.PortNumber
lea edx, [esp + 0x11b64]
push edx
mov ecx, ebx
call fcn.00409a10
cmp word [esp + 0x12378], 0
jne 0x439bd7
xor eax, eax
jmp 0x439bc0
movzx ecx, word [eax + str.60000]
mov word [esp + eax + 0x12378], cx
add eax, 2
test cx, cx
jne 0x439bc0
push 0
lea eax, [esp + 0x12174]
push eax
push str.SharedPrinter
lea ecx, [esp + 0x11b64]
push ecx
mov ecx, ebx
call fcn.00409a10
push 0
lea edx, [esp + 0x1543c]
push edx
push str.DefaultPrinter
lea eax, [esp + 0x11b64]
push eax
mov ecx, ebx
call fcn.00409a10
push 0
lea ecx, [esp + 0x14604]
push ecx
push str.CandidateIP
lea edx, [esp + 0x11b64]
push edx
mov ecx, ebx
call fcn.00409a10
cmp word [esp + 0x11d60], 0
jne 0x439c75
lea eax, [esp + 0x12170]
push eax
lea ecx, [esp + 0x1237c]
push ecx
lea edx, [esp + 0x11f70]
push edx
lea eax, [esp + 0x11d6c]
push str.SPS:_s:_s__s
push eax
call esi
add esp, 0x14
cmp word [esp + 0x11d60], 0
je 0x43a218
cmp word [esp + 0x11f68], 0
je 0x43a218
cmp word [esp + 0x12170], 0
je 0x43a218
xor ecx, ecx
push 0x3fe
push ecx
lea edx, [esp + 0x1666a]
push edx
mov word [esp + 0x1666c], cx
call fcn.0044e1b0
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea eax, [esp + 0x16670]
push str._sPorts
push eax
call esi
add esp, 0x18
lea ecx, [esp + 0xb0]
push ecx
lea edx, [esp + 0x58]
push edx
push 0
push 0x20006
push 0
push 0
push 0
lea eax, [esp + 0x1667c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x439e72
push 0x800
push eax
lea ecx, [esp + 0x1cdd0]
push ecx
call fcn.0044e1b0
push 0x1c2d0
call fcn.0044e29f
add esp, 0x10
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x3d
test eax, eax
je 0x439d3e
mov ecx, eax
call fcn.004409e0
mov esi, eax
mov dword [esp + 0x6c], eax
jmp 0x439d44
xor esi, esi
mov dword [esp + 0x6c], esi
push 0x473e4c
lea edx, [esp + 0x14604]
push edx
mov ecx, esi
mov dword [esp + 0x1f61c], 0xffffffff
call fcn.00440c30
mov ebx, eax
xor ebp, ebp
test ebx, ebx
jle 0x439e07
lea eax, [esi + 0x32c8]
jmp 0x439d80
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 0x439d94
sub ecx, esi
lea edi, [esp + 0x1cdc8]
mov edx, ecx
add edi, 0xfffffffe
lea ecx, [ecx]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x439db0
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 + 0x1cdc8]
add ecx, 0xfffffffe
mov dx, word [ecx + 2]
add ecx, 2
test dx, dx
jne 0x439dd4
mov edx, dword [0x467734]
mov dword [ecx], edx
mov dx, word [0x467738]
inc ebp
add eax, 0x800
cmp ebp, ebx
mov word [ecx + 4], dx
jl 0x439d80
mov esi, dword [esp + 0x6c]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test esi, esi
je 0x439e1b
mov ecx, esi
call fcn.00440490
push esi
call fcn.0044e22a
add esp, 4
lea eax, [esp + 0x1cdc8]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x439e25
sub eax, edx
mov edx, dword [esp + 0x54]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x1cdcc]
push ecx
push 7
push 0
push str.CandidateIP
push edx
call edi
mov eax, dword [esp + 0x54]
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 + 0x68]
mov dword [esp + 0x54], 0
lea ecx, [esp + 0x11d60]
push ecx
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea edx, [esp + 0x16668]
push str._sPorts_s
push edx
call esi
add esp, 0x10
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x58]
push ecx
push 0
push 0x20006
push 0
push 0
push 0
lea edx, [esp + 0x1667c]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x43a0d7
lea eax, [esp + 0x11f68]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x439ed0
sub eax, edx
mov edx, dword [esp + 0x54]
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x11f6c]
push ecx
push 1
push 0
push str.HostName
push edx
call edi
lea eax, [esp + 0x12378]
push eax
call fcn.0044e92b
mov edx, dword [esp + 0x58]
add esp, 4
push 4
lea ecx, [esp + 0xd8]
push ecx
push 4
push 0
push str.PortNumber
push edx
mov dword [esp + 0xec], eax
call edi
lea eax, [esp + 0x12170]
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x439f35
mov edx, dword [esp + 0x54]
sub eax, ecx
sar eax, 1
add eax, eax
push eax
lea ecx, [esp + 0x12174]
push ecx
push 1
push 0
push str.SharedPrinter
push edx
call edi
push 0x800
lea eax, [esp + 0x1dbe4]
push 0
push eax
call fcn.0044e1b0
push 0x1c2d0
call fcn.0044e29f
add esp, 0x10
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x3e
test eax, eax
je 0x439fa0
mov ecx, eax
call fcn.004409e0
mov dword [esp + 0x74], eax
jmp 0x439fa8
mov dword [esp + 0x74], 0
mov esi, dword [esp + 0x74]
push 0x473e4c
lea ecx, [esp + 0x1543c]
push ecx
mov ecx, esi
mov dword [esp + 0x1f61c], 0xffffffff
call fcn.00440c30
mov ebx, eax
xor ebp, ebp
test ebx, ebx
jle 0x43a061
lea eax, [esi + 0x32c8]
lea ecx, [ecx]
mov edx, dword [esp + 0x74]
xor ecx, ecx
cmp ebp, dword [edx + 0x1c2c8]
setge cl
dec ecx
and ecx, eax
mov esi, ecx
mov dx, word [ecx]
add ecx, 2
test dx, dx
jne 0x439ff4
sub ecx, esi
lea edi, [esp + 0x1dbe0]
mov edx, ecx
add edi, 0xfffffffe
lea ecx, [ecx]
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x43a010
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 + 0x1dbe0]
add ecx, 0xfffffffe
mov dx, word [ecx + 2]
add ecx, 2
test dx, dx
jne 0x43a034
mov edx, dword [0x467734]
mov dword [ecx], edx
mov dx, word [0x467738]
inc ebp
add eax, 0x800
cmp ebp, ebx
mov word [ecx + 4], dx
jl 0x439fe0
mov esi, dword [esp + 0x74]
test esi, esi
je 0x43a075
mov ecx, esi
call fcn.00440490
push esi
call fcn.0044e22a
add esp, 4
lea eax, [esp + 0x1dbe0]
lea edx, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x43a080
sub eax, edx
mov edx, dword [esp + 0x54]
sar eax, 1
lea eax, [eax + eax + 2]
push eax
lea ecx, [esp + 0x1dbe4]
push ecx
push 7
push 0
push str.DefaultPrinter
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [esp + 0x54]
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 + 0x68]
mov dword [esp + 0x54], 0
cmp byte [esp + 0x4a], 0
je 0x43a20f
lea ecx, [esp + 0x11d60]
push ecx
push str.SYSTEMCurrentControlSetControlPrintMonitorsTG_TCP_IP_Port
lea edx, [esp + 0x16668]
push str._sPorts_sOption
push edx
call esi
add esp, 0x10
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x58]
push ecx
push 0
push 0x20006
push 0
push 0
push 0
lea edx, [esp + 0x1667c]
push edx
push reloc.OLEAUT32.dll_SysReAllocString
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x43a20f
lea eax, [esp + 0x12b98]
push eax
call fcn.0044e92b
lea ecx, [esp + 0x12994]
push ecx
mov dword [esp + 0xf0], eax
call fcn.0044e92b
lea edx, [esp + 0x12588]
push edx
mov dword [esp + 0xe4], eax
call fcn.0044e92b
mov dword [esp + 0xfc], eax
lea eax, [esp + 0x133c4]
push eax
call fcn.0044e92b
mov edx, dword [esp + 0x64]
add esp, 0x10
push 4
lea ecx, [esp + 0xec]
push ecx
push 4
push 0
push str.LoggingOption
push edx
mov dword [esp + 0x114], eax
call edi
mov ecx, dword [esp + 0x54]
push 4
lea eax, [esp + 0xf4]
push eax
push 4
push 0
push 0x472574
push ecx
call edi
mov eax, dword [esp + 0x54]
push 4
lea edx, [esp + 0x100]
push edx
push 4
push 0
push str.RetryNumber
push eax
call edi
cmp word [esp + 0x12990], 0
je 0x43a1fc
mov edx, dword [esp + 0x54]
push 4
lea ecx, [esp + 0xdc]
push ecx
push 4
push 0
push str.MonitorSequence
push edx
call edi
mov eax, dword [esp + 0x54]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [esp + 0x54], 0
inc dword [esp + 0x5c]
jmp 0x439a58
mov ecx, ebx
call 0x40a970
push ebx
call fcn.0044e22a
add esp, 4
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call edi
mov esi, dword [esp + 0x80]
push str.spooler
push 0
mov ecx, esi
call fcn.0044b470
push 0x3e8
call edi
test esi, esi
je 0x43a265
mov ecx, esi
call fcn.0044b680
push esi
call fcn.0044e22a
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 0x43a286
mov esi, dword [esp + 0x64]
jmp 0x43a2cf
mov esi, dword [esp + 0x64]
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 0x43a2c0
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.COPYFILES
push edx
mov ebx, 1
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43a403
push 0x82c
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x3f
test eax, eax
je 0x43a33e
lea ecx, [esp + 0xff08]
push ecx
lea edx, [esp + 0xf8f4]
push edx
push 0
mov ecx, eax
call fcn.0044e070
mov edi, eax
jmp 0x43a340
xor edi, edi
push 0xe68
mov dword [esp + 0x1f618], 0xffffffff
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x40
test eax, eax
je 0x43a389
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push edi
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x43a38b
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x43a3ef
push 0
lea edx, [esp + 0xf41c]
push edx
lea eax, [esp + 0x11138]
push eax
mov ecx, esi
call fcn.0040e150
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x2c], eax
mov eax, 0x46574c
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ecx
sub edx, eax
mov edi, edi
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43a3d0
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
test edi, edi
je 0x43a403
mov ecx, edi
call fcn.00440490
push edi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.PREINSTINF
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43a523
push 0x82c
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x41
test eax, eax
je 0x43a45d
lea ecx, [esp + 0xff08]
push ecx
lea edx, [esp + 0xf8f4]
push edx
push 0
mov ecx, eax
call fcn.0044e070
mov edi, eax
jmp 0x43a45f
xor edi, edi
push 0xe68
mov dword [esp + 0x1f618], 0xffffffff
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x42
test eax, eax
je 0x43a4a8
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push edi
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x43a4aa
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x43a50f
lea edx, [esp + 0xe5e0]
push edx
mov ecx, esi
call fcn.0040dde0
mov ecx, ebx
sub ecx, eax
mov dword [esp + 0x2c], eax
mov eax, 0x46574c
lea edx, [ebp + 0x484]
mov dword [ebp + 0x480], ebx
mov dword [ebp + 0x47c], ecx
sub edx, eax
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43a4f0
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
test edi, edi
je 0x43a523
mov ecx, edi
call fcn.00440490
push edi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.ADDLOCALPORT
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43a610
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x43
test eax, eax
je 0x43a57f
mov ecx, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x3c]
push 0
lea edx, [esp + 0xe1d8]
push edx
push ecx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x43a581
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x43a610
lea edx, [esp + 0x10520]
push edx
lea eax, [esp + 0xe1d4]
push eax
mov ecx, esi
call fcn.0040ef60
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
test eax, eax
je 0x43a5e1
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 0x43a5d0
jmp 0x43a600
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 0x43a5f1
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.ADDKPORT
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43a707
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov edi, dword [esp + 0x24]
mov dword [esp + 0x1f614], 0x44
test eax, eax
je 0x43a66c
mov edx, dword [esp + 0x38]
push edi
push 0
lea ecx, [esp + 0xe1d8]
push ecx
push edx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x43a66e
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x43a70b
lea eax, [esp + 0x10520]
push eax
lea ecx, [esp + 0x1031c]
push ecx
lea edx, [esp + 0xe1d8]
push edx
mov ecx, esi
call fcn.0040f0c0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], ebx
lea edx, [ebp + 0x484]
test eax, eax
je 0x43a6d6
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 0x43a6c5
jmp 0x43a6f5
mov eax, dword [esi + 0x24]
mov dword [ebp + 0x47c], eax
mov eax, str.ADDKPORT_failed
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43a6e6
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x43a70b
mov edi, dword [esp + 0x24]
lea ecx, [esp + 0xee00]
push str.UPTDRV
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43a7d4
push 0x474
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x45
test eax, eax
je 0x43a75b
mov edx, dword [esp + 0x38]
push edi
push 0
push edx
mov ecx, eax
call fcn.00405340
mov esi, eax
jmp 0x43a75d
xor esi, esi
or ebx, 0xffffffff
mov dword [esp + 0x1f614], ebx
test esi, esi
je 0x43a7d7
push 0
lea eax, [esp + 0xe5e4]
push eax
lea ecx, [esp + 0x10118]
push ecx
lea edx, [esp + 0xe1dc]
push edx
mov ecx, esi
call fcn.004021f0
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x47c], eax
mov eax, 0x46574c
lea edx, [ebp + 0x484]
sub edx, eax
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43a7b3
mov ecx, esi
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x43a7d7
or ebx, 0xffffffff
lea eax, [esp + 0xee00]
push str.GETFULLMODELNAME
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43a8e3
push 0xe68
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x46
test eax, eax
je 0x43a82f
mov edx, dword [esp + 0x38]
push edi
push 0
lea ecx, [esp + 0xe1d8]
push ecx
push edx
mov ecx, eax
call fcn.00414cb0
mov esi, eax
jmp 0x43a831
xor esi, esi
mov dword [esp + 0x1f614], ebx
test esi, esi
je 0x43a8e3
xor eax, eax
push 0x206
push eax
lea ecx, [esp + 0x15032]
push ecx
mov word [esp + 0x15034], ax
call fcn.0044e1b0
add esp, 0xc
lea edx, [esp + 0x17690]
push edx
lea eax, [esp + 0x1502c]
push eax
lea ecx, [esp + 0x17aa8]
push ecx
lea edx, [esp + 0xfb04]
push edx
lea eax, [esp + 0xe5f0]
push eax
mov ecx, esi
call fcn.00413660
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x480], eax
lea eax, [esp + 0x15028]
lea edx, [ebp + 0x484]
mov ecx, eax
sub edx, ecx
lea ebx, [ebx]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x43a8b0
lea eax, [ebp + 0x484]
push eax
push str.GETFULLMODELNAME_m_wszResult___s__n
call fcn.004412c0
add esp, 8
mov ecx, esi
call fcn.004130b0
push esi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.ADDWIA
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43aa0f
cmp word [esp + 0xe5e0], ax
je 0x43aa0f
cmp word [esp + 0xe3d8], ax
je 0x43aa0f
cmp word [esp + 0xebf8], ax
je 0x43aa0f
push 0x474
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x47
test eax, eax
je 0x43a95d
mov ecx, dword [esp + 0x38]
push edi
push 0
push ecx
mov ecx, eax
call fcn.00405340
mov esi, eax
jmp 0x43a95f
xor esi, esi
mov dword [esp + 0x1f614], ebx
test esi, esi
je 0x43aa0f
xor eax, eax
movzx ecx, word [eax + str.ScannerAddress]
mov word [esp + eax + 0x7d0], cx
add eax, 2
test cx, cx
jne 0x43a970
xor eax, eax
lea esp, [esp]
movzx ecx, word [esp + eax + 0x10318]
mov word [esp + eax + 0x9d8], cx
add eax, 2
test cx, cx
jne 0x43a990
lea edx, [esp + 0x7cc]
push edx
lea eax, [esp + 0xe3dc]
push eax
lea ecx, [esp + 0xe5e8]
push ecx
push 0
mov ecx, esi
call fcn.00402610
xor edx, edx
test eax, eax
setne dl
mov dword [ebp + 0x480], edx
mov dword [ebp + 0x47c], eax
lea eax, [esp + 0xe3d8]
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 0x43a9f0
mov ecx, esi
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.RMVWIA
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43ab15
cmp word [esp + 0xe3d8], ax
je 0x43ab15
push 0x474
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x48
test eax, eax
je 0x43aa71
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405340
mov ebp, eax
jmp 0x43aa73
xor ebp, ebp
mov dword [esp + 0x1f614], 0xffffffff
test ebp, ebp
je 0x43ab15
xor esi, esi
cmp byte [esp + 0x33], 0
je 0x43aa94
mov esi, 2
push esi
push 0
push str.Image
mov ecx, ebp
call fcn.004064e0
push esi
lea eax, [esp + 0x10114]
push eax
lea ecx, [esp + 0xec00]
push ecx
lea edx, [esp + 0xe3e4]
push edx
mov ecx, ebp
call fcn.00405ce0
mov edi, eax
test edi, edi
je 0x43aad1
push esi
mov ecx, ebp
call 0x4054e0
mov edx, dword [esp + 0x18]
mov dword [edx + 0x480], edi
mov dword [edx + 0x47c], 0
lea eax, [esp + 0xebf8]
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 0x43aaf6
mov ecx, ebp
call fcn.004053e0
push ebp
call fcn.0044e22a
add esp, 4
lea edx, [esp + 0xee00]
push str.RMVUSB
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43abf1
cmp word [esp + 0xe3d8], ax
je 0x43abf1
push 0x474
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x49
test eax, eax
je 0x43ab77
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x38]
push ecx
push 0
push edx
mov ecx, eax
call fcn.00405340
mov esi, eax
jmp 0x43ab79
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x43abf1
push 0
lea eax, [esp + 0x10114]
push eax
push 0
lea ecx, [esp + 0xe3e4]
push ecx
mov ecx, esi
call fcn.00405ce0
mov ebx, dword [esp + 0x18]
mov dword [ebx + 0x480], eax
lea eax, [esp + 0xe3d8]
lea edx, [ebx + 0x484]
mov ecx, eax
mov dword [ebx + 0x47c], 0
sub edx, ecx
jmp 0x43abd0
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x43abd0
mov ecx, esi
call fcn.004053e0
push esi
call fcn.0044e22a
add esp, 4
jmp 0x43abf5
mov ebx, dword [esp + 0x18]
lea edx, [esp + 0xee00]
push str.GETDEVICECLASS
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43ad7b
push 0x474
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x4a
test eax, eax
je 0x43ac46
mov ecx, dword [esp + 0x24]
push ecx
push 0
push 0
mov ecx, eax
call fcn.00405340
mov esi, eax
jmp 0x43ac48
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x43ad7b
cmp byte [esp + 0x24], 0
jne 0x43ad7b
cmp byte [esp + 0x33], 0
mov ebp, 1
je 0x43ac77
mov ebp, 3
xor edx, edx
push 0x206
push edx
lea eax, [esp + 0x17eba]
push eax
mov word [esp + 0x17ebc], dx
call fcn.0044e1b0
xor edi, edi
add esp, 0xc
cmp word [esp + 0x10110], di
je 0x43accd
xor eax, eax
jmp 0x43acb0
movzx ecx, word [esp + eax + 0x10110]
mov word [esp + eax + 0x17eb0], cx
add eax, 2
test cx, cx
jne 0x43acb0
mov edi, 1
xor ecx, ecx
push 0x206
push ecx
lea edx, [esp + 0x135ca]
push edx
mov word [esp + 0x135cc], cx
call fcn.0044e1b0
add esp, 0xc
push ebp
push 0x104
lea eax, [esp + 0x135c8]
push eax
push 7
lea ecx, [esp + 0x17ec0]
push ecx
push edi
push 0
mov ecx, esi
call fcn.00402f90
mov ecx, esi
mov edi, eax
call fcn.004053e0
push esi
call fcn.0044e22a
mov edx, 1
sub edx, edi
mov dword [ebx + 0x480], 1
lea eax, [esp + 0x135c4]
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 0x43ad50
mov eax, dword [ebx + 0x47c]
push eax
lea ecx, [esp + 0x135c4]
push ecx
push str.wszClass___s__m_nInstallResult__d__n
call fcn.004412c0
add esp, 0xc
lea edx, [esp + 0xee00]
push str.SETUPDIREMOVEDEVICE
push edx
call fcn.0044e882
mov esi, dword [esp + 0x2c]
mov edi, dword [esp + 0x40]
add esp, 8
test eax, eax
jne 0x43adae
push eax
lea eax, [esp + 0x131b4]
push eax
push esi
push edi
mov ecx, ebx
call fcn.004300b0
lea ecx, [esp + 0xee00]
push str.GETWSDPORT
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43add8
lea edx, [esp + 0x131b0]
push edx
push esi
push edi
mov ecx, ebx
call fcn.00430190
lea eax, [esp + 0xee00]
push str.GETPARENTDEVICEINSTID
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43ae02
lea ecx, [esp + 0x131b0]
push ecx
push esi
push edi
mov ecx, ebx
call fcn.00430390
lea edx, [esp + 0xee00]
push str.GETDEVICECHILDREN
push edx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43ae2c
lea eax, [esp + 0x131b0]
push eax
push esi
push edi
mov ecx, ebx
call fcn.00430800
lea ecx, [esp + 0xee00]
push str.GETCONFIGFLAG
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43af3f
push 0x474
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
mov dword [esp + 0x1f614], 0x4b
test eax, eax
je 0x43ae7d
mov edx, dword [esp + 0x24]
push edx
push 0
push 0
mov ecx, eax
call fcn.00405340
mov esi, eax
jmp 0x43ae7f
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
test esi, esi
je 0x43af3f
cmp byte [esp + 0x24], 0
jne 0x43af3f
cmp byte [esp + 0x33], 0
mov eax, 1
je 0x43aeae
mov eax, 3
push eax
lea eax, [esp + 0x10114]
push eax
push 0
mov ecx, esi
call fcn.00402400
mov ecx, esi
mov edi, eax
call fcn.004053e0
push esi
call fcn.0044e22a
xor ecx, ecx
push 0x206
mov dword [ebx + 0x480], 1
push ecx
lea edx, [esp + 0x14c26]
mov dword [ebx + 0x47c], 0
push edx
mov word [esp + 0x14c28], cx
call fcn.0044e1b0
push edi
lea eax, [esp + 0x14c2c]
push 0x472058
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
lea eax, [esp + 0x14c34]
lea ecx, [ebx + 0x484]
mov edx, eax
add esp, 0x1c
sub ecx, edx
jmp 0x43af30
movzx edx, word [eax]
mov word [eax + ecx], dx
add eax, 2
test dx, dx
jne 0x43af30
lea eax, [esp + 0xee00]
push str.SETCONFIGFLAG
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43b003
push 0x474
call fcn.0044e29f
add esp, 4
mov dword [esp + 0x3c], eax
xor edi, edi
mov dword [esp + 0x1f614], 0x4c
cmp eax, edi
je 0x43af90
mov ecx, dword [esp + 0x24]
push ecx
push edi
push edi
mov ecx, eax
call fcn.00405340
mov esi, eax
jmp 0x43af92
xor esi, esi
mov dword [esp + 0x1f614], 0xffffffff
cmp esi, edi
je 0x43b003
cmp byte [esp + 0x24], 0
jne 0x43b003
lea edx, [esp + 0x16250]
push edx
call fcn.0044e92b
add esp, 4
push 1
push eax
lea eax, [esp + 0x10118]
push eax
push edi
mov ecx, esi
call fcn.00402530
mov ecx, esi
call fcn.004053e0
push esi
call fcn.0044e22a
mov eax, 0x46574c
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 0x43aff4
lea ecx, [esp + 0xee00]
push str.QUIT
push ecx
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43b033
mov ecx, ebx
call fcn.0042f990
mov edx, dword [ebx + 8]
push 0
push 0
push 0x10
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
lea eax, [esp + 0xee00]
push 0x472028
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43b15a
mov edi, dword [esp + 0x8c]
cmp byte [edi + 0x1c2cc], al
je 0x43b070
cmp dword [edi + 0x1c2c8], 1
jle 0x43b083
lea eax, [edi + 0x3ac8]
jmp 0x43b083
cmp dword [edi + 0x1c2c8], 1
jg 0x43b07d
xor eax, eax
jmp 0x43b083
lea eax, [edi + 0x104]
push eax
call fcn.0044e92b
add esp, 4
mov esi, eax
push esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x43b09f
mov dword [ebx + 0x26c], esi
cmp dword [edi + 0x1c2c8], 3
jne 0x43b0d4
cmp byte [edi + 0x1c2cc], 0
lea ecx, [edi + 0x42c8]
jne 0x43b0bd
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 0x43b0c3
push 0
push 0
push 0
push 0xcf0000
push str.KmPkgInst
mov ecx, ebx
call fcn.00430600
mov ecx, ebx
call fcn.004307c0
mov esi, dword [sym.imp.USER32.dll_GetMessageW]
push 0
push 0
push 0
lea ecx, [esp + 0x248]
push ecx
call esi
test eax, eax
je 0x43b148
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebp, dword [sym.imp.USER32.dll_DispatchMessageW]
jmp 0x43b120
lea edx, [esp + 0x23c]
push edx
call edi
lea eax, [esp + 0x23c]
push eax
call ebp
push 0
push 0
push 0
lea ecx, [esp + 0x248]
push ecx
call esi
test eax, eax
jne 0x43b120
mov edx, dword [esp + 0x244]
mov ecx, ebx
mov dword [esp + 0x2c], edx
call fcn.0042f990
mov esi, dword [esp + 0x8c]
lea eax, [esp + 0xee00]
push str.SETHWND
push eax
call fcn.0044e882
add esp, 8
test eax, eax
jne 0x43b1c4
cmp byte [esi + 0x1c2cc], al
je 0x43b193
cmp dword [esi + 0x1c2c8], 1
jle 0x43b1a6
lea eax, [esi + 0x3ac8]
jmp 0x43b1a6
cmp dword [esi + 0x1c2c8], 1
jg 0x43b1a0
xor eax, eax
jmp 0x43b1a6
lea eax, [esi + 0x104]
push eax
call fcn.0044e92b
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 0x43b1df
mov ecx, esi
call fcn.00440490
push esi
call fcn.0044e22a
add esp, 4
push str.PKGMAIN::HandleRequest_end._n
call fcn.004412c0
mov eax, dword [esp + 0x30]
add esp, 4
mov ecx, dword [esp + 0x1f60c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1f5f4]
xor ecx, esp
call fcn.0044e1a0
add esp, 0x1f604
ret 8