40885d:	00 00 00
408860:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
408864:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
40886a:	6a 1a                	push   $0x1a
40886c:	68 8c 09 4b 00       	push   $0x4b098c
408871:	c7 85 f8 fc ff ff 00 	movl   $0x0,-0x308(%ebp)
408878:	00 00 00
40887b:	c7 85 cc fd ff ff 00 	movl   $0x0,-0x234(%ebp)
408882:	00 00 00
408885:	c7 85 dc fd ff ff 00 	movl   $0x0,-0x224(%ebp)
40888c:	00 00 00
40888f:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
408896:	00 00 00
408899:	e8 c2 97 ff ff       	call   0x402060
40889e:	8d 85 f8 fc ff ff    	lea    -0x308(%ebp),%eax
4088a4:	c6 45 fc 0c          	movb   $0xc,-0x4(%ebp)
4088a8:	50                   	push   %eax
4088a9:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
4088af:	8b cf                	mov    %edi,%ecx
4088b1:	50                   	push   %eax
4088b2:	e8 69 a3 00 00       	call   0x412c20
4088b7:	85 c0                	test   %eax,%eax
4088b9:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4088bd:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
4088c3:	0f 95 c0             	setne  %al
4088c6:	88 85 ff fc ff ff    	mov    %al,-0x301(%ebp)
4088cc:	83 f9 08             	cmp    $0x8,%ecx
4088cf:	72 3b                	jb     0x40890c
4088d1:	8b 95 cc fd ff ff    	mov    -0x234(%ebp),%edx
4088d7:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4088de:	8b c2                	mov    %edx,%eax
4088e0:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4088e6:	72 14                	jb     0x4088fc
4088e8:	8b 50 fc             	mov    -0x4(%eax),%edx
4088eb:	83 c1 23             	add    $0x23,%ecx
4088ee:	2b c2                	sub    %edx,%eax
4088f0:	83 c0 fc             	add    $0xfffffffc,%eax
4088f3:	83 f8 1f             	cmp    $0x1f,%eax
4088f6:	0f 87 dd 11 00 00    	ja     0x409ad9
4088fc:	51                   	push   %ecx
4088fd:	52                   	push   %edx
4088fe:	e8 05 11 06 00       	call   0x469a08
408903:	8a 85 ff fc ff ff    	mov    -0x301(%ebp),%al
408909:	83 c4 08             	add    $0x8,%esp
40890c:	33 c9                	xor    %ecx,%ecx
40890e:	c7 85 dc fd ff ff 00 	movl   $0x0,-0x224(%ebp)
408915:	00 00 00
408918:	c7 85 e0 fd ff ff 07 	movl   $0x7,-0x220(%ebp)
40891f:	00 00 00
408922:	66 89 8d cc fd ff ff 	mov    %cx,-0x234(%ebp)
408929:	84 c0                	test   %al,%al
40892b:	0f 84 a0 03 00 00    	je     0x408cd1
408931:	0f 57 c0             	xorps  %xmm0,%xmm0
408934:	89 8d f8 fc ff ff    	mov    %ecx,-0x308(%ebp)
40893a:	66 0f d6 85 54 fd ff 	movq   %xmm0,-0x2ac(%ebp)
408941:	ff
408942:	89 8d 54 fd ff ff    	mov    %ecx,-0x2ac(%ebp)
408948:	89 8d 58 fd ff ff    	mov    %ecx,-0x2a8(%ebp)
40894e:	89 8d 5c fd ff ff    	mov    %ecx,-0x2a4(%ebp)
408954:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
408958:	6a 21                	push   $0x21
40895a:	89 8d ec fc ff ff    	mov    %ecx,-0x314(%ebp)
408960:	89 8d 90 fd ff ff    	mov    %ecx,-0x270(%ebp)
408966:	89 8d a0 fd ff ff    	mov    %ecx,-0x260(%ebp)
40896c:	89 8d a4 fd ff ff    	mov    %ecx,-0x25c(%ebp)
408972:	8d 8d 90 fd ff ff    	lea    -0x270(%ebp),%ecx
408978:	68 c8 09 4b 00       	push   $0x4b09c8
40897d:	e8 de 96 ff ff       	call   0x402060
408982:	8d 85 ec fc ff ff    	lea    -0x314(%ebp),%eax
408988:	c6 45 fc 0e          	movb   $0xe,-0x4(%ebp)
40898c:	50                   	push   %eax
40898d:	8d 85 f8 fc ff ff    	lea    -0x308(%ebp),%eax
408993:	8b cf                	mov    %edi,%ecx
408995:	50                   	push   %eax
408996:	8d 85 90 fd ff ff    	lea    -0x270(%ebp),%eax
40899c:	50                   	push   %eax
40899d:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
4089a3:	50                   	push   %eax
4089a4:	e8 f7 a2 00 00       	call   0x412ca0
4089a9:	50                   	push   %eax
4089aa:	8d 8d 54 fd ff ff    	lea    -0x2ac(%ebp),%ecx
4089b0:	e8 bb 1b 00 00       	call   0x40a570
4089b5:	8b 8d d8 fd ff ff    	mov    -0x228(%ebp),%ecx
4089bb:	85 c9                	test   %ecx,%ecx
4089bd:	74 58                	je     0x408a17
4089bf:	8b 85 e0 fd ff ff    	mov    -0x220(%ebp),%eax
4089c5:	2b c1                	sub    %ecx,%eax
4089c7:	c1 f8 02             	sar    $0x2,%eax
4089ca:	8d 14 85 00 00 00 00 	lea    0x0(,%eax,4),%edx
4089d1:	8b c1                	mov    %ecx,%eax
4089d3:	81 fa 00 10 00 00    	cmp    $0x1000,%edx
4089d9:	72 14                	jb     0x4089ef
4089db:	8b 48 fc             	mov    -0x4(%eax),%ecx
4089de:	83 c2 23             	add    $0x23,%edx
4089e1:	2b c1                	sub    %ecx,%eax
4089e3:	83 c0 fc             	add    $0xfffffffc,%eax
4089e6:	83 f8 1f             	cmp    $0x1f,%eax
4089e9:	0f 87 ef 10 00 00    	ja     0x409ade
4089ef:	52                   	push   %edx
4089f0:	51                   	push   %ecx
4089f1:	e8 12 10 06 00       	call   0x469a08
4089f6:	83 c4 08             	add    $0x8,%esp
4089f9:	c7 85 d8 fd ff ff 00 	movl   $0x0,-0x228(%ebp)
408a00:	00 00 00
408a03:	c7 85 dc fd ff ff 00 	movl   $0x0,-0x224(%ebp)
408a0a:	00 00 00
408a0d:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
408a14:	00 00 00
408a17:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
408a1b:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
408a21:	83 f9 08             	cmp    $0x8,%ecx
408a24:	72 35                	jb     0x408a5b
408a26:	8b 95 90 fd ff ff    	mov    -0x270(%ebp),%edx
408a2c:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
408a33:	8b c2                	mov    %edx,%eax
408a35:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408a3b:	72 14                	jb     0x408a51
408a3d:	8b 50 fc             	mov    -0x4(%eax),%edx
408a40:	83 c1 23             	add    $0x23,%ecx
408a43:	2b c2                	sub    %edx,%eax
408a45:	83 c0 fc             	add    $0xfffffffc,%eax
408a48:	83 f8 1f             	cmp    $0x1f,%eax
408a4b:	0f 87 8d 10 00 00    	ja     0x409ade
408a51:	51                   	push   %ecx
408a52:	52                   	push   %edx
408a53:	e8 b0 0f 06 00       	call   0x469a08
408a58:	83 c4 08             	add    $0x8,%esp
408a5b:	8b 8d 54 fd ff ff    	mov    -0x2ac(%ebp),%ecx
408a61:	33 ff                	xor    %edi,%edi
408a63:	39 bd f8 fc ff ff    	cmp    %edi,-0x308(%ebp)
408a69:	0f 8e 17 02 00 00    	jle    0x408c86
408a6f:	8b 85 58 fd ff ff    	mov    -0x2a8(%ebp),%eax
408a75:	2b c1                	sub    %ecx,%eax
408a77:	89 8d ec fc ff ff    	mov    %ecx,-0x314(%ebp)
408a7d:	c1 f8 02             	sar    $0x2,%eax
408a80:	89 85 f4 fc ff ff    	mov    %eax,-0x30c(%ebp)
408a86:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
408a8d:	00 00 00
408a90:	33 f6                	xor    %esi,%esi
408a92:	c7 85 cc fd ff ff 00 	movl   $0x0,-0x234(%ebp)
408a99:	00 00 00
408a9c:	ba 07 00 00 00       	mov    $0x7,%edx
408aa1:	89 b5 dc fd ff ff    	mov    %esi,-0x224(%ebp)
408aa7:	33 c0                	xor    %eax,%eax
408aa9:	89 95 e0 fd ff ff    	mov    %edx,-0x220(%ebp)
408aaf:	66 89 85 cc fd ff ff 	mov    %ax,-0x234(%ebp)
408ab6:	c6 45 fc 0f          	movb   $0xf,-0x4(%ebp)
408aba:	39 bd f4 fc ff ff    	cmp    %edi,-0x30c(%ebp)
408ac0:	76 56                	jbe    0x408b18
408ac2:	85 ff                	test   %edi,%edi
408ac4:	8b c1                	mov    %ecx,%eax
408ac6:	0f 4f 85 ec fc ff ff 	cmovg  -0x314(%ebp),%eax
408acd:	8b 00                	mov    (%eax),%eax
408acf:	85 c0                	test   %eax,%eax
408ad1:	74 45                	je     0x408b18
408ad3:	8d 8d e4 fd ff ff    	lea    -0x21c(%ebp),%ecx
408ad9:	89 85 e4 fd ff ff    	mov    %eax,-0x21c(%ebp)
408adf:	e8 ec 15 02 00       	call   0x42a0d0
408ae4:	8b d0                	mov    %eax,%edx
408ae6:	8b ca                	mov    %edx,%ecx
408ae8:	8d 71 02             	lea    0x2(%ecx),%esi
408aeb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
408af0:	66 8b 01             	mov    (%ecx),%ax
408af3:	83 c1 02             	add    $0x2,%ecx
408af6:	66 85 c0             	test   %ax,%ax
408af9:	75 f5                	jne    0x408af0
408afb:	2b ce                	sub    %esi,%ecx
408afd:	d1 f9                	sar    $1,%ecx
408aff:	51                   	push   %ecx
408b00:	52                   	push   %edx
408b01:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
408b07:	e8 f4 a2 ff ff       	call   0x402e00
408b0c:	8b 95 e0 fd ff ff    	mov    -0x220(%ebp),%edx
408b12:	8b b5 dc fd ff ff    	mov    -0x224(%ebp),%esi
408b18:	83 fa 08             	cmp    $0x8,%edx
408b1b:	8d 8d cc fd ff ff    	lea    -0x234(%ebp),%ecx
408b21:	6a 0b                	push   $0xb
408b23:	0f 43 8d cc fd ff ff 	cmovae -0x234(%ebp),%ecx
408b2a:	8b d6                	mov    %esi,%edx
408b2c:	68 0c 0a 4b 00       	push   $0x4b0a0c
408b31:	6a 00                	push   $0x0
408b33:	0f 93 85 ff fc ff ff 	setae  -0x301(%ebp)
408b3a:	e8 81 1b 00 00       	call   0x40a6c0
408b3f:	83 c4 0c             	add    $0xc,%esp
408b42:	85 c0                	test   %eax,%eax
408b44:	0f 8e aa 00 00 00    	jle    0x408bf4
408b4a:	8d 50 0c             	lea    0xc(%eax),%edx
408b4d:	c7 85 90 fd ff ff 00 	movl   $0x0,-0x270(%ebp)
408b54:	00 00 00
408b57:	c7 85 a0 fd ff ff 00 	movl   $0x0,-0x260(%ebp)
408b5e:	00 00 00
408b61:	c7 85 a4 fd ff ff 00 	movl   $0x0,-0x25c(%ebp)
408b68:	00 00 00
408b6b:	3b f2                	cmp    %edx,%esi
408b6d:	0f 82 70 0f 00 00    	jb     0x409ae3
408b73:	2b f2                	sub    %edx,%esi
408b75:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
408b7b:	83 c9 ff             	or     $0xffffffff,%ecx
408b7e:	83 fe ff             	cmp    $0xffffffff,%esi
408b81:	0f 42 ce             	cmovb  %esi,%ecx
408b84:	80 bd ff fc ff ff 00 	cmpb   $0x0,-0x301(%ebp)
408b8b:	51                   	push   %ecx
408b8c:	0f 45 85 cc fd ff ff 	cmovne -0x234(%ebp),%eax
408b93:	8d 8d 90 fd ff ff    	lea    -0x270(%ebp),%ecx
408b99:	8d 04 50             	lea    (%eax,%edx,2),%eax
408b9c:	50                   	push   %eax
408b9d:	e8 be 94 ff ff       	call   0x402060
408ba2:	8d 85 90 fd ff ff    	lea    -0x270(%ebp),%eax
408ba8:	50                   	push   %eax
408ba9:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
408baf:	e8 3c a1 ff ff       	call   0x402cf0
408bb4:	8b 8d a4 fd ff ff    	mov    -0x25c(%ebp),%ecx
408bba:	83 f9 08             	cmp    $0x8,%ecx
408bbd:	72 35                	jb     0x408bf4
408bbf:	8b 95 90 fd ff ff    	mov    -0x270(%ebp),%edx
408bc5:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
408bcc:	8b c2                	mov    %edx,%eax
408bce:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408bd4:	72 14                	jb     0x408bea
408bd6:	8b 50 fc             	mov    -0x4(%eax),%edx
408bd9:	83 c1 23             	add    $0x23,%ecx
408bdc:	2b c2                	sub    %edx,%eax
408bde:	83 c0 fc             	add    $0xfffffffc,%eax
408be1:	83 f8 1f             	cmp    $0x1f,%eax
408be4:	0f 87 e0 0e 00 00    	ja     0x409aca
408bea:	51                   	push   %ecx
408beb:	52                   	push   %edx
408bec:	e8 17 0e 06 00       	call   0x469a08
408bf1:	83 c4 08             	add    $0x8,%esp
408bf4:	8b 8d ac fd ff ff    	mov    -0x254(%ebp),%ecx
408bfa:	8d 85 cc fd ff ff    	lea    -0x234(%ebp),%eax
408c00:	50                   	push   %eax
408c01:	3b 8d b0 fd ff ff    	cmp    -0x250(%ebp),%ecx
408c07:	74 0e                	je     0x408c17
408c09:	e8 62 a9 ff ff       	call   0x403570
408c0e:	83 85 ac fd ff ff 18 	addl   $0x18,-0x254(%ebp)
408c15:	eb 11                	jmp    0x408c28
408c17:	ff b5 ac fd ff ff    	push   -0x254(%ebp)
408c1d:	8d 8d a8 fd ff ff    	lea    -0x258(%ebp),%ecx
408c23:	e8 58 a7 ff ff       	call   0x403380
408c28:	c6 45 fc 0d          	movb   $0xd,-0x4(%ebp)
408c2c:	8b 8d e0 fd ff ff    	mov    -0x220(%ebp),%ecx
408c32:	83 f9 08             	cmp    $0x8,%ecx
408c35:	72 35                	jb     0x408c6c
408c37:	8b 95 cc fd ff ff    	mov    -0x234(%ebp),%edx
408c3d:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
408c44:	8b c2                	mov    %edx,%eax
408c46:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408c4c:	72 14                	jb     0x408c62
408c4e:	8b 50 fc             	mov    -0x4(%eax),%edx
408c51:	83 c1 23             	add    $0x23,%ecx
408c54:	2b c2                	sub    %edx,%eax
408c56:	83 c0 fc             	add    $0xfffffffc,%eax
408c59:	83 f8 1f             	cmp    $0x1f,%eax
408c5c:	0f 87 68 0e 00 00    	ja     0x409aca
408c62:	51                   	push   %ecx
408c63:	52                   	push   %edx
408c64:	e8 9f 0d 06 00       	call   0x469a08
408c69:	83 c4 08             	add    $0x8,%esp
408c6c:	83 85 ec fc ff ff 04 	addl   $0x4,-0x314(%ebp)
408c73:	47                   	inc    %edi
408c74:	8b 8d 54 fd ff ff    	mov    -0x2ac(%ebp),%ecx
408c7a:	3b bd f8 fc ff ff    	cmp    -0x308(%ebp),%edi
408c80:	0f 8c 0a fe ff ff    	jl     0x408a90
408c86:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
408c8a:	85 c9                	test   %ecx,%ecx
408c8c:	0f 84 9a 00 00 00    	je     0x408d2c
408c92:	8b 85 5c fd ff ff    	mov    -0x2a4(%ebp),%eax
408c98:	8b 95 54 fd ff ff    	mov    -0x2ac(%ebp),%edx
408c9e:	2b c1                	sub    %ecx,%eax
408ca0:	c1 f8 02             	sar    $0x2,%eax
408ca3:	8d 0c 85 00 00 00 00 	lea    0x0(,%eax,4),%ecx
408caa:	8b c2                	mov    %edx,%eax
408cac:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408cb2:	72 14                	jb     0x408cc8
408cb4:	8b 50 fc             	mov    -0x4(%eax),%edx
408cb7:	83 c1 23             	add    $0x23,%ecx
408cba:	2b c2                	sub    %edx,%eax
408cbc:	83 c0 fc             	add    $0xfffffffc,%eax
408cbf:	83 f8 1f             	cmp    $0x1f,%eax
408cc2:	0f 87 25 0e 00 00    	ja     0x409aed
408cc8:	51                   	push   %ecx
408cc9:	52                   	push   %edx
408cca:	e8 39 0d 06 00       	call   0x469a08
408ccf:	eb 58                	jmp    0x408d29
408cd1:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
408cd6:	85 c0                	test   %eax,%eax
408cd8:	75 36                	jne    0x408d10
408cda:	68 84 00 00 00       	push   $0x84
408cdf:	e8 f4 0c 06 00       	call   0x4699d8
408ce4:	8b f0                	mov    %eax,%esi
408ce6:	89 b5 e4 fd ff ff    	mov    %esi,-0x21c(%ebp)
408cec:	68 84 00 00 00       	push   $0x84
408cf1:	6a 00                	push   $0x0
408cf3:	56                   	push   %esi
408cf4:	c6 45 fc 10          	movb   $0x10,-0x4(%ebp)
408cf8:	e8 b3 2e 06 00       	call   0x46bbb0
408cfd:	83 c4 10             	add    $0x10,%esp
408d00:	8b ce                	mov    %esi,%ecx
408d02:	e8 79 cf ff ff       	call   0x405c80
408d07:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
408d0b:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
408d10:	8b 48 04             	mov    0x4(%eax),%ecx
408d13:	83 c0 04             	add    $0x4,%eax
408d16:	68 24 0a 4b 00       	push   $0x4b0a24
408d1b:	50                   	push   %eax
408d1c:	8b 71 14             	mov    0x14(%ecx),%esi
408d1f:	8b ce                	mov    %esi,%ecx
408d21:	ff 15 d4 e2 49 00    	call   *0x49e2d4
408d27:	ff d6                	call   *%esi
408d29:	83 c4 08             	add    $0x8,%esp
408d2c:	8b bd 8c fd ff ff    	mov    -0x274(%ebp),%edi
408d32:	8d 8d 78 fd ff ff    	lea    -0x288(%ebp),%ecx
408d38:	8b b5 78 fd ff ff    	mov    -0x288(%ebp),%esi
408d3e:	83 ff 08             	cmp    $0x8,%edi
408d41:	8b 95 88 fd ff ff    	mov    -0x278(%ebp),%edx
408d47:	6a 03                	push   $0x3
408d49:	0f 43 ce             	cmovae %esi,%ecx
408d4c:	0f 93 85 ff fc ff ff 	setae  -0x301(%ebp)
408d53:	68 ec 06 4b 00       	push   $0x4b06ec
408d58:	e8 c3 ae ff ff       	call   0x403c20
408d5d:	83 c4 08             	add    $0x8,%esp
408d60:	85 c0                	test   %eax,%eax
408d62:	0f 85 ec 04 00 00    	jne    0x409254
408d68:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
408d6e:	50                   	push   %eax
408d6f:	e8 4c d3 ff ff       	call   0x4060c0
408d74:	84 c0                	test   %al,%al
408d76:	0f 85 2c 02 00 00    	jne    0x408fa8
408d7c:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
408d81:	85 c0                	test   %eax,%eax
408d83:	75 36                	jne    0x408dbb
408d85:	68 84 00 00 00       	push   $0x84
408d8a:	e8 49 0c 06 00       	call   0x4699d8
408d8f:	8b f0                	mov    %eax,%esi
408d91:	89 b5 e4 fd ff ff    	mov    %esi,-0x21c(%ebp)
408d97:	68 84 00 00 00       	push   $0x84
408d9c:	6a 00                	push   $0x0
408d9e:	56                   	push   %esi
408d9f:	c6 45 fc 11          	movb   $0x11,-0x4(%ebp)
408da3:	e8 08 2e 06 00       	call   0x46bbb0
408da8:	83 c4 10             	add    $0x10,%esp
408dab:	8b ce                	mov    %esi,%ecx
408dad:	e8 ce ce ff ff       	call   0x405c80
408db2:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
408db6:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
408dbb:	8b 48 04             	mov    0x4(%eax),%ecx
408dbe:	83 c0 04             	add    $0x4,%eax
408dc1:	68 58 0a 4b 00       	push   $0x4b0a58
408dc6:	68 60 ea 4a 00       	push   $0x4aea60