40ba0c:	83 78 14 08          	cmpl   $0x8,0x14(%eax)
40ba10:	8b f9                	mov    %ecx,%edi
40ba12:	8b f2                	mov    %edx,%esi
40ba14:	89 7d f8             	mov    %edi,-0x8(%ebp)
40ba17:	8b d0                	mov    %eax,%edx
40ba19:	72 02                	jb     0x40ba1d
40ba1b:	8b 10                	mov    (%eax),%edx
40ba1d:	8b 48 10             	mov    0x10(%eax),%ecx
40ba20:	8b 5e 10             	mov    0x10(%esi),%ebx
40ba23:	8b 46 14             	mov    0x14(%esi),%eax
40ba26:	2b c3                	sub    %ebx,%eax
40ba28:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40ba2b:	3b c8                	cmp    %eax,%ecx
40ba2d:	77 32                	ja     0x40ba61
40ba2f:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
40ba33:	8d 04 0b             	lea    (%ebx,%ecx,1),%eax
40ba36:	89 45 f8             	mov    %eax,-0x8(%ebp)
40ba39:	8b de                	mov    %esi,%ebx
40ba3b:	89 46 10             	mov    %eax,0x10(%esi)
40ba3e:	72 02                	jb     0x40ba42
40ba40:	8b 1e                	mov    (%esi),%ebx
40ba42:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
40ba45:	50                   	push   %eax
40ba46:	8b 45 fc             	mov    -0x4(%ebp),%eax
40ba49:	52                   	push   %edx
40ba4a:	8d 04 43             	lea    (%ebx,%eax,2),%eax
40ba4d:	50                   	push   %eax
40ba4e:	e8 fd 19 01 00       	call   0x41d450
40ba53:	8b 45 f8             	mov    -0x8(%ebp),%eax
40ba56:	83 c4 0c             	add    $0xc,%esp
40ba59:	33 c9                	xor    %ecx,%ecx
40ba5b:	66 89 0c 43          	mov    %cx,(%ebx,%eax,2)
40ba5f:	eb 13                	jmp    0x40ba74
40ba61:	51                   	push   %ecx
40ba62:	52                   	push   %edx
40ba63:	c6 45 f8 00          	movb   $0x0,-0x8(%ebp)
40ba67:	ff 75 f8             	push   -0x8(%ebp)
40ba6a:	51                   	push   %ecx
40ba6b:	8b ce                	mov    %esi,%ecx
40ba6d:	e8 ce 6c ff ff       	call   0x402740
40ba72:	8b f0                	mov    %eax,%esi
40ba74:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
40ba7a:	33 c0                	xor    %eax,%eax
40ba7c:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
40ba83:	c7 47 14 00 00 00 00 	movl   $0x0,0x14(%edi)
40ba8a:	0f 10 06             	movups (%esi),%xmm0
40ba8d:	0f 11 07             	movups %xmm0,(%edi)
40ba90:	f3 0f 7e 46 10       	movq   0x10(%esi),%xmm0
40ba95:	66 0f d6 47 10       	movq   %xmm0,0x10(%edi)
40ba9a:	66 89 06             	mov    %ax,(%esi)
40ba9d:	8b c7                	mov    %edi,%eax
40ba9f:	5f                   	pop    %edi
40baa0:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
40baa7:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
40baae:	5e                   	pop    %esi
40baaf:	5b                   	pop    %ebx
40bab0:	8b e5                	mov    %ebp,%esp
40bab2:	5d                   	pop    %ebp
40bab3:	c3                   	ret
40bab4:	cc                   	int3
40bab5:	cc                   	int3
40bab6:	cc                   	int3
40bab7:	cc                   	int3
40bab8:	cc                   	int3
40bab9:	cc                   	int3
40baba:	cc                   	int3
40babb:	cc                   	int3
40babc:	cc                   	int3
40babd:	cc                   	int3
40babe:	cc                   	int3
40babf:	cc                   	int3
40bac0:	55                   	push   %ebp
40bac1:	8b ec                	mov    %esp,%ebp
40bac3:	6a ff                	push   $0xffffffff
40bac5:	68 dc dc 43 00       	push   $0x43dcdc
40baca:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40bad0:	50                   	push   %eax
40bad1:	83 ec 48             	sub    $0x48,%esp
40bad4:	a1 14 40 45 00       	mov    0x454014,%eax
40bad9:	33 c5                	xor    %ebp,%eax
40badb:	89 45 f0             	mov    %eax,-0x10(%ebp)
40bade:	53                   	push   %ebx
40badf:	56                   	push   %esi
40bae0:	57                   	push   %edi
40bae1:	50                   	push   %eax
40bae2:	8d 45 f4             	lea    -0xc(%ebp),%eax
40bae5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40baeb:	8b 5d 08             	mov    0x8(%ebp),%ebx
40baee:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40baf1:	6a 00                	push   $0x0
40baf3:	89 5d ec             	mov    %ebx,-0x14(%ebp)
40baf6:	e8 55 f5 00 00       	call   0x41b050
40bafb:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40bb02:	8b 35 44 62 45 00    	mov    0x456244,%esi
40bb08:	a1 a8 61 45 00       	mov    0x4561a8,%eax
40bb0d:	89 45 e0             	mov    %eax,-0x20(%ebp)
40bb10:	85 f6                	test   %esi,%esi
40bb12:	75 2f                	jne    0x40bb43
40bb14:	56                   	push   %esi
40bb15:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bb18:	e8 33 f5 00 00       	call   0x41b050
40bb1d:	39 35 44 62 45 00    	cmp    %esi,0x456244
40bb23:	75 10                	jne    0x40bb35
40bb25:	a1 b8 53 45 00       	mov    0x4553b8,%eax
40bb2a:	40                   	inc    %eax
40bb2b:	a3 b8 53 45 00       	mov    %eax,0x4553b8
40bb30:	a3 44 62 45 00       	mov    %eax,0x456244
40bb35:	8d 4d e4             	lea    -0x1c(%ebp),%ecx
40bb38:	e8 6b f5 00 00       	call   0x41b0a8
40bb3d:	8b 35 44 62 45 00    	mov    0x456244,%esi
40bb43:	8b 4b 04             	mov    0x4(%ebx),%ecx
40bb46:	8d 1c b5 00 00 00 00 	lea    0x0(,%esi,4),%ebx
40bb4d:	3b 71 0c             	cmp    0xc(%ecx),%esi
40bb50:	73 30                	jae    0x40bb82
40bb52:	8b 41 08             	mov    0x8(%ecx),%eax
40bb55:	8b 3c 03             	mov    (%ebx,%eax,1),%edi
40bb58:	85 ff                	test   %edi,%edi
40bb5a:	74 28                	je     0x40bb84
40bb5c:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40bb5f:	e8 44 f5 00 00       	call   0x41b0a8
40bb64:	8b c7                	mov    %edi,%eax
40bb66:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40bb69:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40bb70:	59                   	pop    %ecx
40bb71:	5f                   	pop    %edi
40bb72:	5e                   	pop    %esi
40bb73:	5b                   	pop    %ebx
40bb74:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40bb77:	33 cd                	xor    %ebp,%ecx
40bb79:	e8 52 fd 00 00       	call   0x41b8d0
40bb7e:	8b e5                	mov    %ebp,%esp
40bb80:	5d                   	pop    %ebp
40bb81:	c3                   	ret
40bb82:	33 ff                	xor    %edi,%edi
40bb84:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
40bb88:	74 10                	je     0x40bb9a
40bb8a:	e8 9f f6 00 00       	call   0x41b22e
40bb8f:	3b 70 0c             	cmp    0xc(%eax),%esi
40bb92:	73 0a                	jae    0x40bb9e
40bb94:	8b 40 08             	mov    0x8(%eax),%eax
40bb97:	8b 3c 03             	mov    (%ebx,%eax,1),%edi
40bb9a:	85 ff                	test   %edi,%edi
40bb9c:	75 be                	jne    0x40bb5c
40bb9e:	8b 45 e0             	mov    -0x20(%ebp),%eax
40bba1:	85 c0                	test   %eax,%eax
40bba3:	74 04                	je     0x40bba9
40bba5:	8b f8                	mov    %eax,%edi
40bba7:	eb b3                	jmp    0x40bb5c
40bba9:	6a 08                	push   $0x8
40bbab:	e8 2e fd 00 00       	call   0x41b8de
40bbb0:	8b f8                	mov    %eax,%edi
40bbb2:	83 c4 04             	add    $0x4,%esp
40bbb5:	89 7d e0             	mov    %edi,-0x20(%ebp)
40bbb8:	8b 45 ec             	mov    -0x14(%ebp),%eax
40bbbb:	8b 40 04             	mov    0x4(%eax),%eax
40bbbe:	85 c0                	test   %eax,%eax
40bbc0:	74 0c                	je     0x40bbce
40bbc2:	8b 70 18             	mov    0x18(%eax),%esi
40bbc5:	85 f6                	test   %esi,%esi
40bbc7:	75 0a                	jne    0x40bbd3
40bbc9:	8d 70 1c             	lea    0x1c(%eax),%esi
40bbcc:	eb 05                	jmp    0x40bbd3
40bbce:	be d7 da 44 00       	mov    $0x44dad7,%esi
40bbd3:	6a 00                	push   $0x0
40bbd5:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40bbd8:	e8 73 f4 00 00       	call   0x41b050
40bbdd:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40bbe4:	c6 45 b4 00          	movb   $0x0,-0x4c(%ebp)
40bbe8:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40bbef:	c6 45 bc 00          	movb   $0x0,-0x44(%ebp)
40bbf3:	33 c0                	xor    %eax,%eax
40bbf5:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40bbfc:	66 89 45 c4          	mov    %ax,-0x3c(%ebp)
40bc00:	89 45 c8             	mov    %eax,-0x38(%ebp)
40bc03:	66 89 45 cc          	mov    %ax,-0x34(%ebp)
40bc07:	89 45 d0             	mov    %eax,-0x30(%ebp)
40bc0a:	88 45 d4             	mov    %al,-0x2c(%ebp)
40bc0d:	89 45 d8             	mov    %eax,-0x28(%ebp)
40bc10:	88 45 dc             	mov    %al,-0x24(%ebp)
40bc13:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
40bc17:	85 f6                	test   %esi,%esi
40bc19:	0f 84 e5 00 00 00    	je     0x40bd04
40bc1f:	8d 45 ac             	lea    -0x54(%ebp),%eax
40bc22:	56                   	push   %esi
40bc23:	50                   	push   %eax
40bc24:	e8 0b f7 00 00       	call   0x41b334
40bc29:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
40bc30:	c7 07 24 06 44 00    	movl   $0x440624,(%edi)
40bc36:	8d 45 ac             	lea    -0x54(%ebp),%eax
40bc39:	c6 45 fc 09          	movb   $0x9,-0x4(%ebp)
40bc3d:	50                   	push   %eax
40bc3e:	e8 3c f7 00 00       	call   0x41b37f
40bc43:	8b 45 d8             	mov    -0x28(%ebp),%eax
40bc46:	83 c4 0c             	add    $0xc,%esp
40bc49:	85 c0                	test   %eax,%eax
40bc4b:	74 09                	je     0x40bc56
40bc4d:	50                   	push   %eax
40bc4e:	e8 fa a3 01 00       	call   0x42604d
40bc53:	83 c4 04             	add    $0x4,%esp
40bc56:	8b 45 d0             	mov    -0x30(%ebp),%eax
40bc59:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40bc60:	85 c0                	test   %eax,%eax
40bc62:	74 09                	je     0x40bc6d
40bc64:	50                   	push   %eax
40bc65:	e8 e3 a3 01 00       	call   0x42604d
40bc6a:	83 c4 04             	add    $0x4,%esp
40bc6d:	8b 45 c8             	mov    -0x38(%ebp),%eax
40bc70:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
40bc77:	85 c0                	test   %eax,%eax
40bc79:	74 09                	je     0x40bc84
40bc7b:	50                   	push   %eax
40bc7c:	e8 cc a3 01 00       	call   0x42604d
40bc81:	83 c4 04             	add    $0x4,%esp
40bc84:	8b 45 c0             	mov    -0x40(%ebp),%eax
40bc87:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40bc8e:	85 c0                	test   %eax,%eax
40bc90:	74 09                	je     0x40bc9b
40bc92:	50                   	push   %eax
40bc93:	e8 b5 a3 01 00       	call   0x42604d
40bc98:	83 c4 04             	add    $0x4,%esp
40bc9b:	8b 45 b8             	mov    -0x48(%ebp),%eax
40bc9e:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
40bca5:	85 c0                	test   %eax,%eax
40bca7:	74 09                	je     0x40bcb2
40bca9:	50                   	push   %eax
40bcaa:	e8 9e a3 01 00       	call   0x42604d
40bcaf:	83 c4 04             	add    $0x4,%esp
40bcb2:	8b 45 b0             	mov    -0x50(%ebp),%eax
40bcb5:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
40bcbc:	85 c0                	test   %eax,%eax
40bcbe:	74 09                	je     0x40bcc9
40bcc0:	50                   	push   %eax
40bcc1:	e8 87 a3 01 00       	call   0x42604d
40bcc6:	83 c4 04             	add    $0x4,%esp
40bcc9:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40bccc:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
40bcd3:	e8 d0 f3 00 00       	call   0x41b0a8
40bcd8:	89 7d ec             	mov    %edi,-0x14(%ebp)
40bcdb:	57                   	push   %edi
40bcdc:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40bce0:	e8 1d f5 00 00       	call   0x41b202
40bce5:	8b 07                	mov    (%edi),%eax
40bce7:	83 c4 04             	add    $0x4,%esp
40bcea:	8b 70 04             	mov    0x4(%eax),%esi
40bced:	8b ce                	mov    %esi,%ecx
40bcef:	ff 15 3c f2 43 00    	call   *0x43f23c
40bcf5:	8b cf                	mov    %edi,%ecx
40bcf7:	ff d6                	call   *%esi
40bcf9:	89 3d a8 61 45 00    	mov    %edi,0x4561a8
40bcff:	e9 58 fe ff ff       	jmp    0x40bb5c
40bd04:	68 f0 da 44 00       	push   $0x44daf0
40bd09:	e8 6c f1 00 00       	call   0x41ae7a
40bd0e:	cc                   	int3
40bd0f:	cc                   	int3
40bd10:	55                   	push   %ebp
40bd11:	8b ec                	mov    %esp,%ebp
40bd13:	51                   	push   %ecx
40bd14:	8b 45 08             	mov    0x8(%ebp),%eax
40bd17:	53                   	push   %ebx
40bd18:	8b d9                	mov    %ecx,%ebx
40bd1a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40bd1d:	56                   	push   %esi
40bd1e:	8b 33                	mov    (%ebx),%esi
40bd20:	8b 76 04             	mov    0x4(%esi),%esi
40bd23:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
40bd27:	75 33                	jne    0x40bd5c
40bd29:	57                   	push   %edi
40bd2a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
40bd30:	ff 76 08             	push   0x8(%esi)
40bd33:	8b cb                	mov    %ebx,%ecx
40bd35:	50                   	push   %eax
40bd36:	e8 25 15 00 00       	call   0x40d260
40bd3b:	8b fe                	mov    %esi,%edi
40bd3d:	8b 36                	mov    (%esi),%esi
40bd3f:	8d 4f 10             	lea    0x10(%edi),%ecx
40bd42:	e8 f9 20 00 00       	call   0x40de40
40bd47:	6a 40                	push   $0x40
40bd49:	57                   	push   %edi
40bd4a:	e8 bf fb 00 00       	call   0x41b90e
40bd4f:	8b 45 fc             	mov    -0x4(%ebp),%eax
40bd52:	83 c4 08             	add    $0x8,%esp
40bd55:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
40bd59:	74 d5                	je     0x40bd30
40bd5b:	5f                   	pop    %edi
40bd5c:	6a 40                	push   $0x40
40bd5e:	ff 33                	push   (%ebx)
40bd60:	e8 a9 fb 00 00       	call   0x41b90e
40bd65:	83 c4 08             	add    $0x8,%esp
40bd68:	5e                   	pop    %esi
40bd69:	5b                   	pop    %ebx
40bd6a:	8b e5                	mov    %ebp,%esp
40bd6c:	5d                   	pop    %ebp
40bd6d:	c2 04 00             	ret    $0x4
40bd70:	55                   	push   %ebp
40bd71:	8b ec                	mov    %esp,%ebp
40bd73:	83 e4 f8             	and    $0xfffffff8,%esp
40bd76:	81 ec 14 01 00 00    	sub    $0x114,%esp
40bd7c:	a1 14 40 45 00       	mov    0x454014,%eax
40bd81:	33 c4                	xor    %esp,%eax
40bd83:	89 84 24 10 01 00 00 	mov    %eax,0x110(%esp)
40bd8a:	8b 45 0c             	mov    0xc(%ebp),%eax
40bd8d:	53                   	push   %ebx
40bd8e:	8b 5d 10             	mov    0x10(%ebp),%ebx
40bd91:	89 44 24 08          	mov    %eax,0x8(%esp)
40bd95:	56                   	push   %esi
40bd96:	8b f2                	mov    %edx,%esi
40bd98:	57                   	push   %edi
40bd99:	8b f9                	mov    %ecx,%edi
40bd9b:	85 db                	test   %ebx,%ebx
40bd9d:	0f 84 03 01 00 00    	je     0x40bea6
40bda3:	85 f6                	test   %esi,%esi
40bda5:	0f 84 fb 00 00 00    	je     0x40bea6
40bdab:	68 00 01 00 00       	push   $0x100
40bdb0:	8d 44 24 1c          	lea    0x1c(%esp),%eax
40bdb4:	6a 00                	push   $0x0
40bdb6:	50                   	push   %eax
40bdb7:	e8 24 1c 01 00       	call   0x41d9e0
40bdbc:	8b 44 24 1c          	mov    0x1c(%esp),%eax
40bdc0:	83 c4 0c             	add    $0xc,%esp
40bdc3:	8b c8                	mov    %eax,%ecx
40bdc5:	c7 44 24 14 00 01 00 	movl   $0x100,0x14(%esp)
40bdcc:	00
40bdcd:	8d 14 58             	lea    (%eax,%ebx,2),%edx
40bdd0:	3b c2                	cmp    %edx,%eax
40bdd2:	74 19                	je     0x40bded
40bdd4:	0f b7 01             	movzwl (%ecx),%eax
40bdd7:	66 3b 44 24 14       	cmp    0x14(%esp),%ax
40bddc:	73 3e                	jae    0x40be1c
40bdde:	0f b6 c0             	movzbl %al,%eax
40bde1:	83 c1 02             	add    $0x2,%ecx
40bde4:	c6 44 04 18 01       	movb   $0x1,0x18(%esp,%eax,1)
40bde9:	3b ca                	cmp    %edx,%ecx
40bdeb:	75 e7                	jne    0x40bdd4
40bded:	8b 54 24 14          	mov    0x14(%esp),%edx
40bdf1:	8d 46 ff             	lea    -0x1(%esi),%eax
40bdf4:	83 c9 ff             	or     $0xffffffff,%ecx
40bdf7:	3b c1                	cmp    %ecx,%eax
40bdf9:	0f 42 c8             	cmovb  %eax,%ecx
40bdfc:	8d 0c 4f             	lea    (%edi,%ecx,2),%ecx
40bdff:	90                   	nop
40be00:	0f b7 01             	movzwl (%ecx),%eax
40be03:	66 3b c2             	cmp    %dx,%ax
40be06:	73 07                	jae    0x40be0f
40be08:	80 7c 04 18 00       	cmpb   $0x0,0x18(%esp,%eax,1)
40be0d:	75 7c                	jne    0x40be8b
40be0f:	3b cf                	cmp    %edi,%ecx
40be11:	0f 84 8f 00 00 00    	je     0x40bea6
40be17:	83 e9 02             	sub    $0x2,%ecx
40be1a:	eb e4                	jmp    0x40be00
40be1c:	8d 46 ff             	lea    -0x1(%esi),%eax