45eb9c:	53                   	push   %ebx
45eb9d:	56                   	push   %esi
45eb9e:	57                   	push   %edi
45eb9f:	55                   	push   %ebp
45eba0:	83 c4 e0             	add    $0xffffffe0,%esp
45eba3:	8b f2                	mov    %edx,%esi
45eba5:	8b d8                	mov    %eax,%ebx
45eba7:	8b fc                	mov    %esp,%edi
45eba9:	85 f6                	test   %esi,%esi
45ebab:	0f 84 34 01 00 00    	je     0x45ece5
45ebb1:	8b d7                	mov    %edi,%edx
45ebb3:	8b c6                	mov    %esi,%eax
45ebb5:	8b 08                	mov    (%eax),%ecx
45ebb7:	ff 51 44             	call   *0x44(%ecx)
45ebba:	8b 83 08 02 00 00    	mov    0x208(%ebx),%eax
45ebc0:	0f b7 40 1a          	movzwl 0x1a(%eax),%eax
45ebc4:	29 07                	sub    %eax,(%edi)
45ebc6:	01 47 08             	add    %eax,0x8(%edi)
45ebc9:	8b 83 0c 02 00 00    	mov    0x20c(%ebx),%eax
45ebcf:	0f b7 40 1a          	movzwl 0x1a(%eax),%eax
45ebd3:	29 47 04             	sub    %eax,0x4(%edi)
45ebd6:	01 47 0c             	add    %eax,0xc(%edi)
45ebd9:	8d 4c 24 18          	lea    0x18(%esp),%ecx
45ebdd:	8b d7                	mov    %edi,%edx
45ebdf:	8b c6                	mov    %esi,%eax
45ebe1:	e8 42 7b fe ff       	call   0x446728
45ebe6:	8d 54 24 18          	lea    0x18(%esp),%edx
45ebea:	8d 4c 24 10          	lea    0x10(%esp),%ecx
45ebee:	8b c3                	mov    %ebx,%eax
45ebf0:	e8 5f 7b fe ff       	call   0x446754
45ebf5:	8b 44 24 10          	mov    0x10(%esp),%eax
45ebf9:	89 07                	mov    %eax,(%edi)
45ebfb:	8b 44 24 14          	mov    0x14(%esp),%eax
45ebff:	89 47 04             	mov    %eax,0x4(%edi)
45ec02:	8d 4c 24 18          	lea    0x18(%esp),%ecx
45ec06:	8d 57 08             	lea    0x8(%edi),%edx
45ec09:	8b c6                	mov    %esi,%eax
45ec0b:	e8 18 7b fe ff       	call   0x446728
45ec10:	8d 54 24 18          	lea    0x18(%esp),%edx
45ec14:	8d 4c 24 10          	lea    0x10(%esp),%ecx
45ec18:	8b c3                	mov    %ebx,%eax
45ec1a:	e8 35 7b fe ff       	call   0x446754
45ec1f:	8b 44 24 10          	mov    0x10(%esp),%eax
45ec23:	89 47 08             	mov    %eax,0x8(%edi)
45ec26:	8b 44 24 14          	mov    0x14(%esp),%eax
45ec2a:	89 47 0c             	mov    %eax,0xc(%edi)
45ec2d:	8b 37                	mov    (%edi),%esi
45ec2f:	85 f6                	test   %esi,%esi
45ec31:	7d 12                	jge    0x45ec45
45ec33:	8b 83 08 02 00 00    	mov    0x208(%ebx),%eax
45ec39:	8b 50 0c             	mov    0xc(%eax),%edx
45ec3c:	03 d6                	add    %esi,%edx
45ec3e:	e8 d1 f7 ff ff       	call   0x45e414
45ec43:	eb 43                	jmp    0x45ec88
45ec45:	8b c3                	mov    %ebx,%eax
45ec47:	e8 c8 79 fe ff       	call   0x446614
45ec4c:	8b 6f 08             	mov    0x8(%edi),%ebp
45ec4f:	3b c5                	cmp    %ebp,%eax
45ec51:	7d 35                	jge    0x45ec88
45ec53:	8b c3                	mov    %ebx,%eax
45ec55:	e8 ba 79 fe ff       	call   0x446614
45ec5a:	2b ee                	sub    %esi,%ebp
45ec5c:	3b c5                	cmp    %ebp,%eax
45ec5e:	7d 0c                	jge    0x45ec6c
45ec60:	8b c3                	mov    %ebx,%eax
45ec62:	e8 ad 79 fe ff       	call   0x446614
45ec67:	03 07                	add    (%edi),%eax
45ec69:	89 47 08             	mov    %eax,0x8(%edi)
45ec6c:	8b b3 08 02 00 00    	mov    0x208(%ebx),%esi
45ec72:	8b c3                	mov    %ebx,%eax
45ec74:	e8 9b 79 fe ff       	call   0x446614
45ec79:	8b 56 0c             	mov    0xc(%esi),%edx
45ec7c:	03 57 08             	add    0x8(%edi),%edx
45ec7f:	2b d0                	sub    %eax,%edx
45ec81:	8b c6                	mov    %esi,%eax
45ec83:	e8 8c f7 ff ff       	call   0x45e414
45ec88:	8b 77 04             	mov    0x4(%edi),%esi
45ec8b:	85 f6                	test   %esi,%esi
45ec8d:	7d 12                	jge    0x45eca1
45ec8f:	8b 83 0c 02 00 00    	mov    0x20c(%ebx),%eax
45ec95:	8b 50 0c             	mov    0xc(%eax),%edx
45ec98:	03 d6                	add    %esi,%edx
45ec9a:	e8 75 f7 ff ff       	call   0x45e414
45ec9f:	eb 44                	jmp    0x45ece5
45eca1:	8b c3                	mov    %ebx,%eax
45eca3:	e8 b0 79 fe ff       	call   0x446658
45eca8:	8b 6f 0c             	mov    0xc(%edi),%ebp
45ecab:	3b c5                	cmp    %ebp,%eax
45ecad:	7d 36                	jge    0x45ece5
45ecaf:	8b c3                	mov    %ebx,%eax
45ecb1:	e8 a2 79 fe ff       	call   0x446658
45ecb6:	2b ee                	sub    %esi,%ebp
45ecb8:	3b c5                	cmp    %ebp,%eax
45ecba:	7d 0d                	jge    0x45ecc9
45ecbc:	8b c3                	mov    %ebx,%eax
45ecbe:	e8 95 79 fe ff       	call   0x446658
45ecc3:	03 47 04             	add    0x4(%edi),%eax
45ecc6:	89 47 0c             	mov    %eax,0xc(%edi)
45ecc9:	8b b3 0c 02 00 00    	mov    0x20c(%ebx),%esi
45eccf:	8b c3                	mov    %ebx,%eax
45ecd1:	e8 82 79 fe ff       	call   0x446658
45ecd6:	8b 56 0c             	mov    0xc(%esi),%edx
45ecd9:	03 57 0c             	add    0xc(%edi),%edx
45ecdc:	2b d0                	sub    %eax,%edx
45ecde:	8b c6                	mov    %esi,%eax
45ece0:	e8 2f f7 ff ff       	call   0x45e414
45ece5:	83 c4 20             	add    $0x20,%esp
45ece8:	5d                   	pop    %ebp
45ece9:	5f                   	pop    %edi
45ecea:	5e                   	pop    %esi
45eceb:	5b                   	pop    %ebx
45ecec:	c3                   	ret
45eced:	8d 40 00             	lea    0x0(%eax),%eax
45ecf0:	53                   	push   %ebx
45ecf1:	56                   	push   %esi
45ecf2:	57                   	push   %edi
45ecf3:	55                   	push   %ebp
45ecf4:	8b f9                	mov    %ecx,%edi
45ecf6:	8b f2                	mov    %edx,%esi
45ecf8:	8b d8                	mov    %eax,%ebx
45ecfa:	3b fe                	cmp    %esi,%edi
45ecfc:	74 7d                	je     0x45ed7b
45ecfe:	f6 43 1c 01          	testb  $0x1,0x1c(%ebx)
45ed02:	75 14                	jne    0x45ed18
45ed04:	8b 83 08 02 00 00    	mov    0x208(%ebx),%eax
45ed0a:	c6 40 1e 01          	movb   $0x1,0x1e(%eax)
45ed0e:	8b 83 0c 02 00 00    	mov    0x20c(%ebx),%eax
45ed14:	c6 40 1e 01          	movb   $0x1,0x1e(%eax)
45ed18:	33 d2                	xor    %edx,%edx
45ed1a:	8b 83 08 02 00 00    	mov    0x208(%ebx),%eax
45ed20:	e8 ef f6 ff ff       	call   0x45e414
45ed25:	33 d2                	xor    %edx,%edx
45ed27:	8b 83 0c 02 00 00    	mov    0x20c(%ebx),%eax
45ed2d:	e8 e2 f6 ff ff       	call   0x45e414
45ed32:	80 bb 10 02 00 00 00 	cmpb   $0x0,0x210(%ebx)
45ed39:	75 40                	jne    0x45ed7b
45ed3b:	8b ab 08 02 00 00    	mov    0x208(%ebx),%ebp
45ed41:	80 7d 1e 00          	cmpb   $0x0,0x1e(%ebp)
45ed45:	74 14                	je     0x45ed5b
45ed47:	57                   	push   %edi
45ed48:	56                   	push   %esi
45ed49:	8b 45 10             	mov    0x10(%ebp),%eax
45ed4c:	50                   	push   %eax
45ed4d:	e8 da 76 fa ff       	call   0x40642c
45ed52:	8b d0                	mov    %eax,%edx
45ed54:	8b c5                	mov    %ebp,%eax
45ed56:	e8 09 f8 ff ff       	call   0x45e564
45ed5b:	8b ab 0c 02 00 00    	mov    0x20c(%ebx),%ebp
45ed61:	80 7d 1e 00          	cmpb   $0x0,0x1e(%ebp)
45ed65:	74 14                	je     0x45ed7b
45ed67:	57                   	push   %edi
45ed68:	56                   	push   %esi
45ed69:	8b 45 10             	mov    0x10(%ebp),%eax
45ed6c:	50                   	push   %eax
45ed6d:	e8 ba 76 fa ff       	call   0x40642c
45ed72:	8b d0                	mov    %eax,%edx
45ed74:	8b c5                	mov    %ebp,%eax
45ed76:	e8 e9 f7 ff ff       	call   0x45e564
45ed7b:	8b 83 08 02 00 00    	mov    0x208(%ebx),%eax
45ed81:	c6 40 1e 00          	movb   $0x0,0x1e(%eax)
45ed85:	8b 83 0c 02 00 00    	mov    0x20c(%ebx),%eax
45ed8b:	c6 40 1e 00          	movb   $0x0,0x1e(%eax)
45ed8f:	5d                   	pop    %ebp
45ed90:	5f                   	pop    %edi
45ed91:	5e                   	pop    %esi
45ed92:	5b                   	pop    %ebx
45ed93:	c3                   	ret
45ed94:	53                   	push   %ebx
45ed95:	56                   	push   %esi
45ed96:	57                   	push   %edi
45ed97:	8b f9                	mov    %ecx,%edi
45ed99:	8b f2                	mov    %edx,%esi
45ed9b:	8b d8                	mov    %eax,%ebx
45ed9d:	8b cf                	mov    %edi,%ecx
45ed9f:	8b d6                	mov    %esi,%edx
45eda1:	8b c3                	mov    %ebx,%eax
45eda3:	e8 48 ff ff ff       	call   0x45ecf0
45eda8:	8b cf                	mov    %edi,%ecx
45edaa:	8b d6                	mov    %esi,%edx
45edac:	8b c3                	mov    %ebx,%eax
45edae:	e8 35 e1 fe ff       	call   0x44cee8
45edb3:	5f                   	pop    %edi
45edb4:	5e                   	pop    %esi
45edb5:	5b                   	pop    %ebx
45edb6:	c3                   	ret
45edb7:	90                   	nop
45edb8:	c3                   	ret
45edb9:	8d 40 00             	lea    0x0(%eax),%eax
45edbc:	55                   	push   %ebp
45edbd:	8b ec                	mov    %esp,%ebp
45edbf:	51                   	push   %ecx
45edc0:	53                   	push   %ebx
45edc1:	8b da                	mov    %edx,%ebx
45edc3:	89 45 fc             	mov    %eax,-0x4(%ebp)
45edc6:	8b 45 fc             	mov    -0x4(%ebp),%eax
45edc9:	ff 80 14 02 00 00    	incl   0x214(%eax)
45edcf:	33 d2                	xor    %edx,%edx
45edd1:	55                   	push   %ebp
45edd2:	68 26 ee 45 00       	push   $0x45ee26
45edd7:	64 ff 32             	push   %fs:(%edx)
45edda:	64 89 22             	mov    %esp,%fs:(%edx)
45eddd:	8b d3                	mov    %ebx,%edx
45eddf:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ede2:	e8 e1 cb fe ff       	call   0x44b9c8
45ede7:	33 c0                	xor    %eax,%eax
45ede9:	8b 53 04             	mov    0x4(%ebx),%edx
45edec:	83 ea 01             	sub    $0x1,%edx
45edef:	72 07                	jb     0x45edf8
45edf1:	74 09                	je     0x45edfc
45edf3:	4a                   	dec    %edx
45edf4:	74 0a                	je     0x45ee00
45edf6:	eb 0a                	jmp    0x45ee02
45edf8:	33 c0                	xor    %eax,%eax
45edfa:	eb 06                	jmp    0x45ee02
45edfc:	b0 01                	mov    $0x1,%al
45edfe:	eb 02                	jmp    0x45ee02
45ee00:	b0 02                	mov    $0x2,%al
45ee02:	8b d0                	mov    %eax,%edx
45ee04:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ee07:	8b 08                	mov    (%eax),%ecx
45ee09:	ff 91 d0 00 00 00    	call   *0xd0(%ecx)
45ee0f:	33 c0                	xor    %eax,%eax
45ee11:	5a                   	pop    %edx
45ee12:	59                   	pop    %ecx
45ee13:	59                   	pop    %ecx
45ee14:	64 89 10             	mov    %edx,%fs:(%eax)
45ee17:	68 2d ee 45 00       	push   $0x45ee2d
45ee1c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ee1f:	ff 88 14 02 00 00    	decl   0x214(%eax)
45ee25:	c3                   	ret
45ee26:	e9 29 4c fa ff       	jmp    0x403a54
45ee2b:	eb ef                	jmp    0x45ee1c
45ee2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ee30:	c6 80 18 02 00 00 01 	movb   $0x1,0x218(%eax)
45ee37:	33 c0                	xor    %eax,%eax
45ee39:	55                   	push   %ebp
45ee3a:	68 65 ee 45 00       	push   $0x45ee65
45ee3f:	64 ff 30             	push   %fs:(%eax)
45ee42:	64 89 20             	mov    %esp,%fs:(%eax)
45ee45:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ee48:	e8 bf fb ff ff       	call   0x45ea0c
45ee4d:	33 c0                	xor    %eax,%eax
45ee4f:	5a                   	pop    %edx
45ee50:	59                   	pop    %ecx
45ee51:	59                   	pop    %ecx
45ee52:	64 89 10             	mov    %edx,%fs:(%eax)
45ee55:	68 6c ee 45 00       	push   $0x45ee6c
45ee5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ee5d:	c6 80 18 02 00 00 00 	movb   $0x0,0x218(%eax)
45ee64:	c3                   	ret
45ee65:	e9 ea 4b fa ff       	jmp    0x403a54
45ee6a:	eb ee                	jmp    0x45ee5a
45ee6c:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ee6f:	8b 80 08 02 00 00    	mov    0x208(%eax),%eax
45ee75:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
45ee79:	75 0f                	jne    0x45ee8a
45ee7b:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ee7e:	8b 80 0c 02 00 00    	mov    0x20c(%eax),%eax
45ee84:	80 78 1c 00          	cmpb   $0x0,0x1c(%eax)
45ee88:	74 08                	je     0x45ee92
45ee8a:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ee8d:	e8 fa fb ff ff       	call   0x45ea8c
45ee92:	5b                   	pop    %ebx
45ee93:	59                   	pop    %ecx
45ee94:	5d                   	pop    %ebp
45ee95:	c3                   	ret
45ee96:	8b c0                	mov    %eax,%eax
45ee98:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
45ee9c:	75 18                	jne    0x45eeb6
45ee9e:	8b 88 08 02 00 00    	mov    0x208(%eax),%ecx
45eea4:	80 79 1c 00          	cmpb   $0x0,0x1c(%ecx)
45eea8:	74 0c                	je     0x45eeb6
45eeaa:	8b 80 08 02 00 00    	mov    0x208(%eax),%eax
45eeb0:	e8 ef f1 ff ff       	call   0x45e0a4
45eeb5:	c3                   	ret
45eeb6:	e8 a5 c8 fe ff       	call   0x44b760
45eebb:	c3                   	ret
45eebc:	83 7a 08 00          	cmpl   $0x0,0x8(%edx)
45eec0:	75 18                	jne    0x45eeda
45eec2:	8b 88 0c 02 00 00    	mov    0x20c(%eax),%ecx
45eec8:	80 79 1c 00          	cmpb   $0x0,0x1c(%ecx)
45eecc:	74 0c                	je     0x45eeda
45eece:	8b 80 0c 02 00 00    	mov    0x20c(%eax),%eax
45eed4:	e8 cb f1 ff ff       	call   0x45e0a4
45eed9:	c3                   	ret
45eeda:	e8 a1 c8 fe ff       	call   0x44b780
45eedf:	c3                   	ret
45eee0:	53                   	push   %ebx
45eee1:	56                   	push   %esi
45eee2:	57                   	push   %edi
45eee3:	83 c4 f0             	add    $0xfffffff0,%esp
45eee6:	8b f2                	mov    %edx,%esi
45eee8:	8b d8                	mov    %eax,%ebx
45eeea:	8b c3                	mov    %ebx,%eax
45eeec:	e8 67 77 fe ff       	call   0x446658
45eef1:	8b 93 0c 02 00 00    	mov    0x20c(%ebx),%edx
45eef7:	8b 52 10             	mov    0x10(%edx),%edx
45eefa:	e8 99 c3 fc ff       	call   0x42b298
45eeff:	50                   	push   %eax
45ef00:	8d 44 24 04          	lea    0x4(%esp),%eax
45ef04:	50                   	push   %eax
45ef05:	8b c3                	mov    %ebx,%eax
45ef07:	e8 08 77 fe ff       	call   0x446614
45ef0c:	8b d0                	mov    %eax,%edx
45ef0e:	8b bb 08 02 00 00    	mov    0x208(%ebx),%edi
45ef14:	8b 47 10             	mov    0x10(%edi),%eax
45ef17:	e8 7c c3 fc ff       	call   0x42b298
45ef1c:	8b c8                	mov    %eax,%ecx
45ef1e:	8b 83 0c 02 00 00    	mov    0x20c(%ebx),%eax
45ef24:	8b 50 0c             	mov    0xc(%eax),%edx
45ef27:	f7 da                	neg    %edx
45ef29:	8b 47 0c             	mov    0xc(%edi),%eax
45ef2c:	f7 d8                	neg    %eax
45ef2e:	e8 09 82 fb ff       	call   0x41713c
45ef33:	56                   	push   %esi
45ef34:	8b fe                	mov    %esi,%edi
45ef36:	8d 74 24 04          	lea    0x4(%esp),%esi
45ef3a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45ef3b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45ef3c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45ef3d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
45ef3e:	5e                   	pop    %esi
45ef3f:	8b d6                	mov    %esi,%edx
45ef41:	8b c3                	mov    %ebx,%eax
45ef43:	e8 00 a5 fe ff       	call   0x449448
45ef48:	83 c4 10             	add    $0x10,%esp
45ef4b:	5f                   	pop    %edi
45ef4c:	5e                   	pop    %esi
45ef4d:	5b                   	pop    %ebx
45ef4e:	c3                   	ret
45ef4f:	90                   	nop
45ef50:	55                   	push   %ebp
45ef51:	8b ec                	mov    %esp,%ebp
45ef53:	83 c4 f4             	add    $0xfffffff4,%esp
45ef56:	89 55 f8             	mov    %edx,-0x8(%ebp)
45ef59:	89 45 fc             	mov    %eax,-0x4(%ebp)
45ef5c:	8b 45 f8             	mov    -0x8(%ebp),%eax
45ef5f:	8b 40 04             	mov    0x4(%eax),%eax
45ef62:	89 45 f4             	mov    %eax,-0xc(%ebp)
45ef65:	33 c0                	xor    %eax,%eax
45ef67:	55                   	push   %ebp
45ef68:	68 b1 ef 45 00       	push   $0x45efb1
45ef6d:	64 ff 30             	push   %fs:(%eax)
45ef70:	64 89 20             	mov    %esp,%fs:(%eax)
45ef73:	8b 45 fc             	mov    -0x4(%ebp),%eax
45ef76:	8b 15 a0 90 46 00    	mov    0x4690a0,%edx
45ef7c:	e8 cb 44 fa ff       	call   0x40344c
45ef81:	84 c0                	test   %al,%al
45ef83:	75 0a                	jne    0x45ef8f
45ef85:	8b 45 f8             	mov    -0x8(%ebp),%eax