00401000 <.text>:
401000:	b9 44 73 42 00       	mov    $0x427344,%ecx
401005:	e8 b9 7e 01 00       	call   0x418ec3
40100a:	68 e0 be 41 00       	push   $0x41bee0
40100f:	e8 22 76 00 00       	call   0x408636
401014:	59                   	pop    %ecx
401015:	c3                   	ret
401016:	cc                   	int3
401017:	cc                   	int3
401018:	cc                   	int3
401019:	cc                   	int3
40101a:	cc                   	int3
40101b:	cc                   	int3
40101c:	cc                   	int3
40101d:	cc                   	int3
40101e:	cc                   	int3
40101f:	cc                   	int3
401020:	b8 e0 73 42 00       	mov    $0x4273e0,%eax
401025:	c3                   	ret
401026:	55                   	push   %ebp
401027:	8b ec                	mov    %esp,%ebp
401029:	ff 75 0c             	push   0xc(%ebp)
40102c:	6a 00                	push   $0x0
40102e:	ff 75 08             	push   0x8(%ebp)
401031:	52                   	push   %edx
401032:	51                   	push   %ecx
401033:	e8 e8 ff ff ff       	call   0x401020
401038:	8b 08                	mov    (%eax),%ecx
40103a:	ff 70 04             	push   0x4(%eax)
40103d:	83 c9 01             	or     $0x1,%ecx
401040:	51                   	push   %ecx
401041:	e8 77 ca 00 00       	call   0x40dabd
401046:	83 c4 1c             	add    $0x1c,%esp
401049:	85 c0                	test   %eax,%eax
40104b:	79 03                	jns    0x401050
40104d:	83 c8 ff             	or     $0xffffffff,%eax
401050:	5d                   	pop    %ebp
401051:	c3                   	ret
401052:	55                   	push   %ebp
401053:	8b ec                	mov    %esp,%ebp
401055:	53                   	push   %ebx
401056:	8b d9                	mov    %ecx,%ebx
401058:	56                   	push   %esi
401059:	85 d2                	test   %edx,%edx
40105b:	74 37                	je     0x401094
40105d:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
401063:	77 2f                	ja     0x401094
401065:	57                   	push   %edi
401066:	ff 75 0c             	push   0xc(%ebp)
401069:	8d 7a ff             	lea    -0x1(%edx),%edi
40106c:	33 f6                	xor    %esi,%esi
40106e:	ff 75 08             	push   0x8(%ebp)
401071:	8b d7                	mov    %edi,%edx
401073:	e8 ae ff ff ff       	call   0x401026
401078:	59                   	pop    %ecx
401079:	59                   	pop    %ecx
40107a:	85 c0                	test   %eax,%eax
40107c:	78 08                	js     0x401086
40107e:	3b c7                	cmp    %edi,%eax
401080:	77 04                	ja     0x401086
401082:	75 0d                	jne    0x401091
401084:	eb 05                	jmp    0x40108b
401086:	be 7a 00 07 80       	mov    $0x8007007a,%esi
40108b:	33 c0                	xor    %eax,%eax
40108d:	66 89 04 7b          	mov    %ax,(%ebx,%edi,2)
401091:	5f                   	pop    %edi
401092:	eb 0e                	jmp    0x4010a2
401094:	be 57 00 07 80       	mov    $0x80070057,%esi
401099:	85 d2                	test   %edx,%edx
40109b:	74 05                	je     0x4010a2
40109d:	33 c0                	xor    %eax,%eax
40109f:	66 89 03             	mov    %ax,(%ebx)
4010a2:	8b c6                	mov    %esi,%eax
4010a4:	5e                   	pop    %esi
4010a5:	5b                   	pop    %ebx
4010a6:	5d                   	pop    %ebp
4010a7:	c2 08 00             	ret    $0x8
4010aa:	55                   	push   %ebp
4010ab:	8b ec                	mov    %esp,%ebp
4010ad:	6a 00                	push   $0x0
4010af:	6a 00                	push   $0x0
4010b1:	ff 75 0c             	push   0xc(%ebp)
4010b4:	ff 75 08             	push   0x8(%ebp)
4010b7:	ff 15 d8 c0 41 00    	call   *0x41c0d8
4010bd:	5d                   	pop    %ebp
4010be:	c3                   	ret
4010bf:	55                   	push   %ebp
4010c0:	8b ec                	mov    %esp,%ebp
4010c2:	33 c0                	xor    %eax,%eax
4010c4:	81 7d 08 0e 00 07 80 	cmpl   $0x8007000e,0x8(%ebp)
4010cb:	6a 01                	push   $0x1
4010cd:	0f 95 c0             	setne  %al
4010d0:	48                   	dec    %eax
4010d1:	83 e0 fa             	and    $0xfffffffa,%eax
4010d4:	05 1d 00 00 c0       	add    $0xc000001d,%eax
4010d9:	50                   	push   %eax
4010da:	e8 cb ff ff ff       	call   0x4010aa
4010df:	cc                   	int3
4010e0:	55                   	push   %ebp
4010e1:	8b ec                	mov    %esp,%ebp
4010e3:	8b 45 08             	mov    0x8(%ebp),%eax
4010e6:	85 c0                	test   %eax,%eax
4010e8:	74 24                	je     0x40110e
4010ea:	83 f8 0c             	cmp    $0xc,%eax
4010ed:	74 18                	je     0x401107
4010ef:	83 f8 16             	cmp    $0x16,%eax
4010f2:	74 0c                	je     0x401100
4010f4:	83 f8 22             	cmp    $0x22,%eax
4010f7:	74 07                	je     0x401100
4010f9:	83 f8 50             	cmp    $0x50,%eax
4010fc:	75 12                	jne    0x401110
4010fe:	eb 0e                	jmp    0x40110e
401100:	68 57 00 07 80       	push   $0x80070057
401105:	eb 0e                	jmp    0x401115
401107:	68 0e 00 07 80       	push   $0x8007000e
40110c:	eb 07                	jmp    0x401115
40110e:	5d                   	pop    %ebp
40110f:	c3                   	ret
401110:	68 05 40 00 80       	push   $0x80004005
401115:	e8 a5 ff ff ff       	call   0x4010bf
40111a:	cc                   	int3
40111b:	55                   	push   %ebp
40111c:	8b ec                	mov    %esp,%ebp
40111e:	8b 45 14             	mov    0x14(%ebp),%eax
401121:	56                   	push   %esi
401122:	85 c0                	test   %eax,%eax
401124:	74 3b                	je     0x401161
401126:	8b 4d 08             	mov    0x8(%ebp),%ecx
401129:	85 c9                	test   %ecx,%ecx
40112b:	75 11                	jne    0x40113e
40112d:	e8 a1 db 00 00       	call   0x40ecd3
401132:	6a 16                	push   $0x16
401134:	5e                   	pop    %esi
401135:	89 30                	mov    %esi,(%eax)
401137:	e8 da da 00 00       	call   0x40ec16
40113c:	eb 25                	jmp    0x401163
40113e:	8b 55 10             	mov    0x10(%ebp),%edx
401141:	85 d2                	test   %edx,%edx
401143:	74 e8                	je     0x40112d
401145:	39 45 0c             	cmp    %eax,0xc(%ebp)
401148:	73 09                	jae    0x401153
40114a:	e8 84 db 00 00       	call   0x40ecd3
40114f:	6a 22                	push   $0x22
401151:	eb e1                	jmp    0x401134
401153:	50                   	push   %eax
401154:	52                   	push   %edx
401155:	51                   	push   %ecx
401156:	0f ae e8             	lfence
401159:	e8 72 8a 00 00       	call   0x409bd0
40115e:	83 c4 0c             	add    $0xc,%esp
401161:	33 f6                	xor    %esi,%esi
401163:	56                   	push   %esi
401164:	e8 77 ff ff ff       	call   0x4010e0
401169:	59                   	pop    %ecx
40116a:	5e                   	pop    %esi
40116b:	5d                   	pop    %ebp
40116c:	c3                   	ret
40116d:	56                   	push   %esi
40116e:	33 f6                	xor    %esi,%esi
401170:	56                   	push   %esi
401171:	51                   	push   %ecx
401172:	ff 15 34 c1 41 00    	call   *0x41c134
401178:	85 c0                	test   %eax,%eax
40117a:	75 15                	jne    0x401191
40117c:	ff 15 48 c1 41 00    	call   *0x41c148
401182:	8b f0                	mov    %eax,%esi
401184:	85 f6                	test   %esi,%esi
401186:	7e 09                	jle    0x401191
401188:	0f b7 f6             	movzwl %si,%esi
40118b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
401191:	8b c6                	mov    %esi,%eax
401193:	5e                   	pop    %esi
401194:	c3                   	ret
401195:	55                   	push   %ebp
401196:	8b ec                	mov    %esp,%ebp
401198:	53                   	push   %ebx
401199:	56                   	push   %esi
40119a:	57                   	push   %edi
40119b:	8b fa                	mov    %edx,%edi
40119d:	8b d9                	mov    %ecx,%ebx
40119f:	57                   	push   %edi
4011a0:	53                   	push   %ebx
4011a1:	ff 15 b8 c1 41 00    	call   *0x41c1b8
4011a7:	85 c0                	test   %eax,%eax
4011a9:	74 43                	je     0x4011ee
4011ab:	50                   	push   %eax
4011ac:	ff 15 ac c1 41 00    	call   *0x41c1ac
4011b2:	8b f0                	mov    %eax,%esi
4011b4:	85 f6                	test   %esi,%esi
4011b6:	74 36                	je     0x4011ee
4011b8:	57                   	push   %edi
4011b9:	53                   	push   %ebx
4011ba:	ff 15 88 c1 41 00    	call   *0x41c188
4011c0:	8b 55 08             	mov    0x8(%ebp),%edx
4011c3:	8d 0c 06             	lea    (%esi,%eax,1),%ecx
4011c6:	83 e2 0f             	and    $0xf,%edx
4011c9:	76 12                	jbe    0x4011dd
4011cb:	3b f1                	cmp    %ecx,%esi
4011cd:	73 1f                	jae    0x4011ee
4011cf:	0f b7 06             	movzwl (%esi),%eax
4011d2:	8d 34 46             	lea    (%esi,%eax,2),%esi
4011d5:	83 c6 02             	add    $0x2,%esi
4011d8:	83 ea 01             	sub    $0x1,%edx
4011db:	75 ee                	jne    0x4011cb
4011dd:	3b f1                	cmp    %ecx,%esi
4011df:	73 0d                	jae    0x4011ee
4011e1:	66 83 3e 00          	cmpw   $0x0,(%esi)
4011e5:	74 07                	je     0x4011ee
4011e7:	0f ae e8             	lfence
4011ea:	8b c6                	mov    %esi,%eax
4011ec:	eb 02                	jmp    0x4011f0
4011ee:	33 c0                	xor    %eax,%eax
4011f0:	5f                   	pop    %edi
4011f1:	5e                   	pop    %esi
4011f2:	5b                   	pop    %ebx
4011f3:	5d                   	pop    %ebp
4011f4:	c3                   	ret
4011f5:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
4011f9:	c7 01 40 29 42 00    	movl   $0x422940,(%ecx)
4011ff:	74 0f                	je     0x401210
401201:	83 79 04 00          	cmpl   $0x0,0x4(%ecx)
401205:	74 09                	je     0x401210
401207:	ff 71 04             	push   0x4(%ecx)
40120a:	ff 15 c0 c1 41 00    	call   *0x41c1c0
401210:	c3                   	ret
401211:	cc                   	int3
401212:	cc                   	int3
401213:	cc                   	int3
401214:	cc                   	int3
401215:	cc                   	int3
401216:	cc                   	int3
401217:	cc                   	int3
401218:	cc                   	int3
401219:	cc                   	int3
40121a:	cc                   	int3
40121b:	cc                   	int3
40121c:	cc                   	int3
40121d:	cc                   	int3
40121e:	cc                   	int3
40121f:	cc                   	int3
401220:	55                   	push   %ebp
401221:	8b ec                	mov    %esp,%ebp
401223:	ff 75 08             	push   0x8(%ebp)
401226:	6a 00                	push   $0x0
401228:	ff 71 04             	push   0x4(%ecx)
40122b:	ff 15 94 c0 41 00    	call   *0x41c094
401231:	5d                   	pop    %ebp
401232:	c2 04 00             	ret    $0x4
401235:	cc                   	int3
401236:	cc                   	int3
401237:	cc                   	int3
401238:	cc                   	int3
401239:	cc                   	int3
40123a:	cc                   	int3
40123b:	cc                   	int3
40123c:	cc                   	int3
40123d:	cc                   	int3
40123e:	cc                   	int3
40123f:	cc                   	int3
401240:	55                   	push   %ebp
401241:	8b ec                	mov    %esp,%ebp
401243:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
401247:	74 0e                	je     0x401257
401249:	ff 75 08             	push   0x8(%ebp)
40124c:	6a 00                	push   $0x0
40124e:	ff 71 04             	push   0x4(%ecx)
401251:	ff 15 98 c0 41 00    	call   *0x41c098
401257:	5d                   	pop    %ebp
401258:	c2 04 00             	ret    $0x4
40125b:	cc                   	int3
40125c:	cc                   	int3
40125d:	cc                   	int3
40125e:	cc                   	int3
40125f:	cc                   	int3
401260:	55                   	push   %ebp
401261:	8b ec                	mov    %esp,%ebp
401263:	56                   	push   %esi
401264:	57                   	push   %edi
401265:	8b f9                	mov    %ecx,%edi
401267:	8b 4d 08             	mov    0x8(%ebp),%ecx
40126a:	85 c9                	test   %ecx,%ecx
40126c:	75 15                	jne    0x401283
40126e:	8b 07                	mov    (%edi),%eax
401270:	ff 75 0c             	push   0xc(%ebp)
401273:	8b 30                	mov    (%eax),%esi
401275:	8b ce                	mov    %esi,%ecx
401277:	ff 15 50 c2 41 00    	call   *0x41c250
40127d:	8b cf                	mov    %edi,%ecx
40127f:	ff d6                	call   *%esi
401281:	eb 2b                	jmp    0x4012ae
401283:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
401287:	75 16                	jne    0x40129f
401289:	8b 07                	mov    (%edi),%eax
40128b:	51                   	push   %ecx
40128c:	8b 70 04             	mov    0x4(%eax),%esi
40128f:	8b ce                	mov    %esi,%ecx
401291:	ff 15 50 c2 41 00    	call   *0x41c250
401297:	8b cf                	mov    %edi,%ecx
401299:	ff d6                	call   *%esi
40129b:	33 c0                	xor    %eax,%eax
40129d:	eb 0f                	jmp    0x4012ae
40129f:	ff 75 0c             	push   0xc(%ebp)
4012a2:	51                   	push   %ecx
4012a3:	6a 00                	push   $0x0
4012a5:	ff 77 04             	push   0x4(%edi)
4012a8:	ff 15 e8 c0 41 00    	call   *0x41c0e8
4012ae:	5f                   	pop    %edi
4012af:	5e                   	pop    %esi
4012b0:	5d                   	pop    %ebp
4012b1:	c2 08 00             	ret    $0x8
4012b4:	cc                   	int3
4012b5:	cc                   	int3
4012b6:	cc                   	int3
4012b7:	cc                   	int3
4012b8:	cc                   	int3
4012b9:	cc                   	int3
4012ba:	cc                   	int3
4012bb:	cc                   	int3
4012bc:	cc                   	int3
4012bd:	cc                   	int3
4012be:	cc                   	int3
4012bf:	cc                   	int3
4012c0:	55                   	push   %ebp
4012c1:	8b ec                	mov    %esp,%ebp
4012c3:	ff 75 08             	push   0x8(%ebp)
4012c6:	6a 00                	push   $0x0
4012c8:	ff 71 04             	push   0x4(%ecx)
4012cb:	ff 15 e4 c0 41 00    	call   *0x41c0e4
4012d1:	5d                   	pop    %ebp
4012d2:	c2 04 00             	ret    $0x4
4012d5:	cc                   	int3
4012d6:	cc                   	int3
4012d7:	cc                   	int3
4012d8:	cc                   	int3
4012d9:	cc                   	int3
4012da:	cc                   	int3
4012db:	cc                   	int3
4012dc:	cc                   	int3
4012dd:	cc                   	int3
4012de:	cc                   	int3
4012df:	cc                   	int3
4012e0:	55                   	push   %ebp
4012e1:	8b ec                	mov    %esp,%ebp
4012e3:	56                   	push   %esi
4012e4:	8b f1                	mov    %ecx,%esi
4012e6:	e8 0a ff ff ff       	call   0x4011f5
4012eb:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4012ef:	74 0a                	je     0x4012fb
4012f1:	6a 0c                	push   $0xc
4012f3:	56                   	push   %esi