4106ff:	ff 37                	push   (%edi)
410701:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
410708:	8b 06                	mov    (%esi),%eax
41070a:	ff 70 04             	push   0x4(%eax)
41070d:	e8 de 01 00 00       	call   0x4108f0
410712:	8b c8                	mov    %eax,%ecx
410714:	8b 07                	mov    (%edi),%eax
410716:	5b                   	pop    %ebx
410717:	89 48 04             	mov    %ecx,0x4(%eax)
41071a:	8b 46 04             	mov    0x4(%esi),%eax
41071d:	8b 37                	mov    (%edi),%esi
41071f:	89 47 04             	mov    %eax,0x4(%edi)
410722:	8b 56 04             	mov    0x4(%esi),%edx
410725:	80 7a 0d 00          	cmpb   $0x0,0xd(%edx)
410729:	75 3d                	jne    0x410768
41072b:	8b 0a                	mov    (%edx),%ecx
41072d:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
410731:	75 0c                	jne    0x41073f
410733:	8b 01                	mov    (%ecx),%eax
410735:	8b d1                	mov    %ecx,%edx
410737:	8b c8                	mov    %eax,%ecx
410739:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
41073d:	74 f4                	je     0x410733
41073f:	89 16                	mov    %edx,(%esi)
410741:	8b 17                	mov    (%edi),%edx
410743:	8b 4a 04             	mov    0x4(%edx),%ecx
410746:	8b 41 08             	mov    0x8(%ecx),%eax
410749:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
41074d:	75 0c                	jne    0x41075b
41074f:	90                   	nop
410750:	8b c8                	mov    %eax,%ecx
410752:	8b 41 08             	mov    0x8(%ecx),%eax
410755:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
410759:	74 f5                	je     0x410750
41075b:	8b c7                	mov    %edi,%eax
41075d:	89 4a 08             	mov    %ecx,0x8(%edx)
410760:	5f                   	pop    %edi
410761:	5e                   	pop    %esi
410762:	8b e5                	mov    %ebp,%esp
410764:	5d                   	pop    %ebp
410765:	c2 04 00             	ret    $0x4
410768:	89 36                	mov    %esi,(%esi)
41076a:	8b 07                	mov    (%edi),%eax
41076c:	89 40 08             	mov    %eax,0x8(%eax)
41076f:	8b c7                	mov    %edi,%eax
410771:	5f                   	pop    %edi
410772:	5e                   	pop    %esi
410773:	8b e5                	mov    %ebp,%esp
410775:	5d                   	pop    %ebp
410776:	c2 04 00             	ret    $0x4
410779:	cc                   	int3
41077a:	cc                   	int3
41077b:	cc                   	int3
41077c:	cc                   	int3
41077d:	cc                   	int3
41077e:	cc                   	int3
41077f:	cc                   	int3
410780:	55                   	push   %ebp
410781:	8b ec                	mov    %esp,%ebp
410783:	81 ec 14 01 00 00    	sub    $0x114,%esp
410789:	a1 14 40 45 00       	mov    0x454014,%eax
41078e:	33 c5                	xor    %ebp,%eax
410790:	89 45 fc             	mov    %eax,-0x4(%ebp)
410793:	8b 45 08             	mov    0x8(%ebp),%eax
410796:	53                   	push   %ebx
410797:	56                   	push   %esi
410798:	8b f0                	mov    %eax,%esi
41079a:	89 85 f0 fe ff ff    	mov    %eax,-0x110(%ebp)
4107a0:	57                   	push   %edi
4107a1:	8d 56 02             	lea    0x2(%esi),%edx
4107a4:	66 8b 06             	mov    (%esi),%ax
4107a7:	83 c6 02             	add    $0x2,%esi
4107aa:	66 85 c0             	test   %ax,%ax
4107ad:	75 f5                	jne    0x4107a4
4107af:	2b f2                	sub    %edx,%esi
4107b1:	89 8d f4 fe ff ff    	mov    %ecx,-0x10c(%ebp)
4107b7:	d1 fe                	sar    $1,%esi
4107b9:	8b d9                	mov    %ecx,%ebx
4107bb:	83 79 14 08          	cmpl   $0x8,0x14(%ecx)
4107bf:	72 08                	jb     0x4107c9
4107c1:	8b 19                	mov    (%ecx),%ebx
4107c3:	89 9d f4 fe ff ff    	mov    %ebx,-0x10c(%ebp)
4107c9:	8b 79 10             	mov    0x10(%ecx),%edi
4107cc:	85 f6                	test   %esi,%esi
4107ce:	74 79                	je     0x410849
4107d0:	85 ff                	test   %edi,%edi
4107d2:	74 75                	je     0x410849
4107d4:	68 00 01 00 00       	push   $0x100
4107d9:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
4107df:	6a 00                	push   $0x0
4107e1:	50                   	push   %eax
4107e2:	e8 f9 d1 00 00       	call   0x41d9e0
4107e7:	8b 85 f0 fe ff ff    	mov    -0x110(%ebp),%eax
4107ed:	83 c4 0c             	add    $0xc,%esp
4107f0:	8b c8                	mov    %eax,%ecx
4107f2:	c7 85 ec fe ff ff 00 	movl   $0x100,-0x114(%ebp)
4107f9:	01 00 00
4107fc:	8d 14 70             	lea    (%eax,%esi,2),%edx
4107ff:	3b c2                	cmp    %edx,%eax
410801:	74 1e                	je     0x410821
410803:	0f b7 01             	movzwl (%ecx),%eax
410806:	66 3b 85 ec fe ff ff 	cmp    -0x114(%ebp),%ax
41080d:	73 50                	jae    0x41085f
41080f:	0f b6 c0             	movzbl %al,%eax
410812:	83 c1 02             	add    $0x2,%ecx
410815:	c6 84 05 f8 fe ff ff 	movb   $0x1,-0x108(%ebp,%eax,1)
41081c:	01
41081d:	3b ca                	cmp    %edx,%ecx
41081f:	75 e2                	jne    0x410803
410821:	8d 14 7b             	lea    (%ebx,%edi,2),%edx
410824:	8b cb                	mov    %ebx,%ecx
410826:	3b da                	cmp    %edx,%ebx
410828:	73 1f                	jae    0x410849
41082a:	8b b5 ec fe ff ff    	mov    -0x114(%ebp),%esi
410830:	0f b7 01             	movzwl (%ecx),%eax
410833:	66 3b c6             	cmp    %si,%ax
410836:	73 0a                	jae    0x410842
410838:	80 bc 05 f8 fe ff ff 	cmpb   $0x0,-0x108(%ebp,%eax,1)
41083f:	00
410840:	75 74                	jne    0x4108b6
410842:	83 c1 02             	add    $0x2,%ecx
410845:	3b ca                	cmp    %edx,%ecx
410847:	72 e7                	jb     0x410830
410849:	83 c8 ff             	or     $0xffffffff,%eax
41084c:	5f                   	pop    %edi
41084d:	5e                   	pop    %esi
41084e:	5b                   	pop    %ebx
41084f:	8b 4d fc             	mov    -0x4(%ebp),%ecx
410852:	33 cd                	xor    %ebp,%ecx
410854:	e8 77 b0 00 00       	call   0x41b8d0
410859:	8b e5                	mov    %ebp,%esp
41085b:	5d                   	pop    %ebp
41085c:	c2 08 00             	ret    $0x8
41085f:	8b 95 f4 fe ff ff    	mov    -0x10c(%ebp),%edx
410865:	8d 1c 7b             	lea    (%ebx,%edi,2),%ebx
410868:	3b d3                	cmp    %ebx,%edx
41086a:	73 28                	jae    0x410894
41086c:	0f 1f 40 00          	nopl   0x0(%eax)
410870:	8b 85 f0 fe ff ff    	mov    -0x110(%ebp),%eax
410876:	8b ce                	mov    %esi,%ecx
410878:	85 f6                	test   %esi,%esi
41087a:	74 11                	je     0x41088d
41087c:	0f b7 3a             	movzwl (%edx),%edi
41087f:	90                   	nop
410880:	66 39 38             	cmp    %di,(%eax)
410883:	74 27                	je     0x4108ac
410885:	83 c0 02             	add    $0x2,%eax
410888:	83 e9 01             	sub    $0x1,%ecx
41088b:	75 f3                	jne    0x410880
41088d:	83 c2 02             	add    $0x2,%edx
410890:	3b d3                	cmp    %ebx,%edx
410892:	72 dc                	jb     0x410870
410894:	83 ca ff             	or     $0xffffffff,%edx
410897:	8b c2                	mov    %edx,%eax
410899:	5f                   	pop    %edi
41089a:	5e                   	pop    %esi
41089b:	5b                   	pop    %ebx
41089c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41089f:	33 cd                	xor    %ebp,%ecx
4108a1:	e8 2a b0 00 00       	call   0x41b8d0
4108a6:	8b e5                	mov    %ebp,%esp
4108a8:	5d                   	pop    %ebp
4108a9:	c2 08 00             	ret    $0x8
4108ac:	2b 95 f4 fe ff ff    	sub    -0x10c(%ebp),%edx
4108b2:	d1 fa                	sar    $1,%edx
4108b4:	eb e1                	jmp    0x410897
4108b6:	2b cb                	sub    %ebx,%ecx
4108b8:	d1 f9                	sar    $1,%ecx
4108ba:	8b c1                	mov    %ecx,%eax
4108bc:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4108bf:	5f                   	pop    %edi
4108c0:	5e                   	pop    %esi
4108c1:	33 cd                	xor    %ebp,%ecx
4108c3:	5b                   	pop    %ebx
4108c4:	e8 07 b0 00 00       	call   0x41b8d0
4108c9:	8b e5                	mov    %ebp,%esp
4108cb:	5d                   	pop    %ebp
4108cc:	c2 08 00             	ret    $0x8
4108cf:	cc                   	int3
4108d0:	8b 41 04             	mov    0x4(%ecx),%eax
4108d3:	85 c0                	test   %eax,%eax
4108d5:	74 0b                	je     0x4108e2
4108d7:	6a 40                	push   $0x40
4108d9:	50                   	push   %eax
4108da:	e8 2f b0 00 00       	call   0x41b90e
4108df:	83 c4 08             	add    $0x8,%esp
4108e2:	c3                   	ret
4108e3:	cc                   	int3
4108e4:	cc                   	int3
4108e5:	cc                   	int3
4108e6:	cc                   	int3
4108e7:	cc                   	int3
4108e8:	cc                   	int3
4108e9:	cc                   	int3
4108ea:	cc                   	int3
4108eb:	cc                   	int3
4108ec:	cc                   	int3
4108ed:	cc                   	int3
4108ee:	cc                   	int3
4108ef:	cc                   	int3
4108f0:	55                   	push   %ebp
4108f1:	8b ec                	mov    %esp,%ebp
4108f3:	6a ff                	push   $0xffffffff
4108f5:	68 75 e0 43 00       	push   $0x43e075
4108fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
410900:	50                   	push   %eax
410901:	83 ec 20             	sub    $0x20,%esp
410904:	53                   	push   %ebx
410905:	56                   	push   %esi
410906:	57                   	push   %edi
410907:	a1 14 40 45 00       	mov    0x454014,%eax
41090c:	33 c5                	xor    %ebp,%eax
41090e:	50                   	push   %eax
41090f:	8d 45 f4             	lea    -0xc(%ebp),%eax
410912:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
410918:	89 65 f0             	mov    %esp,-0x10(%ebp)
41091b:	8b c1                	mov    %ecx,%eax
41091d:	89 45 e4             	mov    %eax,-0x1c(%ebp)
410920:	8b 4d 08             	mov    0x8(%ebp),%ecx
410923:	8b 10                	mov    (%eax),%edx
410925:	89 45 e0             	mov    %eax,-0x20(%ebp)
410928:	89 4d e8             	mov    %ecx,-0x18(%ebp)
41092b:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
41092f:	89 55 ec             	mov    %edx,-0x14(%ebp)
410932:	0f 85 92 00 00 00    	jne    0x4109ca
410938:	8d 79 10             	lea    0x10(%ecx),%edi
41093b:	89 45 d8             	mov    %eax,-0x28(%ebp)
41093e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
410945:	6a 40                	push   $0x40
410947:	c7 45 dc 00 00 00 00 	movl   $0x0,-0x24(%ebp)
41094e:	e8 8b af 00 00       	call   0x41b8de
410953:	8b d8                	mov    %eax,%ebx
410955:	83 c4 04             	add    $0x4,%esp
410958:	89 5d dc             	mov    %ebx,-0x24(%ebp)
41095b:	8d 73 10             	lea    0x10(%ebx),%esi
41095e:	57                   	push   %edi
41095f:	8b ce                	mov    %esi,%ecx
410961:	89 75 d4             	mov    %esi,-0x2c(%ebp)
410964:	e8 57 19 ff ff       	call   0x4022c0
410969:	8d 47 18             	lea    0x18(%edi),%eax
41096c:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
410970:	50                   	push   %eax
410971:	8d 4e 18             	lea    0x18(%esi),%ecx
410974:	e8 47 19 ff ff       	call   0x4022c0
410979:	8b 4d ec             	mov    -0x14(%ebp),%ecx
41097c:	8b 7d e8             	mov    -0x18(%ebp),%edi
41097f:	8b 45 0c             	mov    0xc(%ebp),%eax
410982:	8b 75 e4             	mov    -0x1c(%ebp),%esi
410985:	89 0b                	mov    %ecx,(%ebx)
410987:	89 4b 08             	mov    %ecx,0x8(%ebx)
41098a:	66 c7 43 0c 00 00    	movw   $0x0,0xc(%ebx)
410990:	89 43 04             	mov    %eax,0x4(%ebx)
410993:	8a 47 0c             	mov    0xc(%edi),%al
410996:	88 43 0c             	mov    %al,0xc(%ebx)
410999:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
41099d:	53                   	push   %ebx
41099e:	0f 45 cb             	cmovne %ebx,%ecx
4109a1:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4109a8:	ff 37                	push   (%edi)
4109aa:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4109ad:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4109b0:	8b ce                	mov    %esi,%ecx
4109b2:	e8 39 ff ff ff       	call   0x4108f0
4109b7:	53                   	push   %ebx
4109b8:	89 03                	mov    %eax,(%ebx)
4109ba:	8b ce                	mov    %esi,%ecx
4109bc:	ff 77 08             	push   0x8(%edi)
4109bf:	e8 2c ff ff ff       	call   0x4108f0
4109c4:	8b 55 ec             	mov    -0x14(%ebp),%edx
4109c7:	89 43 08             	mov    %eax,0x8(%ebx)
4109ca:	8b c2                	mov    %edx,%eax
4109cc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4109cf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4109d6:	59                   	pop    %ecx
4109d7:	5f                   	pop    %edi
4109d8:	5e                   	pop    %esi
4109d9:	5b                   	pop    %ebx
4109da:	8b e5                	mov    %ebp,%esp
4109dc:	5d                   	pop    %ebp
4109dd:	c2 08 00             	ret    $0x8
4109e0:	ff 75 e8             	push   -0x18(%ebp)
4109e3:	8b 4d e0             	mov    -0x20(%ebp),%ecx
4109e6:	e8 f5 9c ff ff       	call   0x40a6e0
4109eb:	50                   	push   %eax
4109ec:	e8 6f c8 ff ff       	call   0x40d260
4109f1:	6a 00                	push   $0x0
4109f3:	6a 00                	push   $0x0
4109f5:	e8 e4 c9 00 00       	call   0x41d3de
4109fa:	cc                   	int3
4109fb:	cc                   	int3
4109fc:	cc                   	int3
4109fd:	cc                   	int3
4109fe:	cc                   	int3
4109ff:	cc                   	int3
410a00:	55                   	push   %ebp
410a01:	8b ec                	mov    %esp,%ebp
410a03:	81 ec 14 02 00 00    	sub    $0x214,%esp
410a09:	a1 14 40 45 00       	mov    0x454014,%eax
410a0e:	33 c5                	xor    %ebp,%eax
410a10:	89 45 fc             	mov    %eax,-0x4(%ebp)
410a13:	53                   	push   %ebx
410a14:	56                   	push   %esi
410a15:	57                   	push   %edi
410a16:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
410a1c:	c7 85 f0 fd ff ff 00 	movl   $0x0,-0x210(%ebp)
410a23:	00 00 00
410a26:	50                   	push   %eax
410a27:	6a 00                	push   $0x0
410a29:	6a 00                	push   $0x0
410a2b:	8b f1                	mov    %ecx,%esi
410a2d:	8b fa                	mov    %edx,%edi
410a2f:	56                   	push   %esi
410a30:	6a 00                	push   $0x0
410a32:	32 db                	xor    %bl,%bl
410a34:	ff 15 dc f1 43 00    	call   *0x43f1dc
410a3a:	85 c0                	test   %eax,%eax
410a3c:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
410a42:	50                   	push   %eax
410a43:	0f 88 93 00 00 00    	js     0x410adc
410a49:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)
410a4f:	ff 15 d0 f1 43 00    	call   *0x43f1d0
410a55:	85 c0                	test   %eax,%eax
410a57:	74 75                	je     0x410ace
410a59:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
410a5f:	8d 51 02             	lea    0x2(%ecx),%edx
410a62:	66 8b 01             	mov    (%ecx),%ax
410a65:	83 c1 02             	add    $0x2,%ecx
410a68:	66 85 c0             	test   %ax,%ax
410a6b:	75 f5                	jne    0x410a62
410a6d:	8b 47 14             	mov    0x14(%edi),%eax
410a70:	2b ca                	sub    %edx,%ecx
410a72:	d1 f9                	sar    $1,%ecx
410a74:	3b c8                	cmp    %eax,%ecx
410a76:	77 39                	ja     0x410ab1
410a78:	8b df                	mov    %edi,%ebx
410a7a:	83 f8 08             	cmp    $0x8,%eax
410a7d:	72 02                	jb     0x410a81
410a7f:	8b 1f                	mov    (%edi),%ebx
410a81:	8d 34 09             	lea    (%ecx,%ecx,1),%esi
410a84:	89 4f 10             	mov    %ecx,0x10(%edi)
410a87:	56                   	push   %esi
410a88:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
410a8e:	50                   	push   %eax
410a8f:	53                   	push   %ebx
410a90:	e8 bb c9 00 00       	call   0x41d450
410a95:	83 c4 0c             	add    $0xc,%esp
410a98:	33 c0                	xor    %eax,%eax
410a9a:	66 89 04 1e          	mov    %ax,(%esi,%ebx,1)
410a9e:	b3 01                	mov    $0x1,%bl
410aa0:	ff b5 f0 fd ff ff    	push   -0x210(%ebp)