Function at 0x42df10
Capabilities:
Connect pipe
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x180
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x2c], ecx
push edi
inc ebx
mov byte [ebp - 0x25], dl
push ebx
lea ecx, [ebp - 0x9c]
call fcn.0042db9d
push dword [ebp + 8]
movdqa xmm0, xmmword [0xa8e330]
lea ecx, [ebp - 0x150]
push ecx
xor eax, eax
lea ecx, [ebp - 0x160]
push ecx
push eax
lea ecx, [ebp - 0x50]
mov dword [ebp - 0x50], eax
movdqu xmmword [ebp - 0x160], xmm0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
call fcn.0042dce0
mov dword [ebp - 0x24], 0xf3f17e2f
lea ecx, [ebp - 0x114]
mov dword [ebp - 0x18], 0x38f738f5
mov dword [ebp - 0x10], 0x604491d0
push 2
call fcn.0042db9d
xor esi, esi
mov dword [ebp - 4], esi
jmp 0x42df9e
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x9c]
mov dword [eax + ecx*4], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], ebx
jl 0x42df8f
mov dword [ebp - 4], esi
jmp 0x42dfbb
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x114]
mov dword [eax + ecx*4], 0xb01d976d
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x42dfa8
mov ebx, dword [ebp - 0x50]
mov dword [ebx], esi
mov eax, dword [ebp - 0x9c]
mov dword [ebp - 0x24], 0x37c1
mov eax, dword [eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x9c]
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
sub ecx, dword [ebx + 0xc]
mov eax, dword [ebp - 0x50]
neg ecx
sbb ecx, ecx
add ecx, 0x1f145ba2
mov edi, dword [eax]
xor eax, eax
cmp ecx, 0x74bf90ed
setg al
xor ecx, ecx
mov edx, dword [esi + edi*4]
cmp edx, eax
setg cl
xor eax, eax
cmp ecx, edx
setge al
mov dword [esi + edi*4], eax
mov eax, dword [ebp - 0x50]
inc dword [eax]
cmp dword [eax], 0
jle 0x42dfc6
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x50]
imul eax, dword [edx]
cmp eax, 0xdef9
mov eax, dword [ebp - 0x114]
setle cl
add ecx, dword [eax + 4]
xor eax, eax
cmp ecx, 0xe70
lea ecx, [ebp - 0x114]
setne al
mov dword [edx + 8], eax
call fcn.0042dc6f
lea ecx, [ebp - 0x50]
call fcn.0042dc6f
lea ecx, [ebp - 0x9c]
call fcn.0042dc6f
mov dword [ebp - 0x1c], 0x307b5ca9
xor eax, eax
mov dword [ebp - 0x10], 0xb80be39e
mov dword [ebp - 0x14], eax
push 3
mov dword [ebp - 0x20], 0xc7279c90
mov dword [ebp - 8], eax
pop edi
jmp 0x42e0a5
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x180], 0xeb300a9e
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jl 0x42e094
mov ecx, dword [ebp - 0x1c]
xor esi, esi
xor edx, edx
inc esi
cmp ecx, esi
push 0xffffffffffffffee
setg dl
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x14], 0x1a
pop ebx
jmp 0x42e159
mov dword [ebp - 0x20], 0xd9532955
mov dword [ebp - 4], eax
jmp 0x42e0e6
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x174], 0xfffffffe
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x42e0d5
mov dword [ebp - 4], eax
jmp 0x42e102
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x124], 8
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x42e0f1
mov dword [ebp - 0x10], esi
cmp dword [ebp - 0x10], eax
jl 0x42e156
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x42e14b
mov dword [ebp - 0x24], 0xe10b49f2
dec dword [ebp - 0x24]
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42e146
push eax
push eax
push 0x1fa3
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
xor eax, eax
dec dword [ebp - 0x1c]
jns 0x42e121
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x24], ecx
dec dword [ebp - 0x10]
jns 0x42e10f
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jle 0x42e0c9
mov dword [ebp - 0x14], 6
mov dword [ebp - 0x14], eax
jmp 0x42e18d
mov dword [ebp - 0x24], 0xe57b
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42e187
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
xor eax, eax
mov dword [ebp - 0x24], esi
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], ebx
jg 0x42e16e
mov ebx, dword [0x49c5ec]
lea ecx, [ebp - 0x150]
mov dword [ebp - 0x14], 0xbc6e5c7a
mov dword [ebp - 0x14], 0xdd33a4a9
push 4
mov dword [ebp - 0x24], ebx
call fcn.0042db9d
mov dword [ebp - 0x20], 0xccb24ce5
xor eax, eax
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x20], 0x1d52aa0a
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 8], eax
jmp 0x42e1e4
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x150]
mov dword [ecx + edx*4], esi
inc dword [ebp - 8]
cmp dword [ebp - 8], 4
jl 0x42e1d5
mov dword [ebp - 0x14], eax
jmp 0x42e25b
mov dword [ebp - 0x1c], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x20], 0x3dbc56e7
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
jmp 0x42e252
mov dword [ebp - 8], 0xfffffff8
mov dword [ebp - 0x20], 9
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 8], eax
jmp 0x42e247
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42e244
push 0xf5b
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
xor eax, eax
inc dword [ebp - 8]
cmp dword [ebp - 8], edi
jle 0x42e22d
inc dword [ebp - 0x18]
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xffffffef
jne 0x42e213
dec dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0xffffffff
jne 0x42e1ef
lea ecx, [ebp - 0x150]
call fcn.0042dc6f
mov edi, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 4], 0xfffffff6
mov dword [ebp - 0x18], 0x5ec35211
mov dword [ebp - 0x10], 2
mov dword [ebp - 4], 6
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
cmp dword [ebp - 4], eax
jne 0x42e333
mov dword [ebp - 0x14], 0xbf2d3f50
xor edx, edx
mov dword [ebp - 0x18], 2
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xfafb
mov ecx, dword [ebp - 0x14]
setne dl
xor ebx, ebx
cmp ecx, edx
mov ecx, dword [ebp - 0x14]
setg bl
imul ecx, ebx
test ecx, ecx
jne 0x42e2f0
mov edx, eax
cmp dword [ebp - 0x14], eax
je 0x42e2f2
mov edx, esi
xor ecx, ecx
cmp edx, 0x63372585
setg cl
xor ebx, ebx
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 4]
cmp edx, ecx
setg bl
sub ebx, 0xda37
neg ebx
sbb ebx, ebx
inc ebx
cmp ebx, 0x87b35f19
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
dec dword [ebp - 4]
je 0x42e2a1
mov ebx, dword [ebp - 0x24]
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x42e34b
push eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetWindowInfo]
xor eax, eax
cmp byte [ebp - 0x25], 0
je 0x42e558
cmp ebx, esi
jne 0x42e558
mov dword [ebp - 0x14], eax
mov dword [ebp - 8], eax
jmp 0x42e373
mov ecx, dword [ebp - 8]
mov dword [ebp + ecx*4 - 0x44], 0xb57f
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jl 0x42e365
mov dword [ebp - 0x14], eax
jmp 0x42e4d4
mov dword [ebp - 8], 0x2a2c7c8a
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 8], esi
cmp dword [ebp - 8], eax
jl 0x42e4d1
push 3
lea ecx, [ebp - 0xb4]
call fcn.0042db9d
xor eax, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x1c], eax
jmp 0x42e3c8
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + edx*4], 5
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 3
jl 0x42e3b5
mov ecx, dword [ebp - 0x14]
cmp dword [ebp + ecx*4 - 0x44], eax
jne 0x42e3e1
mov ecx, dword [ebp - 8]
mov edx, eax
cmp dword [ebp - 8], eax
je 0x42e3e3
mov edx, esi
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp + ecx*4 - 0x44]
mov ecx, dword [ebp - 0xb4]
mov dword [ecx + 4], edx
xor edx, edx
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x1c], 0x9599
mov ecx, dword [ebp - 0x1c]
cmp ecx, 6
setne dl
mov dword [ebp - 4], edx
mov dword [ebp - 4], eax
jmp 0x42e4b2
mov dword [ebp - 0x1c], eax
jmp 0x42e422
mov ecx, dword [ebp - 0x1c]
mov dword [ebp + ecx*4 - 0x30], esi
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jl 0x42e418
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], eax
jl 0x42e4ac
xor ebx, ebx
xor esi, esi
inc ebx
mov dword [ebp - 0x18], 0xffffffff
lea ecx, [ebp - 0x130]
push ebx
call fcn.0042db9d
mov dword [ebp - 0x10], esi
jmp 0x42e45f
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x130]
mov dword [eax + ecx*4], 0xe318b474
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], ebx
jl 0x42e44c
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x18], 5
cmp dword [ebp - 0x18], esi
jne 0x42e47c
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp + eax*4 - 0x44]
imul ecx, eax, 7
mov eax, dword [ebp - 0xb4]
mov dword [eax], ecx
mov dword [ebp - 0x18], ecx
lea ecx, [ebp - 0x130]
call fcn.0042dc6f
dec dword [ebp - 0x1c]
jns 0x42e434
xor esi, esi
xor eax, eax
inc esi
mov ecx, dword [ebp - 0x40]
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jle 0x42e413
lea ecx, [ebp - 0xb4]
call fcn.0042dc6f
dec dword [ebp - 8]
jns 0x42e39e
xor eax, eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jle 0x42e381
push 3
lea ecx, [ebp - 0xfc]
mov dword [edi + 8], 4
call fcn.0042db9d
xor eax, eax
mov dword [ebp - 8], 0x2667a876
mov dword [ebp - 0x10], eax
jmp 0x42e512
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xfc]
mov dword [ecx + edx*4], 0xfdf99ff6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x42e4ff
mov dword [ebp - 8], eax
jmp 0x42e540
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42e52f
push eax
call dword [sym.imp.USER32.dll_CharUpperW]
xor eax, eax
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0xfc]
cmp dword [ecx + edx*4], eax
jne 0x42e546
inc dword [ebp - 8]
cmp dword [ebp - 8], 2
jle 0x42e51d
lea ecx, [ebp - 0xfc]
call fcn.0042dc6f
mov dword [edi + 0xc], 0x49c5ec
mov dword [ebp - 0x18], 4
lea ecx, [ebp - 0xf0]
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x10], 0xfffffff9
push 2
call fcn.0042db9d
xor eax, eax
mov dword [ebp - 4], eax
jmp 0x42e58f
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x58], 0xfffffffc
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x42e581
mov dword [ebp - 4], eax
jmp 0x42e5a9
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0xf0]
mov dword [ecx + edx*4], eax
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x42e59a
mov dword [ebp - 4], eax
jmp 0x42e5c1
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x13c], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x42e5b4
mov esi, dword [ebp - 0xf0]
mov edx, dword [ebp - 0x54]
add edx, 0xa205
dec dword [esi + 4]
mov ecx, dword [esi + 4]
add ecx, edx
je 0x42e625
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp ecx, dword [esi + 4]
mov ecx, dword [ebp - 0x54]
setl dl
xor ebx, ebx
add edx, ecx
mov ecx, dword [ebp - 0x54]
cmp ecx, edx
setge bl
xor edx, edx
mov dword [ebp - 0x13c], ebx
mov ecx, dword [ebp - 0x58]
cmp dword [esi + 4], ecx
setge dl
cmp edx, dword [ebp - 0x10]
je 0x42e625
mov byte [ebp - 9], al
cmp byte [ebp - 9], al
je 0x42e69d
push eax
call dword [sym.imp.KERNEL32.dll_ClearCommBreak]
jmp 0x42e69d
xor ebx, ebx
mov dword [ebp - 8], 0xf4cc
inc ebx
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0x10], ebx
push 3
call fcn.0042db9d
xor esi, esi
mov dword [ebp - 0x10], esi
jmp 0x42e659
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [eax + ecx*4], 0x2f4e55b6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x42e646
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], 0x37b30477
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xd8]
mov dword [eax], ecx
lea ecx, [ebp - 0xd8]
mov eax, dword [ebp - 0x13c]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x10], ebx
call fcn.0042dc6f
lea ecx, [ebp - 0xf0]
call fcn.0042dc6f
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x2c], eax
jge 0x42eef1
xor edi, edi
lea ecx, [ebp - 0x74]
inc edi
push edi
call fcn.0042db9d
mov dword [ebp - 0x10], edi
xor eax, eax
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x1c], 0xaa05d762
mov dword [ebp - 0x18], 0xfffffff8
mov dword [ebp - 0x10], 0x2522abf7
mov dword [ebp - 0x10], eax
jmp 0x42e6f6
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x74]
mov dword [ecx + edx*4], 0xffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], edi
jl 0x42e6e6
mov ecx, dword [ebp - 0x74]
mov edx, 0xf9b6917a
mov ecx, dword [ecx]
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], 0xfffd
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x10], ecx
jge 0x42e76d
cmp dword [ebp - 8], eax
jne 0x42e748
mov ecx, dword [ebp - 8]
cmp edx, ecx
mov ecx, dword [ebp - 8]
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
setge bl
sub ebx, dword [ebp - 0x10]
add ebx, 0x6578
cmp ebx, 0xef6e229e
je 0x42e748
mov ecx, dword [ebp - 0x74]
cmp dword [ecx], eax
mov ecx, eax
je 0x42e74a
mov ecx, edi
mov esi, dword [ebp - 0x1c]
xor edx, edx
imul esi, dword [ebp - 8]
imul esi, ecx
mov ecx, dword [ebp - 0x74]
cmp esi, dword [ecx]
mov esi, edi
setg dl
cmp edx, 0xdb6084ed
sbb ecx, ecx
inc ecx
test ecx, ecx
jg 0x42e76f
mov esi, eax
mov ecx, dword [ebp - 0x18]
xor edx, edx
cmp esi, ecx
sete dl
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x1c], eax
jmp 0x42e790
mov dword [ebp - 0x18], 0xffffffff
cmp dword [ebp - 0x18], eax
jne 0x42e796
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x3a
jg 0x42e781
lea ecx, [ebp - 0x74]
call fcn.0042dc6f
cmp dword [ebp - 0x2c], 0
mov ebx, 0x49c5f0
jle 0x42ec77
xor eax, eax
jmp 0x42e7b4
xor edi, edi
inc edi
mov dword [ebp - 8], 0xad386cce
mov dword [ebp - 0x10], eax
jmp 0x42e7d1
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x144], 0x14a02569
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x42e7c0
mov dword [ebp - 8], edi
cmp dword [ebp - 8], eax
jl 0x42e872
mov dword [ebp - 0x10], eax
jmp 0x42e7f9
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0xa8], 8
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x42e7e8
mov dword [ebp - 0xa8], edi
cmp dword [ebp - 0xa8], eax
jl 0x42e869
xor esi, esi
push 4
lea ecx, [ebp - 0xc0]
call fcn.0042db9d
mov dword [ebp - 0x10], esi
jmp 0x42e834
mov ecx, dword [ebp - 0x10]
mov eax, dword [ebp - 0xc0]
mov dword [eax + ecx*4], 0xd72276b
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x42e821
mov ecx, dword [ebp - 0xc0]
mov dword [ecx + 0xc], edi
mov eax, dword [ebp - 8]
cmp dword [ebp + eax*4 - 0x144], esi
jne 0x42e854
dec dword [ecx + 0xc]
jns 0x42e843
lea ecx, [ebp - 0xc0]
call fcn.0042dc6f
dec dword [ebp - 0xa8]
jns 0x42e80f
xor eax, eax
dec dword [ebp - 8]
jns 0x42e7e3
mov ecx, dword [ebx]
mov dword [ebp - 4], 0xf5540d7f
mov dword [ebp - 0x1c], 0x110cbbbc
mov dword [ebp - 0x20], ecx
mov dword [ebp - 4], eax
jmp 0x42e8d9
mov dword [ebp - 8], 0x58d020bd
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x10], eax
jmp 0x42e8aa
mov ecx, dword [ebp - 0x10]
mov dword [ebp + ecx*4 - 0x16c], eax
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 3
jl 0x42e89d
cmp dword [ebp - 4], eax
je 0x42e8bb
mov ecx, dword [ebp - 0x16c]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
mov ecx, dword [ebp - 4]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], edi
inc dword [ebp - 4]
cmp dword [ebp - 4], eax
jle 0x42e88a
mov dword [ebp - 0x14], 0x9d19
xor edx, edx
mov dword [ebp - 0x10], 0xfffffffa
mov dword [ebp - 0x1c], edi
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x18], 0xf456574b
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
push 4
pop esi
add ebx, esi
cmp ecx, 0x2ba75a59
mov ecx, dword [ebp - 0x1c]
setl dl
mov dword [ebp - 4], ebx
xor ebx, ebx
cmp edx, 0xd1e1
setl bl
xor edx, edx
sub ebx, 0x53f0d3ec
cmp ebx, ecx
setl dl
xor ebx, ebx
add edx, dword [ebp - 0x14]
mov dword [ebp - 8], edx
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x18], ecx
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
cmp edx, ecx
setl bl
mov dword [ebp - 0x18], ebx
cmp dword [ebp - 0x18], eax
je 0x42e96e
mov ecx, eax
cmp dword [ebp - 8], eax
je 0x42e970
mov ecx, edi
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x14]
je 0x42e9c0
mov dword [ebp - 0x18], 0x48214d2f
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 8], 0xf717c925
cmp dword [ebp - 0x10], eax
jne 0x42e9a1
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
neg ecx
sbb ecx, ecx
neg ecx
mov dword [ebp - 8], ecx
imul ecx, dword [ebp - 8], 0x2742
test ecx, ecx
jne 0x42e9bb
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 8], esi
jmp 0x42e9e4
mov dword [ebp - 0x18], 0xfffffffb
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x18], ecx
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42e9e4
push 0x1f1a
push eax
call dword [sym.imp.KERNEL32.dll_TerminateProcess]
xor eax, eax
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42e9fc
push eax
push eax
push 0x60d
call dword [sym.imp.KERNEL32.dll_GetModuleHandleExW]
xor eax, eax
mov ebx, dword [ebp - 4]
mov edi, dword [ebx]
mov dword [ebp - 0x18], 0x2b165808
imul ecx, dword [ebp - 0x18], 0x3c6c722c
dec ecx
neg ecx
sbb ecx, ecx
neg ecx
add ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
mov byte [ebp - 9], al
add ecx, 0x91dd612
je 0x42ea38
cmp byte [ebp - 9], 0
je 0x42ea57
push eax
push eax
call dword [sym.imp.KERNEL32.dll_SetCommState]
jmp 0x42ea57
cmp byte [ebp - 9], 0
je 0x42ea57
push 0x28c
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_SetROP2]
push 2
lea ecx, [ebp - 0x90]
add ebx, esi
call fcn.0042db9d
mov dword [ebp - 0x14], 0xffffffff
lea ecx, [ebp - 0x108]
push 3
call fcn.0042db9d
xor esi, esi
inc esi
xor eax, eax
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], eax
jmp 0x42ea9a
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x90]
mov dword [ecx + edx*4], 0x1e2c
inc dword [ebp - 4]
cmp dword [ebp - 4], 2
jl 0x42ea87
mov dword [ebp - 4], eax
jmp 0x42eaaf
mov ecx, dword [ebp - 4]
mov dword [ebp + ecx*4 - 0x78], esi
inc dword [ebp - 4]
cmp dword [ebp - 4], esi
jl 0x42eaa5
mov dword [ebp - 4], eax
jmp 0x42eacc
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 0x108]
mov dword [ecx + edx*4], 0x840eb449
inc dword [ebp - 4]
cmp dword [ebp - 4], 3
jl 0x42eab9
mov ecx, 0x6950
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x14]
add edx, ecx
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x108]
imul edx, ecx
mov dword [esi + 8], edx
test edx, edx
je 0x42eaf5
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x90]
dec dword [ecx]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x90]
cmp dword [ecx], eax
je 0x42eb21
cmp dword [esi + 8], eax
je 0x42eb21
xor eax, eax
inc eax
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x14], eax
call fcn.0042dc6f
lea ecx, [ebp - 0x90]
call fcn.0042dc6f
test edi, edi
jne 0x42eb41
add ebx, 8
xor eax, eax
mov dword [ebp - 4], 6
mov dword [ebp - 4], eax
jmp 0x42eb67
mov byte [ebp - 9], al
cmp byte [ebp - 9], 0
je 0x42eb64
push eax
push eax
push eax
push eax
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
xor eax, eax
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xffffffe2
je 0x42eb4f
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0xfffffff6
jl 0x42ec6b
xor esi, esi
push 4
pop edi
mov dword [ebp - 8], 0x80d4
lea ecx, [ebp - 0x120]
push edi
call fcn.0042db9d
push edi
lea ecx, [ebp - 0xcc]
call fcn.0042db9d
mov dword [ebp - 0x18], 0xb07f
mov dword [ebp - 0x14], esi
jmp 0x42ebbd
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x120]
mov dword [eax + ecx*4], 0xfff9
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x42ebaa
mov dword [ebp - 0x14], esi
jmp 0x42ebda
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xcc]
mov dword [eax + ecx*4], 0xe5034859
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x42ebc7
mov eax, dword [ebp - 8]
xor edx, edx
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 8]
mov eax, dword [ebp - 4]
cmp ecx, eax
mov eax, dword [ebp - 8]
mov edi, dword [ebp - 0xcc]
setge dl
xor ecx, ecx
cmp edx, eax
setge cl
sub ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 4]
mov dword [edi + 4], ecx
xor ecx, ecx
cmp eax, dword [edx + 4]
mov eax, dword [ebp - 4]
setg cl
imul eax, dword [edx + 4]
xor edx, edx
cmp ecx, eax
mov eax, dword [ebp - 4]
setl dl
xor ecx, ecx
cmp edx, eax
setle cl
mov dword [edi + 4], ecx
lea ecx, [ebp - 0xcc]
call fcn.0042dc6f
lea ecx, [ebp - 0x120]
call fcn.0042dc6f
dec dword [ebp - 4]
cmp dword [ebp - 4], 0xfffffff6
jge 0x42eb7c
xor eax, eax
add ebx, dword [ebp - 0x20]
dec dword [ebp - 0x2c]
jne 0x42e7b1
mov edi, dword [ebx]
lea ecx, [ebp - 0x84]
add ebx, 4
xor esi, esi
inc esi
mov dword [ebp - 4], ebx
push esi
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
call fcn.0042db9d
mov dword [ebp - 0x18], esi
xor eax, eax
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x1c], 0xaa05d762
mov dword [ebp - 0x20], 0xfffffff8
mov dword [ebp - 0x18], 0x2522abf7
mov dword [ebp - 0x10], eax
jmp 0x42eccc
mov edx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x84]
mov dword [ecx + edx*4], 0xffff
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], esi
jl 0x42ecb9
mov ecx, dword [ebp - 0x84]
mov ecx, dword [ecx]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 8], 0xfffd
mov ecx, dword [ebp - 8]
cmp dword [ebp - 0x18], ecx
jge 0x42ed51
cmp dword [ebp - 8], eax
jne 0x42ed24
mov ecx, dword [ebp - 8]
mov edx, 0xf9b6917a
cmp edx, ecx
mov ecx, dword [ebp - 8]
sbb edx, edx
xor ebx, ebx
inc edx
cmp edx, ecx
setge bl
sub ebx, dword [ebp - 0x18]
add ebx, 0x6578
cmp ebx, 0xef6e229e
je 0x42ed24
mov ecx, dword [ebp - 0x84]
cmp dword [ecx], eax
mov ecx, eax
je 0x42ed26
mov ecx, esi
mov esi, dword [ebp - 0x1c]
xor edx, edx
imul esi, dword [ebp - 8]
imul esi, ecx
mov ecx, dword [ebp - 0x84]
cmp esi, dword [ecx]
setg dl
cmp edx, 0xdb6084ed
sbb ecx, ecx
inc ecx
test ecx, ecx
jle 0x42ed51
xor ecx, ecx
lea esi, [ecx + 1]
jmp 0x42ed53
mov esi, eax
mov ecx, dword [ebp - 0x20]
xor edx, edx
cmp esi, ecx
sete dl
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x1c], eax
jmp 0x42ed74
mov dword [ebp - 0x20], 0xffffffff
cmp dword [ebp - 0x20], eax
jne 0x42ed7a
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x3a
jg 0x42ed65
lea ecx, [ebp - 0x84]
call fcn.0042dc6f
mov ebx, dword [ebp - 4]
lea ecx, [ebp - 0xe4]
xor esi, esi
mov dword [ebp - 8], esi
push 3
call fcn.0042db9d
mov dword [ebp - 0x20], 0x71013923
mov dword [ebp - 0x14], esi
jmp 0x42edb6
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0xe4]
or dword [eax + ecx*4], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 3
jl 0x42eda6
xor edx, edx
mov dword [ebp - 0x14], esi
inc edx
jmp 0x42edd2
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x68], 0x59b504db
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edx
jl 0x42edc4
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
mov dword [eax], edx
mov eax, dword [ebp - 0x20]
cmp eax, edx
setle cl
imul ecx, dword [ebp - 8]
test ecx, ecx
je 0x42edf4
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
lea ecx, [ebp - 0xe4]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x68], 0xfffffffd
call fcn.0042dc6f
cmp dword [ebp - 0x2c], esi
jne 0x42eeee
cmp byte [ebp - 0x25], 0
je 0x42ee32
xor eax, eax
inc eax
cmp dword [ebp - 0x24], eax
jne 0x42ee32
mov ecx, dword [ebp + 8]
lea eax, [edi + 0x10]
add dword [ecx + 8], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 8]
add ebx, 0xc
push edi
mov dword [ebp - 0x18], eax
mov dword [ebp - 4], ebx
call fcn.00475afc
mov dword [ebp - 0x24], eax
xor eax, eax
pop ecx
mov dword [ebp - 0x64], eax
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
lea eax, [ebp - 0x64]
push eax
push edi
call fcn.0045b743
xor ecx, ecx
test edi, edi
jle 0x42eec5
mov eax, esi
and eax, 0x80000001
jns 0x42ee7d
dec eax
or eax, 0xfffffffe
inc eax
neg eax
sbb eax, eax
and eax, dword [ebp - 0x20]
add eax, esi
add eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x18]
cdq
idiv edi
mov eax, dword [ebp - 0x3c]
cmp word [eax + edx*2], cx
je 0x42eead
mov ebx, eax
lea eax, [edx + 1]
cdq
idiv edi
cmp word [ebx + edx*2], cx
jne 0x42ee9b
mov ebx, dword [ebp - 4]
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
inc ecx
mov word [eax + edx*2], cx
mov al, byte [edx + ebx]
mov edx, dword [ebp - 0x24]
push 0
pop ecx
mov byte [esi + edx], al
inc esi
cmp esi, edi
jl 0x42ee6f
mov eax, dword [ebp + 8]
mov dword [eax], edi
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x24]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x42eef3
push eax
call fcn.00476fe6
pop ecx
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
jmp 0x42eef3
mov edi, dword [ebp + 8]
xor ecx, ecx
mov dword [ebp - 0x24], 0x6aa16542
xor edx, edx
mov dword [ebp + 8], 0xfffffffd
inc edx
mov dword [ebp - 8], 0x411d7fea
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x10], ecx
jmp 0x42ef1d
mov eax, dword [ebp - 0x10]
mov dword [ebp + eax*4 - 0x60], edx
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 2
jl 0x42ef13
mov eax, dword [ebp + 8]
xor ebx, ebx
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], 0xef5d870a
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp + 8]
mov eax, dword [ebp - 8]
mov eax, dword [ebp + 8]
mov dword [ebp + 8], 0xcaa5d732
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x24]
cmp eax, edx
mov eax, dword [ebp - 8]
setge bl
xor edx, edx
cmp ebx, eax
setl dl
cmp edx, dword [ebp - 8]
jne 0x42ef68
mov eax, dword [ebp + 8]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 8]
inc dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 8]
mov byte [ebp + 0xb], cl
cmp byte [ebp + 0xb], 0
je 0x42ef8a
push ecx
push ecx
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
xor ecx, ecx
mov byte [ebp + 0xb], cl
cmp byte [ebp + 0xb], 0
je 0x42ef9a
push ecx
call dword [sym.imp.COMDLG32.dll_FindTextW]
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret