Function at 0x1002b9bb
Capabilities:
Connect pipe

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1005fee9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0xdc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0x10]
test eax, eax
je 0x1002bfb8
lea eax, [ebp + 0x14]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x98]
movzx eax, byte [eax]
test eax, eax
je 0x1002ba26
push 0
push 0
call dword [sym.imp.KERNEL32.dll_ConnectNamedPipe]
jmp 0x1002bfb6
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x50]
call fcn.1003bbb1
movzx eax, al
test eax, eax
je 0x1002ba55
mov eax, dword [ebp - 0x58]
mov byte [eax], 0
jmp 0x1002bfc0
push 0
lea eax, [ebp - 0x60]
push eax
push 0x697c
call fcn.1003a3e8
add esp, 0xc
mov dword [ebp - 0x20], 0xffffffff
mov dword [ebp - 0x94], 0x2ca96836
mov dword [ebp - 0x20], 0
jmp 0x1002ba89
mov eax, dword [ebp - 0x20]
dec eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xfffffff3
jl 0x1002bb4b
push 4
lea ecx, [ebp - 0xa4]
call fcn.100039f2
and dword [ebp - 4], 0
mov dword [ebp - 0x40], 0
jmp 0x1002bab4
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 4
jge 0x1002bad0
push dword [ebp - 0x40]
lea ecx, [ebp - 0xa4]
call fcn.10003ac4
mov dword [eax], 4
jmp 0x1002baad
cmp dword [ebp - 0x20], 0
je 0x1002baf6
mov byte [ebp - 0x1a], 0
push 0
push 0x1331
lea eax, [ebp - 0x1a]
push eax
push 0
push 0x5360
call fcn.1002b11e
add esp, 0x14
jmp 0x1002bb37
mov dword [ebp - 0x84], 0xda37bb00
push 0x66be
push 0x1c4d
push 1
lea eax, [ebp - 0x84]
push eax
push 0x626c
push 0x316d
lea eax, [ebp - 0x94]
push eax
push 1
lea eax, [ebp - 0xa4]
push eax
push 0
call fcn.1002a4a8
add esp, 0x28
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.10003a4f
jmp 0x1002ba82
lea eax, [ebp - 0x24]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.10005012
jmp 0x1002bb61
lea ecx, [ebp - 0x24]
call fcn.1003bbba
lea eax, [ebp - 0xb0]
push eax
mov ecx, dword [ebp - 0x50]
call fcn.10003ffe
push eax
lea ecx, [ebp - 0x24]
call fcn.100145d3
movzx eax, al
test eax, eax
je 0x1002bed2
push 1
lea ecx, [ebp - 0xdc]
call fcn.100039f2
mov dword [ebp - 4], 1
mov dword [ebp - 0x44], 0x9a3df603
push 0
push 0x42cd
push 0xed0
push 0x6f4d
push 0
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0xdc]
push eax
push 0x20a3
push 0x68df
call fcn.1002c477
add esp, 0x24
mov dword [ebp - 0x44], 0
jmp 0x1002bbe2
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jg 0x1002bc44
mov dword [ebp - 0x70], 0
push 0x1175
push 0x57a8
push 0x1518
push 0x7366
push 0x4f5b
push 0x5e18
push 1
push 0x7ae9
push 0x45a8
push 0x677d
lea eax, [ebp - 0x70]
push eax
push 0x4a3a
push 0x7408
push 0
push 0x5c1f
push 1
push 0x7462
call fcn.1002b33b
add esp, 0x44
jmp 0x1002bbdb
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xdc]
call fcn.10003a4f
mov dword [ebp - 0x64], 0x1026
mov dword [ebp - 0x90], str.ebgtb_fbbgmws_fzp_hzqomwv
cmp dword [ebp - 0x64], 0x11c3
jle 0x1002bcd0
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
and dword [ebp - 0x34], 0
jmp 0x1002bc8e
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x5793
jge 0x1002bcd0
and dword [ebp - 0x4c], 0
jmp 0x1002bca4
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x5262
jge 0x1002bcce
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x4c]
sar eax, cl
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
push dword [ebp - 0x78]
push dword [ebp - 0x7c]
mov ecx, 0x1007aeb8
call fcn.10003751
jmp 0x1002bc9d
jmp 0x1002bc87
lea ecx, [ebp - 0x24]
call fcn.10014a8e
movsx eax, byte [eax]
cmp eax, 0x30
jl 0x1002bd0d
lea ecx, [ebp - 0x24]
call fcn.10014a8e
movsx eax, byte [eax]
cmp eax, 0x39
jg 0x1002bd0d
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x60]
push eax
push 0
push 0x3e36
push 1
push 0
call fcn.100298a8
add esp, 0x18
jmp 0x1002bd1e
mov eax, dword [ebp - 0x60]
and dword [eax], 0
mov eax, dword [ebp - 0x58]
mov byte [eax], 0
jmp 0x1002bfc0
mov dword [ebp - 0x80], 0x1c0e
cmp dword [ebp - 0x80], 0xb62
jge 0x1002be87
lea eax, [ebp - 0x5c]
push eax
push 0x100682f0
call fcn.100477eb
pop ecx
pop ecx
mov dword [ebp - 0x30], 1
jmp 0x1002bd52
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x5c]
dec eax
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x88], 0
je 0x1002be87
lea eax, [ebp - 0x54]
push eax
push 0x100682f0
call fcn.100477eb
pop ecx
pop ecx
mov ecx, 0x100ffea4
call fcn.1003bbbf
push dword [ebp - 0x54]
mov ecx, 0x100ffea4
call fcn.10003a6b
and dword [ebp - 0x48], 0
jmp 0x1002bda3
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x54]
dec eax
cmp dword [ebp - 0x48], eax
jge 0x1002bdc8
push dword [ebp - 0x48]
mov ecx, 0x100ffea4
call fcn.10003ac4
push eax
push 0x100682f0
call fcn.100477eb
pop ecx
pop ecx
jmp 0x1002bd9c
and dword [ebp - 0x28], 0
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
and dword [ebp - 0x18], 0
jmp 0x1002bdf1
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x54]
dec eax
cmp dword [ebp - 0x18], eax
jge 0x1002be50
push dword [ebp - 0x18]
mov ecx, 0x100ffea4
call fcn.10003ac4
mov ecx, dword [ebp - 0x14]
add ecx, dword [eax]
mov dword [ebp - 0x14], ecx
jns 0x1002be1c
and dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x14]
jl 0x1002be3c
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x14]
jne 0x1002be4e
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x2c]
cmp ecx, eax
jge 0x1002be4e
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x3c], eax
jmp 0x1002bdea
cmp dword [ebp - 0x38], 0
je 0x1002be73
mov eax, dword [ebp - 0x3c]
inc eax
inc eax
push eax
mov eax, dword [ebp - 0x2c]
inc eax
push eax
push dword [ebp - 0x30]
push str.The_nicest_part_of_route__d_is_between_stops__d_and__d_n
call fcn.10047ad3
add esp, 0x10
jmp 0x1002be82
push dword [ebp - 0x30]
push str.Route__d_has_no_nice_parts_n
call fcn.10047ad3
pop ecx
pop ecx
jmp 0x1002bd4b
mov dword [ebp - 4], 2
cmp dword [ebp - 0x64], 0xd1b
jge 0x1002bea7
mov edx, dword [ebp - 0x90]
mov ecx, 0x1007aeb8
call fcn.10005cf1
jmp 0x1002bec3
or dword [ebp - 4], 0xffffffff
jmp 0x1002becd
jmp 0x1002bb59
mov dword [ebp - 0xcc], 0x49fe387
mov dword [ebp - 0xa8], 0x971c1ec2
mov dword [ebp - 0xc8], 0x4f84b811
mov dword [ebp - 0xb8], 0xaa39ed08
mov dword [ebp - 0xe0], 0x509978f3
mov dword [ebp - 0xc0], 0xffffffff
mov dword [ebp - 0xd0], 0x653d4237
mov dword [ebp - 0xac], 0x5cc25bfc
mov dword [ebp - 0xb4], 1
push 3
lea ecx, [ebp - 0xec]
call fcn.100039f2
mov dword [ebp - 4], 4
mov dword [ebp - 0x68], 0xb564
push 0x616d
push 0
push 0x100b
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0xec]
push eax
push 0
push 1
push 0x4190
call fcn.10029e6b
add esp, 0x20
mov eax, dword [ebp - 0x68]
inc eax
mov dword [ebp - 0x68], eax
mov byte [ebp - 0x19], 0
push 0x77a
push 0
lea eax, [ebp - 0x19]
push eax
push 0x866
push 0x4d27
push 0x68fe
call fcn.1002f371
add esp, 0x18
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xec]
call fcn.10003a4f
mov eax, dword [ebp - 0x58]
mov byte [eax], 1
jmp 0x1002bfc0
jmp 0x1002bfc0
push 1
call fcn.10029258
pop ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret