40d7d8:	6a 00                	push   $0x0
40d7da:	ff b5 b0 df ff ff    	push   -0x2050(%ebp)
40d7e0:	8b 76 18             	mov    0x18(%esi),%esi
40d7e3:	ff b5 ac df ff ff    	push   -0x2054(%ebp)
40d7e9:	52                   	push   %edx
40d7ea:	51                   	push   %ecx
40d7eb:	6a 1e                	push   $0x1e
40d7ed:	8b ce                	mov    %esi,%ecx
40d7ef:	ff 15 5c e2 43 00    	call   *0x43e25c
40d7f5:	8b cf                	mov    %edi,%ecx
40d7f7:	ff d6                	call   *%esi
40d7f9:	8b b5 a8 df ff ff    	mov    -0x2058(%ebp),%esi
40d7ff:	33 c0                	xor    %eax,%eax
40d801:	c7 85 d8 df ff ff 00 	movl   $0x0,-0x2028(%ebp)
40d808:	00 00 00
40d80b:	c7 85 e8 df ff ff 00 	movl   $0x0,-0x2018(%ebp)
40d812:	00 00 00
40d815:	c7 85 ec df ff ff 07 	movl   $0x7,-0x2014(%ebp)
40d81c:	00 00 00
40d81f:	66 89 85 d8 df ff ff 	mov    %ax,-0x2028(%ebp)
40d826:	89 45 fc             	mov    %eax,-0x4(%ebp)
40d829:	85 f6                	test   %esi,%esi
40d82b:	75 08                	jne    0x40d835
40d82d:	8b 85 b4 df ff ff    	mov    -0x204c(%ebp),%eax
40d833:	eb 2f                	jmp    0x40d864
40d835:	56                   	push   %esi
40d836:	6a 00                	push   $0x0
40d838:	ff b5 b4 df ff ff    	push   -0x204c(%ebp)
40d83e:	8d 85 f0 df ff ff    	lea    -0x2010(%ebp),%eax
40d844:	6a ff                	push   $0xffffffff
40d846:	68 ff 0f 00 00       	push   $0xfff
40d84b:	50                   	push   %eax
40d84c:	e8 8f 6e ff ff       	call   0x4046e0
40d851:	ff 70 04             	push   0x4(%eax)
40d854:	ff 30                	push   (%eax)
40d856:	e8 f3 5c 01 00       	call   0x42354e
40d85b:	83 c4 20             	add    $0x20,%esp
40d85e:	8d 85 f0 df ff ff    	lea    -0x2010(%ebp),%eax
40d864:	8d 8d d8 df ff ff    	lea    -0x2028(%ebp),%ecx
40d86a:	51                   	push   %ecx
40d86b:	50                   	push   %eax
40d86c:	ff b5 a4 df ff ff    	push   -0x205c(%ebp)
40d872:	8b cf                	mov    %edi,%ecx
40d874:	ff b5 a0 df ff ff    	push   -0x2060(%ebp)
40d87a:	ff b5 b0 df ff ff    	push   -0x2050(%ebp)
40d880:	ff b5 ac df ff ff    	push   -0x2054(%ebp)
40d886:	ff b5 bc df ff ff    	push   -0x2044(%ebp)
40d88c:	ff b5 b8 df ff ff    	push   -0x2048(%ebp)
40d892:	ff 75 08             	push   0x8(%ebp)
40d895:	ff 75 30             	push   0x30(%ebp)
40d898:	ff 75 2c             	push   0x2c(%ebp)
40d89b:	e8 60 f1 ff ff       	call   0x40ca00
40d8a0:	83 bf 8c 00 00 00 00 	cmpl   $0x0,0x8c(%edi)
40d8a7:	0f 85 9c 00 00 00    	jne    0x40d949
40d8ad:	c7 85 c0 df ff ff 00 	movl   $0x0,-0x2040(%ebp)
40d8b4:	00 00 00
40d8b7:	c7 85 d0 df ff ff 00 	movl   $0x0,-0x2030(%ebp)
40d8be:	00 00 00
40d8c1:	c7 85 d4 df ff ff 0f 	movl   $0xf,-0x202c(%ebp)
40d8c8:	00 00 00
40d8cb:	c6 85 c0 df ff ff 00 	movb   $0x0,-0x2040(%ebp)
40d8d2:	8d 95 c0 df ff ff    	lea    -0x2040(%ebp),%edx
40d8d8:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40d8dc:	8d 8d d8 df ff ff    	lea    -0x2028(%ebp),%ecx
40d8e2:	e8 89 7a 00 00       	call   0x415370
40d8e7:	8b 07                	mov    (%edi),%eax
40d8e9:	8d 8d c0 df ff ff    	lea    -0x2040(%ebp),%ecx
40d8ef:	83 bd d4 df ff ff 10 	cmpl   $0x10,-0x202c(%ebp)
40d8f6:	0f 43 8d c0 df ff ff 	cmovae -0x2040(%ebp),%ecx
40d8fd:	8b 70 1c             	mov    0x1c(%eax),%esi
40d900:	51                   	push   %ecx
40d901:	8b ce                	mov    %esi,%ecx
40d903:	ff 15 5c e2 43 00    	call   *0x43e25c
40d909:	8b cf                	mov    %edi,%ecx
40d90b:	ff d6                	call   *%esi
40d90d:	8b 8d d4 df ff ff    	mov    -0x202c(%ebp),%ecx
40d913:	83 f9 10             	cmp    $0x10,%ecx
40d916:	72 57                	jb     0x40d96f
40d918:	8b 95 c0 df ff ff    	mov    -0x2040(%ebp),%edx
40d91e:	41                   	inc    %ecx
40d91f:	8b c2                	mov    %edx,%eax
40d921:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40d927:	72 14                	jb     0x40d93d
40d929:	8b 50 fc             	mov    -0x4(%eax),%edx
40d92c:	83 c1 23             	add    $0x23,%ecx
40d92f:	2b c2                	sub    %edx,%eax
40d931:	83 c0 fc             	add    $0xfffffffc,%eax
40d934:	83 f8 1f             	cmp    $0x1f,%eax
40d937:	0f 87 a4 00 00 00    	ja     0x40d9e1
40d93d:	51                   	push   %ecx
40d93e:	52                   	push   %edx
40d93f:	e8 74 c2 00 00       	call   0x419bb8
40d944:	83 c4 08             	add    $0x8,%esp
40d947:	eb 26                	jmp    0x40d96f
40d949:	8b 07                	mov    (%edi),%eax
40d94b:	8d 8d d8 df ff ff    	lea    -0x2028(%ebp),%ecx
40d951:	83 bd ec df ff ff 08 	cmpl   $0x8,-0x2014(%ebp)
40d958:	0f 43 8d d8 df ff ff 	cmovae -0x2028(%ebp),%ecx
40d95f:	8b 70 20             	mov    0x20(%eax),%esi
40d962:	51                   	push   %ecx
40d963:	8b ce                	mov    %esi,%ecx
40d965:	ff 15 5c e2 43 00    	call   *0x43e25c
40d96b:	8b cf                	mov    %edi,%ecx
40d96d:	ff d6                	call   *%esi
40d96f:	84 db                	test   %bl,%bl
40d971:	74 12                	je     0x40d985
40d973:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
40d979:	85 c0                	test   %eax,%eax
40d97b:	74 08                	je     0x40d985
40d97d:	ff 30                	push   (%eax)
40d97f:	ff 15 30 e1 43 00    	call   *0x43e130
40d985:	8b 8d ec df ff ff    	mov    -0x2014(%ebp),%ecx
40d98b:	83 f9 08             	cmp    $0x8,%ecx
40d98e:	72 31                	jb     0x40d9c1
40d990:	8b 95 d8 df ff ff    	mov    -0x2028(%ebp),%edx
40d996:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40d99d:	8b c2                	mov    %edx,%eax
40d99f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40d9a5:	72 10                	jb     0x40d9b7
40d9a7:	8b 50 fc             	mov    -0x4(%eax),%edx
40d9aa:	83 c1 23             	add    $0x23,%ecx
40d9ad:	2b c2                	sub    %edx,%eax
40d9af:	83 c0 fc             	add    $0xfffffffc,%eax
40d9b2:	83 f8 1f             	cmp    $0x1f,%eax
40d9b5:	77 2f                	ja     0x40d9e6
40d9b7:	51                   	push   %ecx
40d9b8:	52                   	push   %edx
40d9b9:	e8 fa c1 00 00       	call   0x419bb8
40d9be:	83 c4 08             	add    $0x8,%esp
40d9c1:	b0 01                	mov    $0x1,%al
40d9c3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40d9c6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d9cd:	59                   	pop    %ecx
40d9ce:	5f                   	pop    %edi
40d9cf:	5e                   	pop    %esi
40d9d0:	5b                   	pop    %ebx
40d9d1:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40d9d4:	33 cd                	xor    %ebp,%ecx
40d9d6:	e8 cf c1 00 00       	call   0x419baa
40d9db:	8b e5                	mov    %ebp,%esp
40d9dd:	5d                   	pop    %ebp
40d9de:	c2 30 00             	ret    $0x30
40d9e1:	e8 ad 1f 01 00       	call   0x41f993
40d9e6:	e8 a8 1f 01 00       	call   0x41f993
40d9eb:	cc                   	int3
40d9ec:	cc                   	int3
40d9ed:	cc                   	int3
40d9ee:	cc                   	int3
40d9ef:	cc                   	int3
40d9f0:	55                   	push   %ebp
40d9f1:	8b ec                	mov    %esp,%ebp
40d9f3:	6a ff                	push   $0xffffffff
40d9f5:	68 11 c6 43 00       	push   $0x43c611
40d9fa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40da00:	50                   	push   %eax
40da01:	81 ec ec 05 00 00    	sub    $0x5ec,%esp
40da07:	a1 14 50 45 00       	mov    0x455014,%eax
40da0c:	33 c5                	xor    %ebp,%eax
40da0e:	89 45 f0             	mov    %eax,-0x10(%ebp)
40da11:	56                   	push   %esi
40da12:	57                   	push   %edi
40da13:	50                   	push   %eax
40da14:	8d 45 f4             	lea    -0xc(%ebp),%eax
40da17:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40da1d:	8b f1                	mov    %ecx,%esi
40da1f:	33 ff                	xor    %edi,%edi
40da21:	0f 57 c0             	xorps  %xmm0,%xmm0
40da24:	66 0f 13 85 98 fd ff 	movlpd %xmm0,-0x268(%ebp)
40da2b:	ff
40da2c:	6a 2c                	push   $0x2c
40da2e:	89 bd 38 fa ff ff    	mov    %edi,-0x5c8(%ebp)
40da34:	89 bd 98 fd ff ff    	mov    %edi,-0x268(%ebp)
40da3a:	89 bd 9c fd ff ff    	mov    %edi,-0x264(%ebp)
40da40:	e8 81 c1 00 00       	call   0x419bc6
40da45:	83 c4 04             	add    $0x4,%esp
40da48:	89 00                	mov    %eax,(%eax)
40da4a:	89 40 04             	mov    %eax,0x4(%eax)
40da4d:	89 40 08             	mov    %eax,0x8(%eax)
40da50:	66 c7 40 0c 01 01    	movw   $0x101,0xc(%eax)
40da56:	89 85 98 fd ff ff    	mov    %eax,-0x268(%ebp)
40da5c:	89 7d fc             	mov    %edi,-0x4(%ebp)
40da5f:	0f 57 c0             	xorps  %xmm0,%xmm0
40da62:	66 0f d6 85 d0 fd ff 	movq   %xmm0,-0x230(%ebp)
40da69:	ff
40da6a:	89 bd d8 fd ff ff    	mov    %edi,-0x228(%ebp)
40da70:	89 bd d0 fd ff ff    	mov    %edi,-0x230(%ebp)
40da76:	89 bd d4 fd ff ff    	mov    %edi,-0x22c(%ebp)
40da7c:	89 bd d8 fd ff ff    	mov    %edi,-0x228(%ebp)
40da82:	66 0f d6 85 dc fd ff 	movq   %xmm0,-0x224(%ebp)
40da89:	ff
40da8a:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
40da90:	89 bd dc fd ff ff    	mov    %edi,-0x224(%ebp)
40da96:	89 bd e0 fd ff ff    	mov    %edi,-0x220(%ebp)
40da9c:	89 bd e4 fd ff ff    	mov    %edi,-0x21c(%ebp)
40daa2:	33 c0                	xor    %eax,%eax
40daa4:	89 bd b8 fd ff ff    	mov    %edi,-0x248(%ebp)
40daaa:	89 bd c8 fd ff ff    	mov    %edi,-0x238(%ebp)
40dab0:	c7 85 cc fd ff ff 07 	movl   $0x7,-0x234(%ebp)
40dab7:	00 00 00
40daba:	66 89 85 b8 fd ff ff 	mov    %ax,-0x248(%ebp)
40dac1:	89 85 a0 fd ff ff    	mov    %eax,-0x260(%ebp)
40dac7:	89 85 b0 fd ff ff    	mov    %eax,-0x250(%ebp)
40dacd:	c7 85 b4 fd ff ff 07 	movl   $0x7,-0x24c(%ebp)
40dad4:	00 00 00
40dad7:	66 89 85 a0 fd ff ff 	mov    %ax,-0x260(%ebp)
40dade:	89 85 f0 fc ff ff    	mov    %eax,-0x310(%ebp)
40dae4:	89 85 00 fd ff ff    	mov    %eax,-0x300(%ebp)
40daea:	c7 85 04 fd ff ff 07 	movl   $0x7,-0x2fc(%ebp)
40daf1:	00 00 00
40daf4:	66 89 85 f0 fc ff ff 	mov    %ax,-0x310(%ebp)
40dafb:	89 85 a8 fc ff ff    	mov    %eax,-0x358(%ebp)
40db01:	89 85 b8 fc ff ff    	mov    %eax,-0x348(%ebp)
40db07:	c7 85 bc fc ff ff 07 	movl   $0x7,-0x344(%ebp)
40db0e:	00 00 00
40db11:	66 89 85 a8 fc ff ff 	mov    %ax,-0x358(%ebp)
40db18:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
40db1c:	8d 8d 80 fd ff ff    	lea    -0x280(%ebp),%ecx
40db22:	50                   	push   %eax
40db23:	68 54 9f 44 00       	push   $0x449f54
40db28:	89 85 80 fd ff ff    	mov    %eax,-0x280(%ebp)
40db2e:	89 85 90 fd ff ff    	mov    %eax,-0x270(%ebp)
40db34:	89 85 94 fd ff ff    	mov    %eax,-0x26c(%ebp)
40db3a:	e8 c1 54 ff ff       	call   0x403000
40db3f:	83 c6 4c             	add    $0x4c,%esi
40db42:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
40db46:	56                   	push   %esi
40db47:	8d 8d 08 fd ff ff    	lea    -0x2f8(%ebp),%ecx
40db4d:	e8 6e 57 ff ff       	call   0x4032c0
40db52:	8d 95 a8 fc ff ff    	lea    -0x358(%ebp),%edx
40db58:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
40db5c:	8b ce                	mov    %esi,%ecx
40db5e:	e8 5d 7e 00 00       	call   0x4159c0
40db63:	83 bd 1c fd ff ff 08 	cmpl   $0x8,-0x2e4(%ebp)
40db6a:	8d 85 08 fd ff ff    	lea    -0x2f8(%ebp),%eax
40db70:	0f 43 85 08 fd ff ff 	cmovae -0x2f8(%ebp),%eax
40db77:	50                   	push   %eax
40db78:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40db7e:	68 04 01 00 00       	push   $0x104
40db83:	50                   	push   %eax
40db84:	e8 dd 5c 01 00       	call   0x423866
40db89:	83 c4 0c             	add    $0xc,%esp
40db8c:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40db92:	50                   	push   %eax
40db93:	ff 15 24 e2 43 00    	call   *0x43e224
40db99:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40db9f:	8d 51 02             	lea    0x2(%ecx),%edx
40dba2:	66 8b 01             	mov    (%ecx),%ax
40dba5:	83 c1 02             	add    $0x2,%ecx
40dba8:	66 85 c0             	test   %ax,%ax
40dbab:	75 f5                	jne    0x40dba2
40dbad:	2b ca                	sub    %edx,%ecx
40dbaf:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40dbb5:	d1 f9                	sar    $1,%ecx
40dbb7:	51                   	push   %ecx
40dbb8:	50                   	push   %eax
40dbb9:	8d 8d 08 fd ff ff    	lea    -0x2f8(%ebp),%ecx
40dbbf:	e8 2c 53 ff ff       	call   0x402ef0
40dbc4:	33 f6                	xor    %esi,%esi
40dbc6:	89 b5 34 fa ff ff    	mov    %esi,-0x5cc(%ebp)
40dbcc:	0f 1f 40 00          	nopl   0x0(%eax)
40dbd0:	6a 00                	push   $0x0
40dbd2:	68 54 9f 44 00       	push   $0x449f54
40dbd7:	8d 8d 20 fd ff ff    	lea    -0x2e0(%ebp),%ecx
40dbdd:	c7 85 20 fd ff ff 00 	movl   $0x0,-0x2e0(%ebp)
40dbe4:	00 00 00
40dbe7:	c7 85 30 fd ff ff 00 	movl   $0x0,-0x2d0(%ebp)
40dbee:	00 00 00
40dbf1:	c7 85 34 fd ff ff 00 	movl   $0x0,-0x2cc(%ebp)
40dbf8:	00 00 00
40dbfb:	e8 00 54 ff ff       	call   0x403000
40dc00:	33 c0                	xor    %eax,%eax
40dc02:	c7 85 68 fd ff ff 00 	movl   $0x0,-0x298(%ebp)
40dc09:	00 00 00
40dc0c:	c7 85 78 fd ff ff 00 	movl   $0x0,-0x288(%ebp)
40dc13:	00 00 00
40dc16:	c7 85 7c fd ff ff 07 	movl   $0x7,-0x284(%ebp)
40dc1d:	00 00 00
40dc20:	66 89 85 68 fd ff ff 	mov    %ax,-0x298(%ebp)
40dc27:	8b d6                	mov    %esi,%edx
40dc29:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40dc2d:	8d 8d 68 fd ff ff    	lea    -0x298(%ebp),%ecx
40dc33:	e8 98 78 00 00       	call   0x4154d0
40dc38:	8b 8d 78 fd ff ff    	mov    -0x288(%ebp),%ecx
40dc3e:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
40dc43:	2b c1                	sub    %ecx,%eax
40dc45:	83 f8 01             	cmp    $0x1,%eax
40dc48:	0f 82 cb 13 00 00    	jb     0x40f019
40dc4e:	83 bd 7c fd ff ff 08 	cmpl   $0x8,-0x284(%ebp)
40dc55:	8d 85 68 fd ff ff    	lea    -0x298(%ebp),%eax
40dc5b:	51                   	push   %ecx
40dc5c:	0f 43 85 68 fd ff ff 	cmovae -0x298(%ebp),%eax
40dc63:	50                   	push   %eax
40dc64:	6a 01                	push   $0x1
40dc66:	68 28 f0 44 00       	push   $0x44f028
40dc6b:	51                   	push   %ecx
40dc6c:	ff b5 2c fa ff ff    	push   -0x5d4(%ebp)
40dc72:	8d 8d d8 fc ff ff    	lea    -0x328(%ebp),%ecx
40dc78:	e8 73 76 ff ff       	call   0x4052f0
40dc7d:	83 cf 40             	or     $0x40,%edi
40dc80:	89 bd 38 fa ff ff    	mov    %edi,-0x5c8(%ebp)
40dc86:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
40dc8a:	8d 85 08 fd ff ff    	lea    -0x2f8(%ebp),%eax
40dc90:	83 bd 1c fd ff ff 08 	cmpl   $0x8,-0x2e4(%ebp)
40dc97:	ff b5 18 fd ff ff    	push   -0x2e8(%ebp)
40dc9d:	0f 43 85 08 fd ff ff 	cmovae -0x2f8(%ebp),%eax
40dca4:	50                   	push   %eax
40dca5:	51                   	push   %ecx
40dca6:	8d 8d d8 fc ff ff    	lea    -0x328(%ebp),%ecx
40dcac:	e8 ef 23 00 00       	call   0x4100a0
40dcb1:	33 c9                	xor    %ecx,%ecx
40dcb3:	0f 10 00             	movups (%eax),%xmm0
40dcb6:	f3 0f 7e 48 10       	movq   0x10(%eax),%xmm1
40dcbb:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
40dcc2:	c7 40 14 07 00 00 00 	movl   $0x7,0x14(%eax)
40dcc9:	66 89 08             	mov    %cx,(%eax)
40dccc:	8b 8d 34 fd ff ff    	mov    -0x2cc(%ebp),%ecx
40dcd2:	66 0f d6 8d 28 fa ff 	movq   %xmm1,-0x5d8(%ebp)
40dcd9:	ff
40dcda:	0f 11 85 58 fd ff ff 	movups %xmm0,-0x2a8(%ebp)
40dce1:	83 f9 08             	cmp    $0x8,%ecx
40dce4:	72 44                	jb     0x40dd2a
40dce6:	8b 95 20 fd ff ff    	mov    -0x2e0(%ebp),%edx
40dcec:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40dcf3:	8b c2                	mov    %edx,%eax
40dcf5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40dcfb:	72 14                	jb     0x40dd11
40dcfd:	8b 50 fc             	mov    -0x4(%eax),%edx
40dd00:	83 c1 23             	add    $0x23,%ecx
40dd03:	2b c2                	sub    %edx,%eax
40dd05:	83 c0 fc             	add    $0xfffffffc,%eax
40dd08:	83 f8 1f             	cmp    $0x1f,%eax
40dd0b:	0f 87 0d 13 00 00    	ja     0x40f01e
40dd11:	51                   	push   %ecx
40dd12:	52                   	push   %edx
40dd13:	e8 a0 be 00 00       	call   0x419bb8
40dd18:	0f 10 85 58 fd ff ff 	movups -0x2a8(%ebp),%xmm0
40dd1f:	83 c4 08             	add    $0x8,%esp
40dd22:	f3 0f 7e 8d 28 fa ff 	movq   -0x5d8(%ebp),%xmm1
40dd29:	ff
40dd2a:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40dd2e:	8b 8d ec fc ff ff    	mov    -0x314(%ebp),%ecx
40dd34:	66 0f d6 8d 30 fd ff 	movq   %xmm1,-0x2d0(%ebp)
40dd3b:	ff
40dd3c:	0f 11 85 20 fd ff ff 	movups %xmm0,-0x2e0(%ebp)
40dd43:	83 f9 08             	cmp    $0x8,%ecx
40dd46:	72 35                	jb     0x40dd7d
40dd48:	8b 95 d8 fc ff ff    	mov    -0x328(%ebp),%edx
40dd4e:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40dd55:	8b c2                	mov    %edx,%eax
40dd57:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx