419fa0:	8b f1                	mov    %ecx,%esi
419fa2:	eb 17                	jmp    0x419fbb
419fa4:	8d 4d f8             	lea    -0x8(%ebp),%ecx
419fa7:	e8 d9 f9 ff ff       	call   0x419985
419fac:	8b 75 f8             	mov    -0x8(%ebp),%esi
419faf:	8b f8                	mov    %eax,%edi
419fb1:	85 ff                	test   %edi,%edi
419fb3:	78 4d                	js     0x41a002
419fb5:	8b 45 f0             	mov    -0x10(%ebp),%eax
419fb8:	8b 55 f4             	mov    -0xc(%ebp),%edx
419fbb:	52                   	push   %edx
419fbc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
419fbf:	89 75 f8             	mov    %esi,-0x8(%ebp)
419fc2:	51                   	push   %ecx
419fc3:	8b d6                	mov    %esi,%edx
419fc5:	8b c8                	mov    %eax,%ecx
419fc7:	e8 64 ff ff ff       	call   0x419f30
419fcc:	8b f8                	mov    %eax,%edi
419fce:	85 ff                	test   %edi,%edi
419fd0:	78 2d                	js     0x419fff
419fd2:	8b 45 f4             	mov    -0xc(%ebp),%eax
419fd5:	38 18                	cmp    %bl,(%eax)
419fd7:	74 26                	je     0x419fff
419fd9:	8b 75 f0             	mov    -0x10(%ebp),%esi
419fdc:	83 c6 14             	add    $0x14,%esi
419fdf:	56                   	push   %esi
419fe0:	ff 15 ac 35 42 00    	call   *0x4235ac
419fe6:	8b 5d fc             	mov    -0x4(%ebp),%ebx
419fe9:	53                   	push   %ebx
419fea:	56                   	push   %esi
419feb:	ff 15 a4 35 42 00    	call   *0x4235a4
419ff1:	8b 75 f8             	mov    -0x8(%ebp),%esi
419ff4:	84 c0                	test   %al,%al
419ff6:	75 0a                	jne    0x41a002
419ff8:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
419ffd:	eb 03                	jmp    0x41a002
419fff:	8b 5d fc             	mov    -0x4(%ebp),%ebx
41a002:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
41a006:	75 0b                	jne    0x41a013
41a008:	85 f6                	test   %esi,%esi
41a00a:	74 07                	je     0x41a013
41a00c:	56                   	push   %esi
41a00d:	e8 0c 19 00 00       	call   0x41b91e
41a012:	59                   	pop    %ecx
41a013:	5e                   	pop    %esi
41a014:	85 db                	test   %ebx,%ebx
41a016:	74 07                	je     0x41a01f
41a018:	53                   	push   %ebx
41a019:	e8 00 19 00 00       	call   0x41b91e
41a01e:	59                   	pop    %ecx
41a01f:	8b c7                	mov    %edi,%eax
41a021:	5f                   	pop    %edi
41a022:	5b                   	pop    %ebx
41a023:	c9                   	leave
41a024:	c3                   	ret
41a025:	8b ff                	mov    %edi,%edi
41a027:	55                   	push   %ebp
41a028:	8b ec                	mov    %esp,%ebp
41a02a:	51                   	push   %ecx
41a02b:	56                   	push   %esi
41a02c:	be ff 7f 00 00       	mov    $0x7fff,%esi
41a031:	57                   	push   %edi
41a032:	8b d6                	mov    %esi,%edx
41a034:	33 ff                	xor    %edi,%edi
41a036:	66 39 39             	cmp    %di,(%ecx)
41a039:	74 08                	je     0x41a043
41a03b:	83 c1 02             	add    $0x2,%ecx
41a03e:	83 ea 01             	sub    $0x1,%edx
41a041:	75 f3                	jne    0x41a036
41a043:	8b 4d 08             	mov    0x8(%ebp),%ecx
41a046:	8b c2                	mov    %edx,%eax
41a048:	f7 d8                	neg    %eax
41a04a:	1b c0                	sbb    %eax,%eax
41a04c:	25 f3 ff ff 3f       	and    $0x3ffffff3,%eax
41a051:	05 0d 00 00 c0       	add    $0xc000000d,%eax
41a056:	85 c9                	test   %ecx,%ecx
41a058:	74 0c                	je     0x41a066
41a05a:	85 d2                	test   %edx,%edx
41a05c:	74 06                	je     0x41a064
41a05e:	2b f2                	sub    %edx,%esi
41a060:	89 31                	mov    %esi,(%ecx)
41a062:	eb 02                	jmp    0x41a066
41a064:	89 39                	mov    %edi,(%ecx)
41a066:	5f                   	pop    %edi
41a067:	5e                   	pop    %esi
41a068:	c9                   	leave
41a069:	c2 04 00             	ret    $0x4
41a06c:	8b ff                	mov    %edi,%edi
41a06e:	55                   	push   %ebp
41a06f:	8b ec                	mov    %esp,%ebp
41a071:	85 d2                	test   %edx,%edx
41a073:	74 2b                	je     0x41a0a0
41a075:	8b 45 0c             	mov    0xc(%ebp),%eax
41a078:	56                   	push   %esi
41a079:	57                   	push   %edi
41a07a:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
41a07f:	2b c1                	sub    %ecx,%eax
41a081:	85 f6                	test   %esi,%esi
41a083:	74 15                	je     0x41a09a
41a085:	0f b7 3c 08          	movzwl (%eax,%ecx,1),%edi
41a089:	66 85 ff             	test   %di,%di
41a08c:	74 0c                	je     0x41a09a
41a08e:	66 89 39             	mov    %di,(%ecx)
41a091:	83 c1 02             	add    $0x2,%ecx
41a094:	4e                   	dec    %esi
41a095:	83 ea 01             	sub    $0x1,%edx
41a098:	75 e7                	jne    0x41a081
41a09a:	5f                   	pop    %edi
41a09b:	5e                   	pop    %esi
41a09c:	85 d2                	test   %edx,%edx
41a09e:	75 03                	jne    0x41a0a3
41a0a0:	83 e9 02             	sub    $0x2,%ecx
41a0a3:	f7 da                	neg    %edx
41a0a5:	1b d2                	sbb    %edx,%edx
41a0a7:	81 e2 fb ff ff 7f    	and    $0x7ffffffb,%edx
41a0ad:	33 c0                	xor    %eax,%eax
41a0af:	66 89 01             	mov    %ax,(%ecx)
41a0b2:	8d 82 05 00 00 80    	lea    -0x7ffffffb(%edx),%eax
41a0b8:	5d                   	pop    %ebp
41a0b9:	c2 0c 00             	ret    $0xc
41a0bc:	8b ff                	mov    %edi,%edi
41a0be:	55                   	push   %ebp
41a0bf:	8b ec                	mov    %esp,%ebp
41a0c1:	51                   	push   %ecx
41a0c2:	56                   	push   %esi
41a0c3:	8d 45 fc             	lea    -0x4(%ebp),%eax
41a0c6:	8b f1                	mov    %ecx,%esi
41a0c8:	50                   	push   %eax
41a0c9:	e8 57 ff ff ff       	call   0x41a025
41a0ce:	85 c0                	test   %eax,%eax
41a0d0:	78 17                	js     0x41a0e9
41a0d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
41a0d5:	ba ff 7f 00 00       	mov    $0x7fff,%edx
41a0da:	51                   	push   %ecx
41a0db:	ff 75 08             	push   0x8(%ebp)
41a0de:	2b d0                	sub    %eax,%edx
41a0e0:	51                   	push   %ecx
41a0e1:	8d 0c 46             	lea    (%esi,%eax,2),%ecx
41a0e4:	e8 83 ff ff ff       	call   0x41a06c
41a0e9:	5e                   	pop    %esi
41a0ea:	c9                   	leave
41a0eb:	c2 04 00             	ret    $0x4
41a0ee:	8b ff                	mov    %edi,%edi
41a0f0:	56                   	push   %esi
41a0f1:	8b f1                	mov    %ecx,%esi
41a0f3:	8b 4e 18             	mov    0x18(%esi),%ecx
41a0f6:	85 c9                	test   %ecx,%ecx
41a0f8:	74 05                	je     0x41a0ff
41a0fa:	e8 94 0d 00 00       	call   0x41ae93
41a0ff:	8b 4e 20             	mov    0x20(%esi),%ecx
41a102:	85 c9                	test   %ecx,%ecx
41a104:	74 05                	je     0x41a10b
41a106:	e8 88 0d 00 00       	call   0x41ae93
41a10b:	8b 4e 34             	mov    0x34(%esi),%ecx
41a10e:	85 c9                	test   %ecx,%ecx
41a110:	74 05                	je     0x41a117
41a112:	e8 7c 0d 00 00       	call   0x41ae93
41a117:	8b 4e 3c             	mov    0x3c(%esi),%ecx
41a11a:	85 c9                	test   %ecx,%ecx
41a11c:	74 05                	je     0x41a123
41a11e:	e8 70 0d 00 00       	call   0x41ae93
41a123:	8b 4e 58             	mov    0x58(%esi),%ecx
41a126:	85 c9                	test   %ecx,%ecx
41a128:	74 05                	je     0x41a12f
41a12a:	e8 64 0d 00 00       	call   0x41ae93
41a12f:	68 90 00 00 00       	push   $0x90
41a134:	6a 00                	push   $0x0
41a136:	56                   	push   %esi
41a137:	e8 e5 24 00 00       	call   0x41c621
41a13c:	83 c4 0c             	add    $0xc,%esp
41a13f:	5e                   	pop    %esi
41a140:	c3                   	ret
41a141:	8b ff                	mov    %edi,%edi
41a143:	53                   	push   %ebx
41a144:	56                   	push   %esi
41a145:	57                   	push   %edi
41a146:	be 08 02 00 00       	mov    $0x208,%esi
41a14b:	33 ff                	xor    %edi,%edi
41a14d:	56                   	push   %esi
41a14e:	57                   	push   %edi
41a14f:	bb 28 1d 42 00       	mov    $0x421d28,%ebx
41a154:	53                   	push   %ebx
41a155:	e8 c7 24 00 00       	call   0x41c621
41a15a:	83 c4 0c             	add    $0xc,%esp
41a15d:	57                   	push   %edi
41a15e:	56                   	push   %esi
41a15f:	53                   	push   %ebx
41a160:	57                   	push   %edi
41a161:	be f0 05 42 00       	mov    $0x4205f0,%esi
41a166:	56                   	push   %esi
41a167:	68 94 5e 40 00       	push   $0x405e94
41a16c:	68 b0 5e 40 00       	push   $0x405eb0
41a171:	ff 15 c4 35 42 00    	call   *0x4235c4
41a177:	85 c0                	test   %eax,%eax
41a179:	78 02                	js     0x41a17d
41a17b:	8b f3                	mov    %ebx,%esi
41a17d:	56                   	push   %esi
41a17e:	57                   	push   %edi
41a17f:	ff 15 b8 35 42 00    	call   *0x4235b8
41a185:	85 c0                	test   %eax,%eax
41a187:	79 08                	jns    0x41a191
41a189:	56                   	push   %esi
41a18a:	57                   	push   %edi
41a18b:	ff 15 bc 35 42 00    	call   *0x4235bc
41a191:	5f                   	pop    %edi
41a192:	8b c6                	mov    %esi,%eax
41a194:	5e                   	pop    %esi
41a195:	5b                   	pop    %ebx
41a196:	c3                   	ret
41a197:	cc                   	int3
41a198:	cc                   	int3
41a199:	cc                   	int3
41a19a:	cc                   	int3
41a19b:	cc                   	int3
41a19c:	cc                   	int3
41a19d:	cc                   	int3
41a19e:	cc                   	int3
41a19f:	cc                   	int3
41a1a0:	8b ff                	mov    %edi,%edi
41a1a2:	55                   	push   %ebp
41a1a3:	8b ec                	mov    %esp,%ebp
41a1a5:	56                   	push   %esi
41a1a6:	57                   	push   %edi
41a1a7:	8b 7d 1c             	mov    0x1c(%ebp),%edi
41a1aa:	85 ff                	test   %edi,%edi
41a1ac:	74 4d                	je     0x41a1fb
41a1ae:	8b 75 14             	mov    0x14(%ebp),%esi
41a1b1:	83 fe 02             	cmp    $0x2,%esi
41a1b4:	72 45                	jb     0x41a1fb
41a1b6:	81 fe fe ff 00 00    	cmp    $0xfffe,%esi
41a1bc:	76 07                	jbe    0x41a1c5
41a1be:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
41a1c3:	eb 38                	jmp    0x41a1fd
41a1c5:	8b ce                	mov    %esi,%ecx
41a1c7:	e8 b4 0c 00 00       	call   0x41ae80
41a1cc:	89 47 04             	mov    %eax,0x4(%edi)
41a1cf:	85 c0                	test   %eax,%eax
41a1d1:	74 30                	je     0x41a203
41a1d3:	56                   	push   %esi
41a1d4:	ff 75 10             	push   0x10(%ebp)
41a1d7:	0f b7 ce             	movzwl %si,%ecx
41a1da:	66 89 4f 02          	mov    %cx,0x2(%edi)
41a1de:	83 c1 fe             	add    $0xfffffffe,%ecx
41a1e1:	50                   	push   %eax
41a1e2:	66 89 0f             	mov    %cx,(%edi)
41a1e5:	e8 31 24 00 00       	call   0x41c61b
41a1ea:	0f b7 0f             	movzwl (%edi),%ecx
41a1ed:	83 c4 0c             	add    $0xc,%esp
41a1f0:	8b 47 04             	mov    0x4(%edi),%eax
41a1f3:	d1 e9                	shr    $1,%ecx
41a1f5:	33 d2                	xor    %edx,%edx
41a1f7:	66 89 14 48          	mov    %dx,(%eax,%ecx,2)
41a1fb:	33 c0                	xor    %eax,%eax
41a1fd:	5f                   	pop    %edi
41a1fe:	5e                   	pop    %esi
41a1ff:	5d                   	pop    %ebp
41a200:	c2 18 00             	ret    $0x18
41a203:	b8 9a 00 00 c0       	mov    $0xc000009a,%eax
41a208:	eb f3                	jmp    0x41a1fd
41a20a:	cc                   	int3
41a20b:	cc                   	int3
41a20c:	cc                   	int3
41a20d:	cc                   	int3
41a20e:	cc                   	int3
41a20f:	cc                   	int3
41a210:	8b ff                	mov    %edi,%edi
41a212:	55                   	push   %ebp
41a213:	8b ec                	mov    %esp,%ebp
41a215:	8b 55 08             	mov    0x8(%ebp),%edx
41a218:	8b ca                	mov    %edx,%ecx
41a21a:	56                   	push   %esi
41a21b:	be d0 5e 40 00       	mov    $0x405ed0,%esi
41a220:	57                   	push   %edi
41a221:	66 8b 39             	mov    (%ecx),%di
41a224:	33 c0                	xor    %eax,%eax
41a226:	66 3b 3e             	cmp    (%esi),%di
41a229:	75 1e                	jne    0x41a249
41a22b:	66 85 ff             	test   %di,%di
41a22e:	74 15                	je     0x41a245
41a230:	66 8b 79 02          	mov    0x2(%ecx),%di
41a234:	66 3b 7e 02          	cmp    0x2(%esi),%di
41a238:	75 0f                	jne    0x41a249
41a23a:	83 c1 04             	add    $0x4,%ecx
41a23d:	83 c6 04             	add    $0x4,%esi
41a240:	66 85 ff             	test   %di,%di
41a243:	75 dc                	jne    0x41a221
41a245:	8b c8                	mov    %eax,%ecx
41a247:	eb 05                	jmp    0x41a24e
41a249:	1b c9                	sbb    %ecx,%ecx
41a24b:	83 c9 01             	or     $0x1,%ecx
41a24e:	5f                   	pop    %edi
41a24f:	85 c9                	test   %ecx,%ecx
41a251:	75 06                	jne    0x41a259
41a253:	83 7d 14 09          	cmpl   $0x9,0x14(%ebp)
41a257:	76 38                	jbe    0x41a291
41a259:	b9 fc 5e 40 00       	mov    $0x405efc,%ecx
41a25e:	66 8b 32             	mov    (%edx),%si
41a261:	66 3b 31             	cmp    (%ecx),%si
41a264:	75 1c                	jne    0x41a282
41a266:	66 85 f6             	test   %si,%si
41a269:	74 1c                	je     0x41a287
41a26b:	66 8b 72 02          	mov    0x2(%edx),%si
41a26f:	66 3b 71 02          	cmp    0x2(%ecx),%si
41a273:	75 0d                	jne    0x41a282
41a275:	83 c2 04             	add    $0x4,%edx
41a278:	83 c1 04             	add    $0x4,%ecx
41a27b:	66 85 f6             	test   %si,%si
41a27e:	75 de                	jne    0x41a25e
41a280:	eb 05                	jmp    0x41a287
41a282:	1b c0                	sbb    %eax,%eax
41a284:	83 c8 01             	or     $0x1,%eax
41a287:	85 c0                	test   %eax,%eax
41a289:	75 17                	jne    0x41a2a2
41a28b:	83 7d 14 28          	cmpl   $0x28,0x14(%ebp)
41a28f:	77 11                	ja     0x41a2a2
41a291:	ff 75 14             	push   0x14(%ebp)
41a294:	ff 75 10             	push   0x10(%ebp)
41a297:	ff 75 1c             	push   0x1c(%ebp)
41a29a:	e8 7c 23 00 00       	call   0x41c61b
41a29f:	83 c4 0c             	add    $0xc,%esp
41a2a2:	33 c0                	xor    %eax,%eax
41a2a4:	5e                   	pop    %esi
41a2a5:	5d                   	pop    %ebp
41a2a6:	c2 18 00             	ret    $0x18
41a2a9:	8b ff                	mov    %edi,%edi
41a2ab:	55                   	push   %ebp
41a2ac:	8b ec                	mov    %esp,%ebp
41a2ae:	81 ec 6c 02 00 00    	sub    $0x26c,%esp
41a2b4:	a1 e4 05 42 00       	mov    0x4205e4,%eax
41a2b9:	33 c5                	xor    %ebp,%eax
41a2bb:	89 45 fc             	mov    %eax,-0x4(%ebp)
41a2be:	53                   	push   %ebx
41a2bf:	56                   	push   %esi
41a2c0:	57                   	push   %edi
41a2c1:	8b f9                	mov    %ecx,%edi
41a2c3:	e8 79 fe ff ff       	call   0x41a141
41a2c8:	68 68 02 00 00       	push   $0x268
41a2cd:	8b f0                	mov    %eax,%esi
41a2cf:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
41a2d5:	6a 00                	push   $0x0
41a2d7:	50                   	push   %eax
41a2d8:	e8 44 23 00 00       	call   0x41c621
41a2dd:	8d 47 0c             	lea    0xc(%edi),%eax
41a2e0:	c7 85 9c fd ff ff 28 	movl   $0x405f28,-0x264(%ebp)
41a2e7:	5f 40 00
41a2ea:	89 85 bc fd ff ff    	mov    %eax,-0x244(%ebp)
41a2f0:	8d 5f 14             	lea    0x14(%edi),%ebx
41a2f3:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
41a2f9:	83 c4 0c             	add    $0xc,%esp
41a2fc:	33 c0                	xor    %eax,%eax