41ffda:	cc                   	int3
41ffdb:	cc                   	int3
41ffdc:	cc                   	int3
41ffdd:	cc                   	int3
41ffde:	cc                   	int3
41ffdf:	cc                   	int3
41ffe0:	8b ff                	mov    %edi,%edi
41ffe2:	55                   	push   %ebp
41ffe3:	8b ec                	mov    %esp,%ebp
41ffe5:	8b 4d 08             	mov    0x8(%ebp),%ecx
41ffe8:	56                   	push   %esi
41ffe9:	83 ce ff             	or     $0xffffffff,%esi
41ffec:	f0 0f c1 71 04       	lock xadd %esi,0x4(%ecx)
41fff1:	4e                   	dec    %esi
41fff2:	75 12                	jne    0x420006
41fff4:	85 c9                	test   %ecx,%ecx
41fff6:	74 0e                	je     0x420006
41fff8:	51                   	push   %ecx
41fff9:	c7 01 64 14 40 00    	movl   $0x401464,(%ecx)
41ffff:	ff 15 10 74 4a 00    	call   *0x4a7410
420005:	59                   	pop    %ecx
420006:	8b c6                	mov    %esi,%eax
420008:	5e                   	pop    %esi
420009:	5d                   	pop    %ebp
42000a:	c2 04 00             	ret    $0x4
42000d:	cc                   	int3
42000e:	cc                   	int3
42000f:	cc                   	int3
420010:	8b ff                	mov    %edi,%edi
420012:	55                   	push   %ebp
420013:	8b ec                	mov    %esp,%ebp
420015:	51                   	push   %ecx
420016:	53                   	push   %ebx
420017:	56                   	push   %esi
420018:	8b 75 14             	mov    0x14(%ebp),%esi
42001b:	85 f6                	test   %esi,%esi
42001d:	74 03                	je     0x420022
42001f:	83 26 00             	andl   $0x0,(%esi)
420022:	8b 4d 08             	mov    0x8(%ebp),%ecx
420025:	8b 59 0c             	mov    0xc(%ecx),%ebx
420028:	8b 51 10             	mov    0x10(%ecx),%edx
42002b:	8d 43 0e             	lea    0xe(%ebx),%eax
42002e:	3b d0                	cmp    %eax,%edx
420030:	76 08                	jbe    0x42003a
420032:	33 c0                	xor    %eax,%eax
420034:	40                   	inc    %eax
420035:	e9 9d 00 00 00       	jmp    0x4200d7
42003a:	57                   	push   %edi
42003b:	8b 7d 10             	mov    0x10(%ebp),%edi
42003e:	85 ff                	test   %edi,%edi
420040:	0f 84 8e 00 00 00    	je     0x4200d4
420046:	2b da                	sub    %edx,%ebx
420048:	83 c3 0e             	add    $0xe,%ebx
42004b:	3b fb                	cmp    %ebx,%edi
42004d:	76 02                	jbe    0x420051
42004f:	8b fb                	mov    %ebx,%edi
420051:	6a 0e                	push   $0xe
420053:	5b                   	pop    %ebx
420054:	3b d3                	cmp    %ebx,%edx
420056:	73 32                	jae    0x42008a
420058:	2b da                	sub    %edx,%ebx
42005a:	3b fb                	cmp    %ebx,%edi
42005c:	73 02                	jae    0x420060
42005e:	8b df                	mov    %edi,%ebx
420060:	8d 41 14             	lea    0x14(%ecx),%eax
420063:	53                   	push   %ebx
420064:	03 c2                	add    %edx,%eax
420066:	50                   	push   %eax
420067:	ff 75 0c             	push   0xc(%ebp)
42006a:	e8 be 0f 07 00       	call   0x49102d
42006f:	8b 4d 08             	mov    0x8(%ebp),%ecx
420072:	83 c4 0c             	add    $0xc,%esp
420075:	8b 45 0c             	mov    0xc(%ebp),%eax
420078:	2b fb                	sub    %ebx,%edi
42007a:	03 c3                	add    %ebx,%eax
42007c:	89 45 fc             	mov    %eax,-0x4(%ebp)
42007f:	01 59 10             	add    %ebx,0x10(%ecx)
420082:	85 f6                	test   %esi,%esi
420084:	74 0a                	je     0x420090
420086:	01 1e                	add    %ebx,(%esi)
420088:	eb 06                	jmp    0x420090
42008a:	8b 45 0c             	mov    0xc(%ebp),%eax
42008d:	89 45 fc             	mov    %eax,-0x4(%ebp)
420090:	85 ff                	test   %edi,%edi
420092:	74 40                	je     0x4200d4
420094:	ff 71 08             	push   0x8(%ecx)
420097:	ff 15 54 72 4a 00    	call   *0x4a7254
42009d:	8b c8                	mov    %eax,%ecx
42009f:	85 c9                	test   %ecx,%ecx
4200a1:	75 07                	jne    0x4200aa
4200a3:	e8 e0 01 00 00       	call   0x420288
4200a8:	eb 2c                	jmp    0x4200d6
4200aa:	8b 5d 08             	mov    0x8(%ebp),%ebx
4200ad:	57                   	push   %edi
4200ae:	8b 43 10             	mov    0x10(%ebx),%eax
4200b1:	83 c0 f2             	add    $0xfffffff2,%eax
4200b4:	03 c1                	add    %ecx,%eax
4200b6:	50                   	push   %eax
4200b7:	ff 75 fc             	push   -0x4(%ebp)
4200ba:	e8 6e 0f 07 00       	call   0x49102d
4200bf:	83 c4 0c             	add    $0xc,%esp
4200c2:	ff 73 08             	push   0x8(%ebx)
4200c5:	ff 15 50 72 4a 00    	call   *0x4a7250
4200cb:	01 7b 10             	add    %edi,0x10(%ebx)
4200ce:	85 f6                	test   %esi,%esi
4200d0:	74 02                	je     0x4200d4
4200d2:	01 3e                	add    %edi,(%esi)
4200d4:	33 c0                	xor    %eax,%eax
4200d6:	5f                   	pop    %edi
4200d7:	5e                   	pop    %esi
4200d8:	5b                   	pop    %ebx
4200d9:	c9                   	leave
4200da:	c2 10 00             	ret    $0x10
4200dd:	cc                   	int3
4200de:	cc                   	int3
4200df:	cc                   	int3
4200e0:	8b ff                	mov    %edi,%edi
4200e2:	55                   	push   %ebp
4200e3:	8b ec                	mov    %esp,%ebp
4200e5:	51                   	push   %ecx
4200e6:	53                   	push   %ebx
4200e7:	56                   	push   %esi
4200e8:	57                   	push   %edi
4200e9:	8b 7d 14             	mov    0x14(%ebp),%edi
4200ec:	85 ff                	test   %edi,%edi
4200ee:	74 03                	je     0x4200f3
4200f0:	83 27 00             	andl   $0x0,(%edi)
4200f3:	8b 75 10             	mov    0x10(%ebp),%esi
4200f6:	85 f6                	test   %esi,%esi
4200f8:	75 07                	jne    0x420101
4200fa:	33 c0                	xor    %eax,%eax
4200fc:	e9 c8 00 00 00       	jmp    0x4201c9
420101:	8b 4d 08             	mov    0x8(%ebp),%ecx
420104:	8b 41 10             	mov    0x10(%ecx),%eax
420107:	8d 14 30             	lea    (%eax,%esi,1),%edx
42010a:	3b d0                	cmp    %eax,%edx
42010c:	0f 82 b2 00 00 00    	jb     0x4201c4
420112:	3b d6                	cmp    %esi,%edx
420114:	0f 82 aa 00 00 00    	jb     0x4201c4
42011a:	8b 41 0c             	mov    0xc(%ecx),%eax
42011d:	6a 0e                	push   $0xe
42011f:	5b                   	pop    %ebx
420120:	03 c3                	add    %ebx,%eax
420122:	3b c2                	cmp    %edx,%eax
420124:	73 14                	jae    0x42013a
420126:	8d 42 f2             	lea    -0xe(%edx),%eax
420129:	50                   	push   %eax
42012a:	e8 da fd ff ff       	call   0x41ff09
42012f:	85 c0                	test   %eax,%eax
420131:	0f 85 92 00 00 00    	jne    0x4201c9
420137:	8b 4d 08             	mov    0x8(%ebp),%ecx
42013a:	8b 41 10             	mov    0x10(%ecx),%eax
42013d:	3b c3                	cmp    %ebx,%eax
42013f:	73 4d                	jae    0x42018e
420141:	2b d8                	sub    %eax,%ebx
420143:	3b f3                	cmp    %ebx,%esi
420145:	73 02                	jae    0x420149
420147:	8b de                	mov    %esi,%ebx
420149:	53                   	push   %ebx
42014a:	ff 75 0c             	push   0xc(%ebp)
42014d:	83 c1 14             	add    $0x14,%ecx
420150:	03 c1                	add    %ecx,%eax
420152:	50                   	push   %eax
420153:	e8 d5 0e 07 00       	call   0x49102d
420158:	8b 4d 08             	mov    0x8(%ebp),%ecx
42015b:	83 c4 0c             	add    $0xc,%esp
42015e:	8b 45 0c             	mov    0xc(%ebp),%eax
420161:	2b f3                	sub    %ebx,%esi
420163:	03 c3                	add    %ebx,%eax
420165:	89 45 fc             	mov    %eax,-0x4(%ebp)
420168:	01 59 10             	add    %ebx,0x10(%ecx)
42016b:	85 ff                	test   %edi,%edi
42016d:	74 02                	je     0x420171
42016f:	01 1f                	add    %ebx,(%edi)
420171:	8b 5d fc             	mov    -0x4(%ebp),%ebx
420174:	85 f6                	test   %esi,%esi
420176:	74 82                	je     0x4200fa
420178:	ff 71 08             	push   0x8(%ecx)
42017b:	ff 15 54 72 4a 00    	call   *0x4a7254
420181:	8b c8                	mov    %eax,%ecx
420183:	85 c9                	test   %ecx,%ecx
420185:	75 0c                	jne    0x420193
420187:	e8 fc 00 00 00       	call   0x420288
42018c:	eb 3b                	jmp    0x4201c9
42018e:	8b 5d 0c             	mov    0xc(%ebp),%ebx
420191:	eb e1                	jmp    0x420174
420193:	56                   	push   %esi
420194:	53                   	push   %ebx
420195:	8b 5d 08             	mov    0x8(%ebp),%ebx
420198:	8b 43 10             	mov    0x10(%ebx),%eax
42019b:	83 c0 f2             	add    $0xfffffff2,%eax
42019e:	03 c1                	add    %ecx,%eax
4201a0:	50                   	push   %eax
4201a1:	e8 87 0e 07 00       	call   0x49102d
4201a6:	83 c4 0c             	add    $0xc,%esp
4201a9:	ff 73 08             	push   0x8(%ebx)
4201ac:	ff 15 50 72 4a 00    	call   *0x4a7250
4201b2:	01 73 10             	add    %esi,0x10(%ebx)
4201b5:	85 ff                	test   %edi,%edi
4201b7:	0f 84 3d ff ff ff    	je     0x4200fa
4201bd:	01 37                	add    %esi,(%edi)
4201bf:	e9 36 ff ff ff       	jmp    0x4200fa
4201c4:	b8 05 40 00 80       	mov    $0x80004005,%eax
4201c9:	5f                   	pop    %edi
4201ca:	5e                   	pop    %esi
4201cb:	5b                   	pop    %ebx
4201cc:	c9                   	leave
4201cd:	c2 10 00             	ret    $0x10
4201d0:	8b ff                	mov    %edi,%edi
4201d2:	55                   	push   %ebp
4201d3:	8b ec                	mov    %esp,%ebp
4201d5:	8b 45 14             	mov    0x14(%ebp),%eax
4201d8:	83 e8 00             	sub    $0x0,%eax
4201db:	74 2c                	je     0x420209
4201dd:	83 e8 01             	sub    $0x1,%eax
4201e0:	74 1a                	je     0x4201fc
4201e2:	83 e8 01             	sub    $0x1,%eax
4201e5:	74 07                	je     0x4201ee
4201e7:	b8 57 00 07 80       	mov    $0x80070057,%eax
4201ec:	eb 37                	jmp    0x420225
4201ee:	8b 45 08             	mov    0x8(%ebp),%eax
4201f1:	8d 48 10             	lea    0x10(%eax),%ecx
4201f4:	8b 40 0c             	mov    0xc(%eax),%eax
4201f7:	2b 45 0c             	sub    0xc(%ebp),%eax
4201fa:	eb 16                	jmp    0x420212
4201fc:	8b 4d 08             	mov    0x8(%ebp),%ecx
4201ff:	8b 45 0c             	mov    0xc(%ebp),%eax
420202:	83 c1 10             	add    $0x10,%ecx
420205:	01 01                	add    %eax,(%ecx)
420207:	eb 0b                	jmp    0x420214
420209:	8b 4d 08             	mov    0x8(%ebp),%ecx
42020c:	8b 45 0c             	mov    0xc(%ebp),%eax
42020f:	83 c1 10             	add    $0x10,%ecx
420212:	89 01                	mov    %eax,(%ecx)
420214:	8b 55 18             	mov    0x18(%ebp),%edx
420217:	85 d2                	test   %edx,%edx
420219:	74 08                	je     0x420223
42021b:	8b 01                	mov    (%ecx),%eax
42021d:	83 62 04 00          	andl   $0x0,0x4(%edx)
420221:	89 02                	mov    %eax,(%edx)
420223:	33 c0                	xor    %eax,%eax
420225:	5d                   	pop    %ebp
420226:	c2 14 00             	ret    $0x14
420229:	cc                   	int3
42022a:	cc                   	int3
42022b:	cc                   	int3
42022c:	cc                   	int3
42022d:	cc                   	int3
42022e:	cc                   	int3
42022f:	cc                   	int3
420230:	8b ff                	mov    %edi,%edi
420232:	55                   	push   %ebp
420233:	8b ec                	mov    %esp,%ebp
420235:	ff 75 0c             	push   0xc(%ebp)
420238:	8b 4d 08             	mov    0x8(%ebp),%ecx
42023b:	e8 c9 fc ff ff       	call   0x41ff09
420240:	5d                   	pop    %ebp
420241:	c2 0c 00             	ret    $0xc
420244:	cc                   	int3
420245:	cc                   	int3
420246:	cc                   	int3
420247:	cc                   	int3
420248:	cc                   	int3
420249:	cc                   	int3
42024a:	cc                   	int3
42024b:	cc                   	int3
42024c:	cc                   	int3
42024d:	cc                   	int3
42024e:	cc                   	int3
42024f:	cc                   	int3
420250:	b8 01 40 00 80       	mov    $0x80004001,%eax
420255:	c2 18 00             	ret    $0x18
420258:	cc                   	int3
420259:	cc                   	int3
42025a:	cc                   	int3
42025b:	cc                   	int3
42025c:	cc                   	int3
42025d:	cc                   	int3
42025e:	cc                   	int3
42025f:	cc                   	int3
420260:	b8 01 40 00 80       	mov    $0x80004001,%eax
420265:	c2 08 00             	ret    $0x8
420268:	cc                   	int3
420269:	cc                   	int3
42026a:	cc                   	int3
42026b:	cc                   	int3
42026c:	cc                   	int3
42026d:	cc                   	int3
42026e:	cc                   	int3
42026f:	cc                   	int3
420270:	b8 01 40 00 80       	mov    $0x80004001,%eax
420275:	c2 04 00             	ret    $0x4
420278:	cc                   	int3
420279:	cc                   	int3
42027a:	cc                   	int3
42027b:	cc                   	int3
42027c:	cc                   	int3
42027d:	cc                   	int3
42027e:	cc                   	int3
42027f:	cc                   	int3
420280:	b8 01 40 00 80       	mov    $0x80004001,%eax
420285:	c2 0c 00             	ret    $0xc
420288:	ff 15 b8 72 4a 00    	call   *0x4a72b8
42028e:	85 c0                	test   %eax,%eax
420290:	7e 0a                	jle    0x42029c
420292:	0f b7 c0             	movzwl %ax,%eax
420295:	0d 00 00 07 80       	or     $0x80070000,%eax
42029a:	85 c0                	test   %eax,%eax
42029c:	78 05                	js     0x4202a3
42029e:	b8 05 40 00 80       	mov    $0x80004005,%eax
4202a3:	c3                   	ret
4202a4:	6a 08                	push   $0x8
4202a6:	b8 86 18 49 00       	mov    $0x491886,%eax
4202ab:	e8 23 02 07 00       	call   0x4904d3
4202b0:	66 8b f2             	mov    %dx,%si
4202b3:	66 8b f9             	mov    %cx,%di
4202b6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4202b9:	ff 15 20 74 4a 00    	call   *0x4a7420
4202bf:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4202c3:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4202c6:	ff 15 20 74 4a 00    	call   *0x4a7420
4202cc:	0f b7 c6             	movzwl %si,%eax
4202cf:	8d 4d f0             	lea    -0x10(%ebp),%ecx
4202d2:	50                   	push   %eax
4202d3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4202d7:	ff 15 40 74 4a 00    	call   *0x4a7440
4202dd:	8b 75 f0             	mov    -0x10(%ebp),%esi
4202e0:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4202e3:	0f b7 c7             	movzwl %di,%eax
4202e6:	50                   	push   %eax
4202e7:	ff 15 40 74 4a 00    	call   *0x4a7440
4202ed:	8b 7d ec             	mov    -0x14(%ebp),%edi
4202f0:	e8 40 00 00 00       	call   0x420335
4202f5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4202f8:	81 c9 00 20 00 00    	or     $0x2000,%ecx
4202fe:	51                   	push   %ecx
4202ff:	56                   	push   %esi
420300:	57                   	push   %edi
420301:	85 c0                	test   %eax,%eax
420303:	74 0a                	je     0x42030f
420305:	8b c8                	mov    %eax,%ecx
420307:	ff 15 ac 75 4a 00    	call   *0x4a75ac
42030d:	eb 08                	jmp    0x420317
42030f:	6a 00                	push   $0x0
420311:	ff 15 90 7d 4a 00    	call   *0x4a7d90
420317:	8d 4d f0             	lea    -0x10(%ebp),%ecx
42031a:	8b f0                	mov    %eax,%esi
42031c:	ff 15 1c 74 4a 00    	call   *0x4a741c
420322:	8d 4d ec             	lea    -0x14(%ebp),%ecx
420325:	ff 15 1c 74 4a 00    	call   *0x4a741c