407c41:	83 c4 10             	add    $0x10,%esp
407c44:	8b ce                	mov    %esi,%ecx
407c46:	e8 35 e0 ff ff       	call   0x405c80
407c4b:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
407c4f:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
407c54:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
407c58:	8d 50 04             	lea    0x4(%eax),%edx
407c5b:	8b cf                	mov    %edi,%ecx
407c5d:	72 02                	jb     0x407c61
407c5f:	8b 0f                	mov    (%edi),%ecx
407c61:	8b 02                	mov    (%edx),%eax
407c63:	51                   	push   %ecx
407c64:	68 70 04 4b 00       	push   $0x4b0470
407c69:	52                   	push   %edx
407c6a:	8b 70 14             	mov    0x14(%eax),%esi
407c6d:	8b ce                	mov    %esi,%ecx
407c6f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
407c75:	ff d6                	call   *%esi
407c77:	0f 57 c0             	xorps  %xmm0,%xmm0
407c7a:	66 0f 13 45 e8       	movlpd %xmm0,-0x18(%ebp)
407c7f:	68 c8 00 00 00       	push   $0xc8
407c84:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
407c8b:	e8 48 1d 06 00       	call   0x4699d8
407c90:	68 c8 00 00 00       	push   $0xc8
407c95:	8b f0                	mov    %eax,%esi
407c97:	6a 00                	push   $0x0
407c99:	56                   	push   %esi
407c9a:	89 75 98             	mov    %esi,-0x68(%ebp)
407c9d:	e8 0e 3f 06 00       	call   0x46bbb0
407ca2:	83 c4 1c             	add    $0x1c,%esp
407ca5:	8b ce                	mov    %esi,%ecx
407ca7:	e8 34 25 02 00       	call   0x42a1e0
407cac:	8b d8                	mov    %eax,%ebx
407cae:	89 5d e8             	mov    %ebx,-0x18(%ebp)
407cb1:	33 c0                	xor    %eax,%eax
407cb3:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
407cba:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
407cc1:	c7 45 e4 07 00 00 00 	movl   $0x7,-0x1c(%ebp)
407cc8:	66 89 45 d0          	mov    %ax,-0x30(%ebp)
407ccc:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
407cd0:	8b c7                	mov    %edi,%eax
407cd2:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
407cd6:	89 7d 98             	mov    %edi,-0x68(%ebp)
407cd9:	72 05                	jb     0x407ce0
407cdb:	8b 07                	mov    (%edi),%eax
407cdd:	89 45 98             	mov    %eax,-0x68(%ebp)
407ce0:	8b f0                	mov    %eax,%esi
407ce2:	8d 4e 02             	lea    0x2(%esi),%ecx
407ce5:	66 8b 06             	mov    (%esi),%ax
407ce8:	83 c6 02             	add    $0x2,%esi
407ceb:	66 85 c0             	test   %ax,%ax
407cee:	75 f5                	jne    0x407ce5
407cf0:	2b f1                	sub    %ecx,%esi
407cf2:	8b cb                	mov    %ebx,%ecx
407cf4:	d1 fe                	sar    $1,%esi
407cf6:	e8 f5 25 02 00       	call   0x42a2f0
407cfb:	8b cb                	mov    %ebx,%ecx
407cfd:	e8 6e 25 02 00       	call   0x42a270
407d02:	8b 13                	mov    (%ebx),%edx
407d04:	8d 43 04             	lea    0x4(%ebx),%eax
407d07:	50                   	push   %eax
407d08:	83 ec 10             	sub    $0x10,%esp
407d0b:	8d 04 36             	lea    (%esi,%esi,1),%eax
407d0e:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
407d14:	50                   	push   %eax
407d15:	ff 75 98             	push   -0x68(%ebp)
407d18:	52                   	push   %edx
407d19:	e8 e2 20 02 00       	call   0x429e00
407d1e:	83 c4 20             	add    $0x20,%esp
407d21:	83 bd 74 ff ff ff 00 	cmpl   $0x0,-0x8c(%ebp)
407d28:	0f 84 be 00 00 00    	je     0x407dec
407d2e:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
407d33:	85 c0                	test   %eax,%eax
407d35:	75 33                	jne    0x407d6a
407d37:	68 84 00 00 00       	push   $0x84
407d3c:	e8 97 1c 06 00       	call   0x4699d8
407d41:	8b f0                	mov    %eax,%esi
407d43:	89 75 98             	mov    %esi,-0x68(%ebp)
407d46:	68 84 00 00 00       	push   $0x84
407d4b:	6a 00                	push   $0x0
407d4d:	56                   	push   %esi
407d4e:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
407d52:	e8 59 3e 06 00       	call   0x46bbb0
407d57:	83 c4 10             	add    $0x10,%esp
407d5a:	8b ce                	mov    %esi,%ecx
407d5c:	e8 1f df ff ff       	call   0x405c80
407d61:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
407d65:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
407d6a:	8b 48 04             	mov    0x4(%eax),%ecx
407d6d:	83 c0 04             	add    $0x4,%eax
407d70:	68 e0 04 4b 00       	push   $0x4b04e0
407d75:	68 60 ea 4a 00       	push   $0x4aea60
407d7a:	50                   	push   %eax
407d7b:	8b 71 24             	mov    0x24(%ecx),%esi
407d7e:	8b ce                	mov    %esi,%ecx
407d80:	ff 15 d4 e2 49 00    	call   *0x49e2d4
407d86:	ff d6                	call   *%esi
407d88:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
407d8d:	83 c4 0c             	add    $0xc,%esp
407d90:	85 c0                	test   %eax,%eax
407d92:	75 33                	jne    0x407dc7
407d94:	68 84 00 00 00       	push   $0x84
407d99:	e8 3a 1c 06 00       	call   0x4699d8
407d9e:	8b f0                	mov    %eax,%esi
407da0:	89 75 98             	mov    %esi,-0x68(%ebp)
407da3:	68 84 00 00 00       	push   $0x84
407da8:	6a 00                	push   $0x0
407daa:	56                   	push   %esi
407dab:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
407daf:	e8 fc 3d 06 00       	call   0x46bbb0
407db4:	83 c4 10             	add    $0x10,%esp
407db7:	8b ce                	mov    %esi,%ecx
407db9:	e8 c2 de ff ff       	call   0x405c80
407dbe:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
407dc2:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
407dc7:	83 7f 14 08          	cmpl   $0x8,0x14(%edi)
407dcb:	8d 48 04             	lea    0x4(%eax),%ecx
407dce:	72 02                	jb     0x407dd2
407dd0:	8b 3f                	mov    (%edi),%edi
407dd2:	8b 01                	mov    (%ecx),%eax
407dd4:	57                   	push   %edi
407dd5:	68 5c 05 4b 00       	push   $0x4b055c
407dda:	51                   	push   %ecx
407ddb:	8b 30                	mov    (%eax),%esi
407ddd:	8b ce                	mov    %esi,%ecx
407ddf:	ff 15 d4 e2 49 00    	call   *0x49e2d4
407de5:	ff d6                	call   *%esi
407de7:	e9 1d 01 00 00       	jmp    0x407f09
407dec:	6a 12                	push   $0x12
407dee:	68 70 05 4b 00       	push   $0x4b0570
407df3:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
407df9:	c7 45 98 00 00 00 00 	movl   $0x0,-0x68(%ebp)
407e00:	c7 85 68 ff ff ff 00 	movl   $0x0,-0x98(%ebp)
407e07:	00 00 00
407e0a:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
407e11:	00 00 00
407e14:	c7 85 7c ff ff ff 00 	movl   $0x0,-0x84(%ebp)
407e1b:	00 00 00
407e1e:	e8 3d a2 ff ff       	call   0x402060
407e23:	8d 45 98             	lea    -0x68(%ebp),%eax
407e26:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
407e2a:	50                   	push   %eax
407e2b:	8d 45 d0             	lea    -0x30(%ebp),%eax
407e2e:	50                   	push   %eax
407e2f:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
407e35:	50                   	push   %eax
407e36:	8d 4d e8             	lea    -0x18(%ebp),%ecx
407e39:	e8 22 b0 00 00       	call   0x412e60
407e3e:	84 c0                	test   %al,%al
407e40:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
407e44:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
407e4a:	0f 94 c3             	sete   %bl
407e4d:	83 f9 08             	cmp    $0x8,%ecx
407e50:	72 35                	jb     0x407e87
407e52:	8b 95 68 ff ff ff    	mov    -0x98(%ebp),%edx
407e58:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407e5f:	8b c2                	mov    %edx,%eax
407e61:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407e67:	72 14                	jb     0x407e7d
407e69:	8b 50 fc             	mov    -0x4(%eax),%edx
407e6c:	83 c1 23             	add    $0x23,%ecx
407e6f:	2b c2                	sub    %edx,%eax
407e71:	83 c0 fc             	add    $0xfffffffc,%eax
407e74:	83 f8 1f             	cmp    $0x1f,%eax
407e77:	0f 87 54 05 00 00    	ja     0x4083d1
407e7d:	51                   	push   %ecx
407e7e:	52                   	push   %edx
407e7f:	e8 84 1b 06 00       	call   0x469a08
407e84:	83 c4 08             	add    $0x8,%esp
407e87:	33 c0                	xor    %eax,%eax
407e89:	c7 85 78 ff ff ff 00 	movl   $0x0,-0x88(%ebp)
407e90:	00 00 00
407e93:	c7 85 7c ff ff ff 07 	movl   $0x7,-0x84(%ebp)
407e9a:	00 00 00
407e9d:	66 89 85 68 ff ff ff 	mov    %ax,-0x98(%ebp)
407ea4:	84 db                	test   %bl,%bl
407ea6:	0f 84 10 01 00 00    	je     0x407fbc
407eac:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
407eb1:	85 c0                	test   %eax,%eax
407eb3:	75 33                	jne    0x407ee8
407eb5:	68 84 00 00 00       	push   $0x84
407eba:	e8 19 1b 06 00       	call   0x4699d8
407ebf:	8b f0                	mov    %eax,%esi
407ec1:	89 75 98             	mov    %esi,-0x68(%ebp)
407ec4:	68 84 00 00 00       	push   $0x84
407ec9:	6a 00                	push   $0x0
407ecb:	56                   	push   %esi
407ecc:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
407ed0:	e8 db 3c 06 00       	call   0x46bbb0
407ed5:	83 c4 10             	add    $0x10,%esp
407ed8:	8b ce                	mov    %esi,%ecx
407eda:	e8 a1 dd ff ff       	call   0x405c80
407edf:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
407ee3:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
407ee8:	8b 48 04             	mov    0x4(%eax),%ecx
407eeb:	83 c0 04             	add    $0x4,%eax
407eee:	68 98 05 4b 00       	push   $0x4b0598
407ef3:	68 60 ea 4a 00       	push   $0x4aea60
407ef8:	50                   	push   %eax
407ef9:	8b 71 24             	mov    0x24(%ecx),%esi
407efc:	8b ce                	mov    %esi,%ecx
407efe:	ff 15 d4 e2 49 00    	call   *0x49e2d4
407f04:	ff d6                	call   *%esi
407f06:	8b 5d e8             	mov    -0x18(%ebp),%ebx
407f09:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
407f0c:	83 c4 0c             	add    $0xc,%esp
407f0f:	83 f9 08             	cmp    $0x8,%ecx
407f12:	72 32                	jb     0x407f46
407f14:	8b 55 d0             	mov    -0x30(%ebp),%edx
407f17:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407f1e:	8b c2                	mov    %edx,%eax
407f20:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407f26:	72 14                	jb     0x407f3c
407f28:	8b 50 fc             	mov    -0x4(%eax),%edx
407f2b:	83 c1 23             	add    $0x23,%ecx
407f2e:	2b c2                	sub    %edx,%eax
407f30:	83 c0 fc             	add    $0xfffffffc,%eax
407f33:	83 f8 1f             	cmp    $0x1f,%eax
407f36:	0f 87 a9 04 00 00    	ja     0x4083e5
407f3c:	51                   	push   %ecx
407f3d:	52                   	push   %edx
407f3e:	e8 c5 1a 06 00       	call   0x469a08
407f43:	83 c4 08             	add    $0x8,%esp
407f46:	8b 75 ec             	mov    -0x14(%ebp),%esi
407f49:	85 f6                	test   %esi,%esi
407f4b:	74 15                	je     0x407f62
407f4d:	8b ce                	mov    %esi,%ecx
407f4f:	e8 9c 23 02 00       	call   0x42a2f0
407f54:	68 c8 00 00 00       	push   $0xc8
407f59:	56                   	push   %esi
407f5a:	e8 a9 1a 06 00       	call   0x469a08
407f5f:	83 c4 08             	add    $0x8,%esp
407f62:	85 db                	test   %ebx,%ebx
407f64:	74 15                	je     0x407f7b
407f66:	8b cb                	mov    %ebx,%ecx
407f68:	e8 83 23 02 00       	call   0x42a2f0
407f6d:	68 c8 00 00 00       	push   $0xc8
407f72:	53                   	push   %ebx
407f73:	e8 90 1a 06 00       	call   0x469a08
407f78:	83 c4 08             	add    $0x8,%esp
407f7b:	8b 4d 20             	mov    0x20(%ebp),%ecx
407f7e:	83 f9 08             	cmp    $0x8,%ecx
407f81:	72 32                	jb     0x407fb5
407f83:	8b 55 0c             	mov    0xc(%ebp),%edx
407f86:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407f8d:	8b c2                	mov    %edx,%eax
407f8f:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407f95:	72 14                	jb     0x407fab
407f97:	8b 50 fc             	mov    -0x4(%eax),%edx
407f9a:	83 c1 23             	add    $0x23,%ecx
407f9d:	2b c2                	sub    %edx,%eax
407f9f:	83 c0 fc             	add    $0xfffffffc,%eax
407fa2:	83 f8 1f             	cmp    $0x1f,%eax
407fa5:	0f 87 3a 04 00 00    	ja     0x4083e5
407fab:	51                   	push   %ecx
407fac:	52                   	push   %edx
407fad:	e8 56 1a 06 00       	call   0x469a08
407fb2:	83 c4 08             	add    $0x8,%esp
407fb5:	32 c0                	xor    %al,%al
407fb7:	e9 f7 03 00 00       	jmp    0x4083b3
407fbc:	83 7d e4 08          	cmpl   $0x8,-0x1c(%ebp)
407fc0:	8d 4d d0             	lea    -0x30(%ebp),%ecx
407fc3:	8b 5d d0             	mov    -0x30(%ebp),%ebx
407fc6:	8b 75 e0             	mov    -0x20(%ebp),%esi
407fc9:	0f 93 c2             	setae  %dl
407fcc:	0f 43 cb             	cmovae %ebx,%ecx
407fcf:	88 55 9f             	mov    %dl,-0x61(%ebp)
407fd2:	83 fe 0d             	cmp    $0xd,%esi
407fd5:	0f 85 f4 01 00 00    	jne    0x4081cf
407fdb:	8b fe                	mov    %esi,%edi
407fdd:	ba 0c 06 4b 00       	mov    $0x4b060c,%edx
407fe2:	85 ff                	test   %edi,%edi
407fe4:	74 21                	je     0x408007
407fe6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%eax,%eax,1)
407fed:	00 00 00
407ff0:	66 8b 01             	mov    (%ecx),%ax
407ff3:	66 3b 02             	cmp    (%edx),%ax
407ff6:	0f 85 d0 01 00 00    	jne    0x4081cc
407ffc:	83 c1 02             	add    $0x2,%ecx
407fff:	83 c2 02             	add    $0x2,%edx
408002:	83 ef 01             	sub    $0x1,%edi
408005:	75 e9                	jne    0x407ff0
408007:	a1 88 8c 4c 00       	mov    0x4c8c88,%eax
40800c:	85 c0                	test   %eax,%eax
40800e:	75 33                	jne    0x408043
408010:	68 84 00 00 00       	push   $0x84
408015:	e8 be 19 06 00       	call   0x4699d8
40801a:	8b f0                	mov    %eax,%esi
40801c:	89 75 98             	mov    %esi,-0x68(%ebp)
40801f:	68 84 00 00 00       	push   $0x84
408024:	6a 00                	push   $0x0
408026:	56                   	push   %esi
408027:	c6 45 fc 08          	movb   $0x8,-0x4(%ebp)
40802b:	e8 80 3b 06 00       	call   0x46bbb0
408030:	83 c4 10             	add    $0x10,%esp
408033:	8b ce                	mov    %esi,%ecx
408035:	e8 46 dc ff ff       	call   0x405c80
40803a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
40803e:	a3 88 8c 4c 00       	mov    %eax,0x4c8c88
408043:	8b 48 04             	mov    0x4(%eax),%ecx
408046:	83 c0 04             	add    $0x4,%eax
408049:	68 28 06 4b 00       	push   $0x4b0628
40804e:	50                   	push   %eax
40804f:	8b 71 14             	mov    0x14(%ecx),%esi
408052:	8b ce                	mov    %esi,%ecx
408054:	ff 15 d4 e2 49 00    	call   *0x49e2d4
40805a:	ff d6                	call   *%esi
40805c:	83 c4 08             	add    $0x8,%esp
40805f:	8d 45 e8             	lea    -0x18(%ebp),%eax
408062:	50                   	push   %eax
408063:	8d 45 a0             	lea    -0x60(%ebp),%eax
408066:	50                   	push   %eax
408067:	e8 94 03 00 00       	call   0x408400
40806c:	33 c0                	xor    %eax,%eax
40806e:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
408075:	c7 45 c8 00 00 00 00 	movl   $0x0,-0x38(%ebp)
40807c:	c7 45 cc 07 00 00 00 	movl   $0x7,-0x34(%ebp)
408083:	66 89 45 b8          	mov    %ax,-0x48(%ebp)
408087:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
40808b:	8d 4d 80             	lea    -0x80(%ebp),%ecx
40808e:	6a 1e                	push   $0x1e
408090:	68 ac 06 4b 00       	push   $0x4b06ac
408095:	89 45 98             	mov    %eax,-0x68(%ebp)
408098:	89 45 80             	mov    %eax,-0x80(%ebp)
40809b:	89 45 90             	mov    %eax,-0x70(%ebp)
40809e:	89 45 94             	mov    %eax,-0x6c(%ebp)
4080a1:	e8 ba 9f ff ff       	call   0x402060
4080a6:	8d 45 98             	lea    -0x68(%ebp),%eax
4080a9:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
4080ad:	50                   	push   %eax
4080ae:	8d 45 b8             	lea    -0x48(%ebp),%eax
4080b1:	50                   	push   %eax
4080b2:	8d 45 80             	lea    -0x80(%ebp),%eax
4080b5:	50                   	push   %eax
4080b6:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4080b9:	e8 a2 ad 00 00       	call   0x412e60
4080be:	c6 45 fc 0a          	movb   $0xa,-0x4(%ebp)
4080c2:	8b 4d 94             	mov    -0x6c(%ebp),%ecx
4080c5:	83 f9 08             	cmp    $0x8,%ecx
4080c8:	72 32                	jb     0x4080fc
4080ca:	8b 55 80             	mov    -0x80(%ebp),%edx
4080cd:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4080d4:	8b c2                	mov    %edx,%eax
4080d6:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4080dc:	72 14                	jb     0x4080f2
4080de:	8b 50 fc             	mov    -0x4(%eax),%edx
4080e1:	83 c1 23             	add    $0x23,%ecx
4080e4:	2b c2                	sub    %edx,%eax
4080e6:	83 c0 fc             	add    $0xfffffffc,%eax
4080e9:	83 f8 1f             	cmp    $0x1f,%eax