40c793:	83 ec 08             	sub    $0x8,%esp
40c796:	a1 14 50 45 00       	mov    0x455014,%eax
40c79b:	33 c5                	xor    %ebp,%eax
40c79d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c7a0:	53                   	push   %ebx
40c7a1:	56                   	push   %esi
40c7a2:	57                   	push   %edi
40c7a3:	8b 7d 08             	mov    0x8(%ebp),%edi
40c7a6:	8b d9                	mov    %ecx,%ebx
40c7a8:	8b f7                	mov    %edi,%esi
40c7aa:	8d 4e 02             	lea    0x2(%esi),%ecx
40c7ad:	0f 1f 00             	nopl   (%eax)
40c7b0:	66 8b 06             	mov    (%esi),%ax
40c7b3:	83 c6 02             	add    $0x2,%esi
40c7b6:	66 85 c0             	test   %ax,%ax
40c7b9:	75 f5                	jne    0x40c7b0
40c7bb:	6a 02                	push   $0x2
40c7bd:	6a 00                	push   $0x0
40c7bf:	6a 00                	push   $0x0
40c7c1:	ff 73 68             	push   0x68(%ebx)
40c7c4:	2b f1                	sub    %ecx,%esi
40c7c6:	d1 fe                	sar    $1,%esi
40c7c8:	ff 15 f0 e0 43 00    	call   *0x43e0f0
40c7ce:	6a 00                	push   $0x0
40c7d0:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c7d3:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40c7da:	50                   	push   %eax
40c7db:	03 f6                	add    %esi,%esi
40c7dd:	56                   	push   %esi
40c7de:	57                   	push   %edi
40c7df:	ff 73 68             	push   0x68(%ebx)
40c7e2:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c7e8:	6a 00                	push   $0x0
40c7ea:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c7ed:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40c7f4:	50                   	push   %eax
40c7f5:	6a 04                	push   $0x4
40c7f7:	68 94 ef 44 00       	push   $0x44ef94
40c7fc:	ff 73 68             	push   0x68(%ebx)
40c7ff:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c805:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c808:	5f                   	pop    %edi
40c809:	5e                   	pop    %esi
40c80a:	33 cd                	xor    %ebp,%ecx
40c80c:	5b                   	pop    %ebx
40c80d:	e8 98 d3 00 00       	call   0x419baa
40c812:	8b e5                	mov    %ebp,%esp
40c814:	5d                   	pop    %ebp
40c815:	c2 04 00             	ret    $0x4
40c818:	cc                   	int3
40c819:	cc                   	int3
40c81a:	cc                   	int3
40c81b:	cc                   	int3
40c81c:	cc                   	int3
40c81d:	cc                   	int3
40c81e:	cc                   	int3
40c81f:	cc                   	int3
40c820:	55                   	push   %ebp
40c821:	8b ec                	mov    %esp,%ebp
40c823:	83 ec 08             	sub    $0x8,%esp
40c826:	a1 14 50 45 00       	mov    0x455014,%eax
40c82b:	33 c5                	xor    %ebp,%eax
40c82d:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c830:	53                   	push   %ebx
40c831:	56                   	push   %esi
40c832:	57                   	push   %edi
40c833:	8b 7d 08             	mov    0x8(%ebp),%edi
40c836:	8b d9                	mov    %ecx,%ebx
40c838:	8b f7                	mov    %edi,%esi
40c83a:	8d 4e 01             	lea    0x1(%esi),%ecx
40c83d:	0f 1f 00             	nopl   (%eax)
40c840:	8a 06                	mov    (%esi),%al
40c842:	46                   	inc    %esi
40c843:	84 c0                	test   %al,%al
40c845:	75 f9                	jne    0x40c840
40c847:	6a 02                	push   $0x2
40c849:	6a 00                	push   $0x0
40c84b:	6a 00                	push   $0x0
40c84d:	ff 73 68             	push   0x68(%ebx)
40c850:	2b f1                	sub    %ecx,%esi
40c852:	ff 15 f0 e0 43 00    	call   *0x43e0f0
40c858:	6a 00                	push   $0x0
40c85a:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c85d:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40c864:	50                   	push   %eax
40c865:	56                   	push   %esi
40c866:	57                   	push   %edi
40c867:	ff 73 68             	push   0x68(%ebx)
40c86a:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c870:	6a 00                	push   $0x0
40c872:	8d 45 f8             	lea    -0x8(%ebp),%eax
40c875:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
40c87c:	50                   	push   %eax
40c87d:	6a 02                	push   $0x2
40c87f:	68 9c ef 44 00       	push   $0x44ef9c
40c884:	ff 73 68             	push   0x68(%ebx)
40c887:	ff 15 a4 e0 43 00    	call   *0x43e0a4
40c88d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c890:	5f                   	pop    %edi
40c891:	5e                   	pop    %esi
40c892:	33 cd                	xor    %ebp,%ecx
40c894:	5b                   	pop    %ebx
40c895:	e8 10 d3 00 00       	call   0x419baa
40c89a:	8b e5                	mov    %ebp,%esp
40c89c:	5d                   	pop    %ebp
40c89d:	c2 04 00             	ret    $0x4
40c8a0:	55                   	push   %ebp
40c8a1:	8b ec                	mov    %esp,%ebp
40c8a3:	83 e4 f8             	and    $0xfffffff8,%esp
40c8a6:	81 ec 5c 02 00 00    	sub    $0x25c,%esp
40c8ac:	a1 14 50 45 00       	mov    0x455014,%eax
40c8b1:	33 c4                	xor    %esp,%eax
40c8b3:	89 84 24 58 02 00 00 	mov    %eax,0x258(%esp)
40c8ba:	8b 45 10             	mov    0x10(%ebp),%eax
40c8bd:	8b 55 08             	mov    0x8(%ebp),%edx
40c8c0:	53                   	push   %ebx
40c8c1:	56                   	push   %esi
40c8c2:	89 44 24 10          	mov    %eax,0x10(%esp)
40c8c6:	8b c2                	mov    %edx,%eax
40c8c8:	57                   	push   %edi
40c8c9:	8b f9                	mov    %ecx,%edi
40c8cb:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40c8ce:	0b c1                	or     %ecx,%eax
40c8d0:	89 7c 24 20          	mov    %edi,0x20(%esp)
40c8d4:	75 1a                	jne    0x40c8f0
40c8d6:	8d 44 24 28          	lea    0x28(%esp),%eax
40c8da:	50                   	push   %eax
40c8db:	e8 06 9a 01 00       	call   0x4262e6
40c8e0:	8b 5c 24 30          	mov    0x30(%esp),%ebx
40c8e4:	83 c4 04             	add    $0x4,%esp
40c8e7:	8b 74 24 28          	mov    0x28(%esp),%esi
40c8eb:	e9 92 00 00 00       	jmp    0x40c982
40c8f0:	8b fa                	mov    %edx,%edi
40c8f2:	bb 77 be 9f 1a       	mov    $0x1a9fbe77,%ebx
40c8f7:	8b c7                	mov    %edi,%eax
40c8f9:	89 7c 24 10          	mov    %edi,0x10(%esp)
40c8fd:	f7 e3                	mul    %ebx
40c8ff:	89 44 24 18          	mov    %eax,0x18(%esp)
40c903:	8b f2                	mov    %edx,%esi
40c905:	8b c7                	mov    %edi,%eax
40c907:	ba 2f dd 24 06       	mov    $0x624dd2f,%edx
40c90c:	f7 e2                	mul    %edx
40c90e:	8b f8                	mov    %eax,%edi
40c910:	89 54 24 0c          	mov    %edx,0xc(%esp)
40c914:	8b c1                	mov    %ecx,%eax
40c916:	f7 e3                	mul    %ebx
40c918:	8b c8                	mov    %eax,%ecx
40c91a:	8b da                	mov    %edx,%ebx
40c91c:	8b 45 0c             	mov    0xc(%ebp),%eax
40c91f:	ba 2f dd 24 06       	mov    $0x624dd2f,%edx
40c924:	f7 e2                	mul    %edx
40c926:	03 ce                	add    %esi,%ecx
40c928:	8b 74 24 10          	mov    0x10(%esp),%esi
40c92c:	89 44 24 18          	mov    %eax,0x18(%esp)
40c930:	83 d3 00             	adc    $0x0,%ebx
40c933:	03 f9                	add    %ecx,%edi
40c935:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40c939:	83 d1 00             	adc    $0x0,%ecx
40c93c:	89 7c 24 28          	mov    %edi,0x28(%esp)
40c940:	33 c0                	xor    %eax,%eax
40c942:	8b 7c 24 20          	mov    0x20(%esp),%edi
40c946:	03 d9                	add    %ecx,%ebx
40c948:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40c94c:	13 c0                	adc    %eax,%eax
40c94e:	03 cb                	add    %ebx,%ecx
40c950:	8b 5d 0c             	mov    0xc(%ebp),%ebx
40c953:	13 d0                	adc    %eax,%edx
40c955:	2b f1                	sub    %ecx,%esi
40c957:	1b da                	sbb    %edx,%ebx
40c959:	0f ac de 01          	shrd   $0x1,%ebx,%esi
40c95d:	d1 eb                	shr    $1,%ebx
40c95f:	03 f1                	add    %ecx,%esi
40c961:	8b 4d 08             	mov    0x8(%ebp),%ecx
40c964:	13 da                	adc    %edx,%ebx
40c966:	0f ac de 09          	shrd   $0x9,%ebx,%esi
40c96a:	69 c6 e8 03 00 00    	imul   $0x3e8,%esi,%eax
40c970:	c1 eb 09             	shr    $0x9,%ebx
40c973:	89 74 24 28          	mov    %esi,0x28(%esp)
40c977:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
40c97b:	2b c8                	sub    %eax,%ecx
40c97d:	66 89 4c 24 30       	mov    %cx,0x30(%esp)
40c982:	8d 44 24 20          	lea    0x20(%esp),%eax
40c986:	89 74 24 20          	mov    %esi,0x20(%esp)
40c98a:	50                   	push   %eax
40c98b:	8d 44 24 40          	lea    0x40(%esp),%eax
40c98f:	89 5c 24 28          	mov    %ebx,0x28(%esp)
40c993:	50                   	push   %eax
40c994:	89 b7 f8 00 00 00    	mov    %esi,0xf8(%edi)
40c99a:	89 9f fc 00 00 00    	mov    %ebx,0xfc(%edi)
40c9a0:	e8 21 84 01 00       	call   0x424dc6
40c9a5:	8d 44 24 44          	lea    0x44(%esp),%eax
40c9a9:	50                   	push   %eax
40c9aa:	68 a0 ef 44 00       	push   $0x44efa0
40c9af:	8d 44 24 70          	lea    0x70(%esp),%eax
40c9b3:	68 00 01 00 00       	push   $0x100
40c9b8:	50                   	push   %eax
40c9b9:	e8 11 96 01 00       	call   0x425fcf
40c9be:	0f b7 44 24 48       	movzwl 0x48(%esp),%eax
40c9c3:	50                   	push   %eax
40c9c4:	8d 44 24 7c          	lea    0x7c(%esp),%eax
40c9c8:	50                   	push   %eax
40c9c9:	68 ac ef 44 00       	push   $0x44efac
40c9ce:	68 00 01 00 00       	push   $0x100
40c9d3:	ff 74 24 3c          	push   0x3c(%esp)
40c9d7:	e8 44 7d ff ff       	call   0x404720
40c9dc:	8b 8c 24 90 02 00 00 	mov    0x290(%esp),%ecx
40c9e3:	83 c4 2c             	add    $0x2c,%esp
40c9e6:	5f                   	pop    %edi
40c9e7:	5e                   	pop    %esi
40c9e8:	5b                   	pop    %ebx
40c9e9:	33 cc                	xor    %esp,%ecx
40c9eb:	e8 ba d1 00 00       	call   0x419baa
40c9f0:	8b e5                	mov    %ebp,%esp
40c9f2:	5d                   	pop    %ebp
40c9f3:	c2 0c 00             	ret    $0xc
40c9f6:	cc                   	int3
40c9f7:	cc                   	int3
40c9f8:	cc                   	int3
40c9f9:	cc                   	int3
40c9fa:	cc                   	int3
40c9fb:	cc                   	int3
40c9fc:	cc                   	int3
40c9fd:	cc                   	int3
40c9fe:	cc                   	int3
40c9ff:	cc                   	int3
40ca00:	55                   	push   %ebp
40ca01:	8b ec                	mov    %esp,%ebp
40ca03:	6a ff                	push   $0xffffffff
40ca05:	68 b5 c4 43 00       	push   $0x43c4b5
40ca0a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40ca10:	50                   	push   %eax
40ca11:	81 ec 80 03 00 00    	sub    $0x380,%esp
40ca17:	a1 14 50 45 00       	mov    0x455014,%eax
40ca1c:	33 c5                	xor    %ebp,%eax
40ca1e:	89 45 f0             	mov    %eax,-0x10(%ebp)
40ca21:	56                   	push   %esi
40ca22:	57                   	push   %edi
40ca23:	50                   	push   %eax
40ca24:	8d 45 f4             	lea    -0xc(%ebp),%eax
40ca27:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40ca2d:	8b f9                	mov    %ecx,%edi
40ca2f:	8b 45 14             	mov    0x14(%ebp),%eax
40ca32:	8b 75 2c             	mov    0x2c(%ebp),%esi
40ca35:	8b ce                	mov    %esi,%ecx
40ca37:	89 85 e4 fc ff ff    	mov    %eax,-0x31c(%ebp)
40ca3d:	8b 45 18             	mov    0x18(%ebp),%eax
40ca40:	89 85 e0 fc ff ff    	mov    %eax,-0x320(%ebp)
40ca46:	8b 45 1c             	mov    0x1c(%ebp),%eax
40ca49:	8d 51 02             	lea    0x2(%ecx),%edx
40ca4c:	89 85 dc fc ff ff    	mov    %eax,-0x324(%ebp)
40ca52:	8b 45 20             	mov    0x20(%ebp),%eax
40ca55:	89 85 d8 fc ff ff    	mov    %eax,-0x328(%ebp)
40ca5b:	8b 45 24             	mov    0x24(%ebp),%eax
40ca5e:	89 85 d4 fc ff ff    	mov    %eax,-0x32c(%ebp)
40ca64:	8b 45 28             	mov    0x28(%ebp),%eax
40ca67:	89 85 1c fd ff ff    	mov    %eax,-0x2e4(%ebp)
40ca6d:	8b 45 30             	mov    0x30(%ebp),%eax
40ca70:	89 85 00 fd ff ff    	mov    %eax,-0x300(%ebp)
40ca76:	c7 85 d8 fd ff ff 00 	movl   $0x0,-0x228(%ebp)
40ca7d:	00 00 00
40ca80:	c7 85 e8 fd ff ff 00 	movl   $0x0,-0x218(%ebp)
40ca87:	00 00 00
40ca8a:	c7 85 ec fd ff ff 00 	movl   $0x0,-0x214(%ebp)
40ca91:	00 00 00
40ca94:	66 8b 01             	mov    (%ecx),%ax
40ca97:	83 c1 02             	add    $0x2,%ecx
40ca9a:	66 85 c0             	test   %ax,%ax
40ca9d:	75 f5                	jne    0x40ca94
40ca9f:	2b ca                	sub    %edx,%ecx
40caa1:	d1 f9                	sar    $1,%ecx
40caa3:	51                   	push   %ecx
40caa4:	56                   	push   %esi
40caa5:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
40caab:	e8 50 65 ff ff       	call   0x403000
40cab0:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
40cab6:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40cabd:	50                   	push   %eax
40cabe:	ff 75 0c             	push   0xc(%ebp)
40cac1:	8b cf                	mov    %edi,%ecx
40cac3:	ff 75 08             	push   0x8(%ebp)
40cac6:	e8 d5 fd ff ff       	call   0x40c8a0
40cacb:	68 bc ef 44 00       	push   $0x44efbc
40cad0:	56                   	push   %esi
40cad1:	e8 d6 e8 00 00       	call   0x41b3ac
40cad6:	83 c4 08             	add    $0x8,%esp
40cad9:	85 c0                	test   %eax,%eax
40cadb:	74 2d                	je     0x40cb0a
40cadd:	68 c4 ef 44 00       	push   $0x44efc4
40cae2:	50                   	push   %eax
40cae3:	e8 c4 e8 00 00       	call   0x41b3ac
40cae8:	83 c4 08             	add    $0x8,%esp
40caeb:	85 c0                	test   %eax,%eax
40caed:	74 1b                	je     0x40cb0a
40caef:	6a 27                	push   $0x27
40caf1:	68 d0 ef 44 00       	push   $0x44efd0
40caf6:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
40cafc:	e8 ef 63 ff ff       	call   0x402ef0
40cb01:	6a 04                	push   $0x4
40cb03:	68 44 f0 44 00       	push   $0x44f044
40cb08:	eb 65                	jmp    0x40cb6f
40cb0a:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
40cb10:	8b cf                	mov    %edi,%ecx
40cb12:	50                   	push   %eax
40cb13:	56                   	push   %esi
40cb14:	e8 f7 9e 00 00       	call   0x416a10
40cb19:	8b 45 10             	mov    0x10(%ebp),%eax
40cb1c:	83 c0 f6             	add    $0xfffffff6,%eax
40cb1f:	83 f8 3c             	cmp    $0x3c,%eax
40cb22:	77 44                	ja     0x40cb68
40cb24:	0f b6 80 54 d6 40 00 	movzbl 0x40d654(%eax),%eax
40cb2b:	ff 24 85 34 d6 40 00 	jmp    *0x40d634(,%eax,4)
40cb32:	6a 05                	push   $0x5
40cb34:	68 2c f0 44 00       	push   $0x44f02c
40cb39:	eb 34                	jmp    0x40cb6f
40cb3b:	6a 05                	push   $0x5
40cb3d:	68 38 f0 44 00       	push   $0x44f038
40cb42:	eb 2b                	jmp    0x40cb6f
40cb44:	6a 04                	push   $0x4
40cb46:	68 50 f0 44 00       	push   $0x44f050
40cb4b:	eb 22                	jmp    0x40cb6f
40cb4d:	6a 05                	push   $0x5
40cb4f:	68 5c f0 44 00       	push   $0x44f05c
40cb54:	eb 19                	jmp    0x40cb6f
40cb56:	6a 05                	push   $0x5
40cb58:	68 68 f0 44 00       	push   $0x44f068
40cb5d:	eb 10                	jmp    0x40cb6f
40cb5f:	6a 04                	push   $0x4
40cb61:	68 74 f0 44 00       	push   $0x44f074
40cb66:	eb 07                	jmp    0x40cb6f
40cb68:	6a 03                	push   $0x3
40cb6a:	68 80 f0 44 00       	push   $0x44f080
40cb6f:	8d 8d e8 fc ff ff    	lea    -0x318(%ebp),%ecx
40cb75:	c7 85 e8 fc ff ff 00 	movl   $0x0,-0x318(%ebp)
40cb7c:	00 00 00
40cb7f:	c7 85 f8 fc ff ff 00 	movl   $0x0,-0x308(%ebp)
40cb86:	00 00 00
40cb89:	c7 85 fc fc ff ff 00 	movl   $0x0,-0x304(%ebp)
40cb90:	00 00 00
40cb93:	e8 68 64 ff ff       	call   0x403000
40cb98:	8d 77 1c             	lea    0x1c(%edi),%esi
40cb9b:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40cb9f:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
40cba5:	89 b5 20 fd ff ff    	mov    %esi,-0x2e0(%ebp)
40cbab:	8d 51 02             	lea    0x2(%ecx),%edx
40cbae:	66 90                	xchg   %ax,%ax
40cbb0:	66 8b 01             	mov    (%ecx),%ax
40cbb3:	83 c1 02             	add    $0x2,%ecx
40cbb6:	66 85 c0             	test   %ax,%ax
40cbb9:	75 f5                	jne    0x40cbb0
40cbbb:	2b ca                	sub    %edx,%ecx