417fa0:	8b 4b 0c             	mov    0xc(%ebx),%ecx
417fa3:	03 f0                	add    %eax,%esi
417fa5:	e8 a8 ff ff ff       	call   0x417f52
417faa:	8b 4b 3c             	mov    0x3c(%ebx),%ecx
417fad:	03 f0                	add    %eax,%esi
417faf:	e8 86 ff ff ff       	call   0x417f3a
417fb4:	8b 4b 30             	mov    0x30(%ebx),%ecx
417fb7:	03 f0                	add    %eax,%esi
417fb9:	e8 7c ff ff ff       	call   0x417f3a
417fbe:	8b 4b 28             	mov    0x28(%ebx),%ecx
417fc1:	03 f0                	add    %eax,%esi
417fc3:	e8 72 ff ff ff       	call   0x417f3a
417fc8:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
417fcb:	03 f0                	add    %eax,%esi
417fcd:	e8 68 ff ff ff       	call   0x417f3a
417fd2:	8b 4b 18             	mov    0x18(%ebx),%ecx
417fd5:	03 f0                	add    %eax,%esi
417fd7:	e8 5e ff ff ff       	call   0x417f3a
417fdc:	8b 4b 14             	mov    0x14(%ebx),%ecx
417fdf:	03 f0                	add    %eax,%esi
417fe1:	e8 54 ff ff ff       	call   0x417f3a
417fe6:	8b 4b 44             	mov    0x44(%ebx),%ecx
417fe9:	03 f0                	add    %eax,%esi
417feb:	e8 4a ff ff ff       	call   0x417f3a
417ff0:	8b 55 fc             	mov    -0x4(%ebp),%edx
417ff3:	03 f0                	add    %eax,%esi
417ff5:	8d 7a 50             	lea    0x50(%edx),%edi
417ff8:	8b 07                	mov    (%edi),%eax
417ffa:	85 c0                	test   %eax,%eax
417ffc:	74 0a                	je     0x418008
417ffe:	83 38 01             	cmpl   $0x1,(%eax)
418001:	75 05                	jne    0x418008
418003:	39 72 54             	cmp    %esi,0x54(%edx)
418006:	73 14                	jae    0x41801c
418008:	8b cf                	mov    %edi,%ecx
41800a:	e8 f8 fb ff ff       	call   0x417c07
41800f:	56                   	push   %esi
418010:	6a 00                	push   $0x0
418012:	8b cf                	mov    %edi,%ecx
418014:	e8 1c fc ff ff       	call   0x417c35
418019:	8b 55 fc             	mov    -0x4(%ebp),%edx
41801c:	8b 37                	mov    (%edi),%esi
41801e:	8b 4f 04             	mov    0x4(%edi),%ecx
418021:	8d 46 04             	lea    0x4(%esi),%eax
418024:	f7 de                	neg    %esi
418026:	1b f6                	sbb    %esi,%esi
418028:	23 f0                	and    %eax,%esi
41802a:	8b fe                	mov    %esi,%edi
41802c:	f7 df                	neg    %edi
41802e:	1b ff                	sbb    %edi,%edi
418030:	8d 04 0e             	lea    (%esi,%ecx,1),%eax
418033:	23 f8                	and    %eax,%edi
418035:	85 f6                	test   %esi,%esi
418037:	0f 84 b1 00 00 00    	je     0x4180ee
41803d:	8d 42 0c             	lea    0xc(%edx),%eax
418040:	8b ce                	mov    %esi,%ecx
418042:	50                   	push   %eax
418043:	ff 73 0c             	push   0xc(%ebx)
418046:	8b d7                	mov    %edi,%edx
418048:	e8 e7 16 00 00       	call   0x419734
41804d:	8b 75 fc             	mov    -0x4(%ebp),%esi
418050:	8b d7                	mov    %edi,%edx
418052:	8d 4e 14             	lea    0x14(%esi),%ecx
418055:	51                   	push   %ecx
418056:	ff 73 14             	push   0x14(%ebx)
418059:	8b c8                	mov    %eax,%ecx
41805b:	e8 3e 17 00 00       	call   0x41979e
418060:	8d 4e 18             	lea    0x18(%esi),%ecx
418063:	8b d7                	mov    %edi,%edx
418065:	51                   	push   %ecx
418066:	ff 73 18             	push   0x18(%ebx)
418069:	8b c8                	mov    %eax,%ecx
41806b:	e8 2e 17 00 00       	call   0x41979e
418070:	8d 4e 1c             	lea    0x1c(%esi),%ecx
418073:	8b d7                	mov    %edi,%edx
418075:	51                   	push   %ecx
418076:	ff 73 1c             	push   0x1c(%ebx)
418079:	8b c8                	mov    %eax,%ecx
41807b:	e8 1e 17 00 00       	call   0x41979e
418080:	8d 4e 28             	lea    0x28(%esi),%ecx
418083:	8b d7                	mov    %edi,%edx
418085:	51                   	push   %ecx
418086:	ff 73 28             	push   0x28(%ebx)
418089:	8b c8                	mov    %eax,%ecx
41808b:	e8 0e 17 00 00       	call   0x41979e
418090:	8d 4e 44             	lea    0x44(%esi),%ecx
418093:	8b d7                	mov    %edi,%edx
418095:	51                   	push   %ecx
418096:	ff 73 44             	push   0x44(%ebx)
418099:	8b c8                	mov    %eax,%ecx
41809b:	e8 fe 16 00 00       	call   0x41979e
4180a0:	8d 4e 3c             	lea    0x3c(%esi),%ecx
4180a3:	8b d7                	mov    %edi,%edx
4180a5:	51                   	push   %ecx
4180a6:	ff 73 3c             	push   0x3c(%ebx)
4180a9:	8b c8                	mov    %eax,%ecx
4180ab:	e8 ee 16 00 00       	call   0x41979e
4180b0:	8d 4e 40             	lea    0x40(%esi),%ecx
4180b3:	8b d7                	mov    %edi,%edx
4180b5:	51                   	push   %ecx
4180b6:	ff 73 40             	push   0x40(%ebx)
4180b9:	8b c8                	mov    %eax,%ecx
4180bb:	e8 74 16 00 00       	call   0x419734
4180c0:	8d 4e 30             	lea    0x30(%esi),%ecx
4180c3:	8b d7                	mov    %edi,%edx
4180c5:	51                   	push   %ecx
4180c6:	ff 73 30             	push   0x30(%ebx)
4180c9:	8b c8                	mov    %eax,%ecx
4180cb:	e8 ce 16 00 00       	call   0x41979e
4180d0:	8d 4e 34             	lea    0x34(%esi),%ecx
4180d3:	8b d7                	mov    %edi,%edx
4180d5:	51                   	push   %ecx
4180d6:	ff 73 34             	push   0x34(%ebx)
4180d9:	8b c8                	mov    %eax,%ecx
4180db:	e8 54 16 00 00       	call   0x419734
4180e0:	2b f8                	sub    %eax,%edi
4180e2:	57                   	push   %edi
4180e3:	6a 00                	push   $0x0
4180e5:	50                   	push   %eax
4180e6:	e8 4e 8f 07 00       	call   0x491039
4180eb:	83 c4 0c             	add    $0xc,%esp
4180ee:	5f                   	pop    %edi
4180ef:	5e                   	pop    %esi
4180f0:	5b                   	pop    %ebx
4180f1:	c9                   	leave
4180f2:	c2 04 00             	ret    $0x4
4180f5:	8b ff                	mov    %edi,%edi
4180f7:	55                   	push   %ebp
4180f8:	8b ec                	mov    %esp,%ebp
4180fa:	56                   	push   %esi
4180fb:	57                   	push   %edi
4180fc:	8b f1                	mov    %ecx,%esi
4180fe:	ff 15 e8 80 4a 00    	call   *0x4a80e8
418104:	ff 75 08             	push   0x8(%ebp)
418107:	8d 4e 0c             	lea    0xc(%esi),%ecx
41810a:	c7 06 c0 10 40 00    	movl   $0x4010c0,(%esi)
418110:	33 ff                	xor    %edi,%edi
418112:	89 79 50             	mov    %edi,0x50(%ecx)
418115:	89 79 54             	mov    %edi,0x54(%ecx)
418118:	e8 57 fe ff ff       	call   0x417f74
41811d:	89 7e 64             	mov    %edi,0x64(%esi)
418120:	8b c6                	mov    %esi,%eax
418122:	89 7e 68             	mov    %edi,0x68(%esi)
418125:	5f                   	pop    %edi
418126:	5e                   	pop    %esi
418127:	5d                   	pop    %ebp
418128:	c2 04 00             	ret    $0x4
41812b:	cc                   	int3
41812c:	cc                   	int3
41812d:	cc                   	int3
41812e:	cc                   	int3
41812f:	cc                   	int3
418130:	8b ff                	mov    %edi,%edi
418132:	55                   	push   %ebp
418133:	8b ec                	mov    %esp,%ebp
418135:	b8 04 14 00 00       	mov    $0x1404,%eax
41813a:	e8 b1 8e 07 00       	call   0x490ff0
41813f:	a1 dc 38 4a 00       	mov    0x4a38dc,%eax
418144:	33 c5                	xor    %ebp,%eax
418146:	89 45 fc             	mov    %eax,-0x4(%ebp)
418149:	56                   	push   %esi
41814a:	8d 71 64             	lea    0x64(%ecx),%esi
41814d:	8b 06                	mov    (%esi),%eax
41814f:	85 c0                	test   %eax,%eax
418151:	75 5a                	jne    0x4181ad
418153:	8d 41 0c             	lea    0xc(%ecx),%eax
418156:	ba 00 08 00 00       	mov    $0x800,%edx
41815b:	50                   	push   %eax
41815c:	8d 8d fc eb ff ff    	lea    -0x1404(%ebp),%ecx
418162:	e8 32 f8 ff ff       	call   0x417999
418167:	8d 85 fc eb ff ff    	lea    -0x1404(%ebp),%eax
41816d:	50                   	push   %eax
41816e:	68 34 f3 40 00       	push   $0x40f334
418173:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
418179:	68 00 04 00 00       	push   $0x400
41817e:	50                   	push   %eax
41817f:	e8 52 fd ff ff       	call   0x417ed6
418184:	8d 8d fc fb ff ff    	lea    -0x404(%ebp),%ecx
41818a:	83 c4 10             	add    $0x10,%esp
41818d:	8d 51 01             	lea    0x1(%ecx),%edx
418190:	8a 01                	mov    (%ecx),%al
418192:	41                   	inc    %ecx
418193:	84 c0                	test   %al,%al
418195:	75 f9                	jne    0x418190
418197:	2b ca                	sub    %edx,%ecx
418199:	8d 41 01             	lea    0x1(%ecx),%eax
41819c:	8b ce                	mov    %esi,%ecx
41819e:	50                   	push   %eax
41819f:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
4181a5:	50                   	push   %eax
4181a6:	e8 8a fa ff ff       	call   0x417c35
4181ab:	8b 06                	mov    (%esi),%eax
4181ad:	8d 48 04             	lea    0x4(%eax),%ecx
4181b0:	f7 d8                	neg    %eax
4181b2:	5e                   	pop    %esi
4181b3:	1b c0                	sbb    %eax,%eax
4181b5:	23 c1                	and    %ecx,%eax
4181b7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4181ba:	33 cd                	xor    %ebp,%ecx
4181bc:	e8 3f 7d 07 00       	call   0x48ff00
4181c1:	c9                   	leave
4181c2:	c3                   	ret
4181c3:	cc                   	int3
4181c4:	cc                   	int3
4181c5:	cc                   	int3
4181c6:	cc                   	int3
4181c7:	cc                   	int3
4181c8:	cc                   	int3
4181c9:	cc                   	int3
4181ca:	cc                   	int3
4181cb:	cc                   	int3
4181cc:	cc                   	int3
4181cd:	cc                   	int3
4181ce:	cc                   	int3
4181cf:	cc                   	int3
4181d0:	8b ff                	mov    %edi,%edi
4181d2:	55                   	push   %ebp
4181d3:	8b ec                	mov    %esp,%ebp
4181d5:	56                   	push   %esi
4181d6:	8b f1                	mov    %ecx,%esi
4181d8:	e8 23 00 00 00       	call   0x418200
4181dd:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
4181e1:	74 08                	je     0x4181eb
4181e3:	56                   	push   %esi
4181e4:	ff 15 10 74 4a 00    	call   *0x4a7410
4181ea:	59                   	pop    %ecx
4181eb:	8b c6                	mov    %esi,%eax
4181ed:	5e                   	pop    %esi
4181ee:	5d                   	pop    %ebp
4181ef:	c2 04 00             	ret    $0x4
4181f2:	cc                   	int3
4181f3:	cc                   	int3
4181f4:	cc                   	int3
4181f5:	cc                   	int3
4181f6:	cc                   	int3
4181f7:	cc                   	int3
4181f8:	cc                   	int3
4181f9:	cc                   	int3
4181fa:	cc                   	int3
4181fb:	cc                   	int3
4181fc:	cc                   	int3
4181fd:	cc                   	int3
4181fe:	cc                   	int3
4181ff:	cc                   	int3
418200:	8b ff                	mov    %edi,%edi
418202:	56                   	push   %esi
418203:	8b f1                	mov    %ecx,%esi
418205:	8d 4e 64             	lea    0x64(%esi),%ecx
418208:	e8 fa f9 ff ff       	call   0x417c07
41820d:	8d 4e 5c             	lea    0x5c(%esi),%ecx
418210:	e8 f2 f9 ff ff       	call   0x417c07
418215:	8b ce                	mov    %esi,%ecx
418217:	5e                   	pop    %esi
418218:	ff 25 ec 80 4a 00    	jmp    *0x4a80ec
41821e:	8b ff                	mov    %edi,%edi
418220:	56                   	push   %esi
418221:	8b 35 80 46 4a 00    	mov    0x4a4680,%esi
418227:	85 f6                	test   %esi,%esi
418229:	74 0a                	je     0x418235
41822b:	8b ce                	mov    %esi,%ecx
41822d:	ff 15 2c 81 4a 00    	call   *0x4a812c
418233:	ff d6                	call   *%esi
418235:	5e                   	pop    %esi
418236:	c3                   	ret
418237:	8b ff                	mov    %edi,%edi
418239:	56                   	push   %esi
41823a:	8b 35 94 46 4a 00    	mov    0x4a4694,%esi
418240:	85 f6                	test   %esi,%esi
418242:	74 0b                	je     0x41824f
418244:	51                   	push   %ecx
418245:	8b ce                	mov    %esi,%ecx
418247:	ff 15 2c 81 4a 00    	call   *0x4a812c
41824d:	ff d6                	call   *%esi
41824f:	5e                   	pop    %esi
418250:	c3                   	ret
418251:	8b ff                	mov    %edi,%edi
418253:	55                   	push   %ebp
418254:	8b ec                	mov    %esp,%ebp
418256:	53                   	push   %ebx
418257:	57                   	push   %edi
418258:	8b fa                	mov    %edx,%edi
41825a:	8b d9                	mov    %ecx,%ebx
41825c:	85 ff                	test   %edi,%edi
41825e:	74 25                	je     0x418285
418260:	8b 03                	mov    (%ebx),%eax
418262:	56                   	push   %esi
418263:	8b 70 04             	mov    0x4(%eax),%esi
418266:	8b ce                	mov    %esi,%ecx
418268:	ff 15 2c 81 4a 00    	call   *0x4a812c
41826e:	8b cb                	mov    %ebx,%ecx
418270:	ff d6                	call   *%esi
418272:	50                   	push   %eax
418273:	68 3c f3 40 00       	push   $0x40f33c
418278:	ff 75 08             	push   0x8(%ebp)
41827b:	57                   	push   %edi
41827c:	e8 05 f6 ff ff       	call   0x417886
418281:	83 c4 10             	add    $0x10,%esp
418284:	5e                   	pop    %esi
418285:	5f                   	pop    %edi
418286:	5b                   	pop    %ebx
418287:	5d                   	pop    %ebp
418288:	c2 04 00             	ret    $0x4
41828b:	6a 14                	push   $0x14
41828d:	b8 4f 10 49 00       	mov    $0x49104f,%eax
418292:	e8 a5 82 07 00       	call   0x49053c
418297:	89 55 e8             	mov    %edx,-0x18(%ebp)
41829a:	8b f9                	mov    %ecx,%edi
41829c:	89 7d e4             	mov    %edi,-0x1c(%ebp)
41829f:	8b 35 54 46 4a 00    	mov    0x4a4654,%esi
4182a5:	8b ce                	mov    %esi,%ecx
4182a7:	ff 15 2c 81 4a 00    	call   *0x4a812c
4182ad:	ff d6                	call   *%esi
4182af:	89 45 ec             	mov    %eax,-0x14(%ebp)
4182b2:	85 c0                	test   %eax,%eax
4182b4:	79 36                	jns    0x4182ec
4182b6:	85 ff                	test   %edi,%edi
4182b8:	75 32                	jne    0x4182ec
4182ba:	eb 2a                	jmp    0x4182e6
4182bc:	ff 75 e8             	push   -0x18(%ebp)
4182bf:	8b 55 e4             	mov    -0x1c(%ebp),%edx
4182c2:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4182c5:	e8 87 ff ff ff       	call   0x418251
4182ca:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
4182ce:	7c 07                	jl     0x4182d7
4182d0:	c7 45 ec 3e 02 07 80 	movl   $0x8007023e,-0x14(%ebp)
4182d7:	b8 e3 82 41 00       	mov    $0x4182e3,%eax
4182dc:	c3                   	ret
4182dd:	b8 e3 82 41 00       	mov    $0x4182e3,%eax
4182e2:	c3                   	ret
4182e3:	8b 45 ec             	mov    -0x14(%ebp),%eax
4182e6:	e8 b6 81 07 00       	call   0x4904a1
4182eb:	c3                   	ret
4182ec:	33 c0                	xor    %eax,%eax
4182ee:	50                   	push   %eax
4182ef:	50                   	push   %eax
4182f0:	89 45 fc             	mov    %eax,-0x4(%ebp)
4182f3:	e8 a3 81 07 00       	call   0x49049b
4182f8:	cc                   	int3
4182f9:	cc                   	int3
4182fa:	cc                   	int3
4182fb:	cc                   	int3
4182fc:	cc                   	int3
4182fd:	cc                   	int3
4182fe:	cc                   	int3
4182ff:	cc                   	int3
418300:	6a 00                	push   $0x0
418302:	6a 00                	push   $0x0
418304:	e8 92 81 07 00       	call   0x49049b
418309:	cc                   	int3
41830a:	cc                   	int3