402aac:	ff 75 f8             	push   -0x8(%ebp)
402aaf:	ff 15 18 82 40 00    	call   *0x408218
402ab5:	39 5d d8             	cmp    %ebx,-0x28(%ebp)
402ab8:	74 0b                	je     0x402ac5
402aba:	53                   	push   %ebx
402abb:	53                   	push   %ebx
402abc:	ff 75 f8             	push   -0x8(%ebp)
402abf:	ff 15 14 82 40 00    	call   *0x408214
402ac5:	8b 45 fc             	mov    -0x4(%ebp),%eax
402ac8:	01 05 e8 a2 42 00    	add    %eax,0x42a2e8
402ace:	33 c0                	xor    %eax,%eax
402ad0:	5f                   	pop    %edi
402ad1:	5e                   	pop    %esi
402ad2:	5b                   	pop    %ebx
402ad3:	c9                   	leave
402ad4:	c2 04 00             	ret    $0x4
402ad7:	d0 2a                	shrb   $1,(%edx)
402ad9:	40                   	inc    %eax
402ada:	00 91 14 40 00 9d    	add    %dl,-0x62ffbfec(%ecx)
402ae0:	14 40                	adc    $0x40,%al
402ae2:	00 b8 14 40 00 cb    	add    %bh,-0x34ffbfec(%eax)
402ae8:	14 40                	adc    $0x40,%al
402aea:	00 d7                	add    %dl,%bh
402aec:	14 40                	adc    $0x40,%al
402aee:	00 f5                	add    %dh,%ch
402af0:	14 40                	adc    $0x40,%al
402af2:	00 73 15             	add    %dh,0x15(%ebx)
402af5:	40                   	inc    %eax
402af6:	00 a3 15 40 00 c1    	add    %ah,-0x3effbfeb(%ebx)
402afc:	15 40 00 6a 16       	adc    $0x166a0040,%eax
402b01:	40                   	inc    %eax
402b02:	00 03                	add    %al,(%ebx)
402b04:	15 40 00 42 15       	adc    $0x15420040,%eax
402b09:	40                   	inc    %eax
402b0a:	00 63 15             	add    %ah,0x15(%ebx)
402b0d:	40                   	inc    %eax
402b0e:	00 7b 16             	add    %bh,0x16(%ebx)
402b11:	40                   	inc    %eax
402b12:	00 cc                	add    %cl,%ah
402b14:	16                   	push   %ss
402b15:	40                   	inc    %eax
402b16:	00 35 17 40 00 5c    	add    %dh,0x5c004017
402b1c:	17                   	pop    %ss
402b1d:	40                   	inc    %eax
402b1e:	00 6f 17             	add    %ch,0x17(%edi)
402b21:	40                   	inc    %eax
402b22:	00 0c 19             	add    %cl,(%ecx,%ebx,1)
402b25:	40                   	inc    %eax
402b26:	00 0f                	add    %cl,(%edi)
402b28:	19 40 00             	sbb    %eax,0x0(%eax)
402b2b:	41                   	inc    %ecx
402b2c:	19 40 00             	sbb    %eax,0x0(%eax)
402b2f:	56                   	push   %esi
402b30:	19 40 00             	sbb    %eax,0x0(%eax)
402b33:	68 19 40 00 ff       	push   $0xff004019
402b38:	19 40 00             	sbb    %eax,0x0(%eax)
402b3b:	30 1a                	xor    %bl,(%edx)
402b3d:	40                   	inc    %eax
402b3e:	00 72 1a             	add    %dh,0x1a(%edx)
402b41:	40                   	inc    %eax
402b42:	00 b2 1a 40 00 53    	add    %dh,0x5300401a(%edx)
402b48:	1b 40 00             	sbb    0x0(%eax),%eax
402b4b:	77 1b                	ja     0x402b68
402b4d:	40                   	inc    %eax
402b4e:	00 1f                	add    %bl,(%edi)
402b50:	1c 40                	sbb    $0x40,%al
402b52:	00 1f                	add    %bl,(%edi)
402b54:	1c 40                	sbb    $0x40,%al
402b56:	00 f3                	add    %dh,%bl
402b58:	1c 40                	sbb    $0x40,%al
402b5a:	00 14 1d 40 00 39 1d 	add    %dl,0x1d390040(,%ebx,1)
402b61:	40                   	inc    %eax
402b62:	00 5d 1d             	add    %bl,0x1d(%ebp)
402b65:	40                   	inc    %eax
402b66:	00 b9 1d 40 00 49    	add    %bh,0x4900401d(%ecx)
402b6c:	1e                   	push   %ds
402b6d:	40                   	inc    %eax
402b6e:	00 7d 1e             	add    %bh,0x1e(%ebp)
402b71:	40                   	inc    %eax
402b72:	00 06                	add    %al,(%esi)
402b74:	1f                   	pop    %ds
402b75:	40                   	inc    %eax
402b76:	00 58 1f             	add    %bl,0x1f(%eax)
402b79:	40                   	inc    %eax
402b7a:	00 8c 1f 40 00 31 20 	add    %cl,0x20310040(%edi,%ebx,1)
402b81:	40                   	inc    %eax
402b82:	00 04 21             	add    %al,(%ecx,%eiz,1)
402b85:	40                   	inc    %eax
402b86:	00 59 22             	add    %bl,0x22(%ecx)
402b89:	40                   	inc    %eax
402b8a:	00 dd                	add    %bl,%ch
402b8c:	22 40 00             	and    0x0(%eax),%al
402b8f:	0c 23                	or     $0x23,%al
402b91:	40                   	inc    %eax
402b92:	00 4e 23             	add    %cl,0x23(%esi)
402b95:	40                   	inc    %eax
402b96:	00 8e 23 40 00 e4    	add    %cl,-0x1bffbfdd(%esi)
402b9c:	23 40 00             	and    0x0(%eax),%eax
402b9f:	84 24 40             	test   %ah,(%eax,%eax,2)
402ba2:	00 f8                	add    %bh,%al
402ba4:	24 40                	and    $0x40,%al
402ba6:	00 62 25             	add    %ah,0x25(%edx)
402ba9:	40                   	inc    %eax
402baa:	00 76 25             	add    %dh,0x25(%esi)
402bad:	40                   	inc    %eax
402bae:	00 98 25 40 00 4a    	add    %bl,0x4a004025(%eax)
402bb4:	26 40                	es inc %eax
402bb6:	00 ed                	add    %ch,%ch
402bb8:	27                   	daa
402bb9:	40                   	inc    %eax
402bba:	00 21                	add    %ah,(%ecx)
402bbc:	28 40 00             	sub    %al,0x0(%eax)
402bbf:	3b 28                	cmp    (%eax),%ebp
402bc1:	40                   	inc    %eax
402bc2:	00 68 28             	add    %ch,0x28(%eax)
402bc5:	40                   	inc    %eax
402bc6:	00 ad 28 40 00 a8    	add    %ch,-0x57ffbfd8(%ebp)
402bcc:	29 40 00             	sub    %eax,0x0(%eax)
402bcf:	35 2a 40 00 c5       	xor    $0xc500402a,%eax
402bd4:	2a 40 00             	sub    0x0(%eax),%al
402bd7:	c5 2a                	lds    (%edx),%ebp
402bd9:	40                   	inc    %eax
402bda:	00 a0 2a 40 00 98    	add    %ah,-0x67ffbfd6(%eax)
402be0:	25 40 00 4a 26       	and    $0x264a0040,%eax
402be5:	40                   	inc    %eax
402be6:	00 de                	add    %bl,%dh
402be8:	1a 40 00             	sbb    0x0(%eax),%al
402beb:	e2 1a                	loop   0x402c07
402bed:	40                   	inc    %eax
402bee:	00 e6                	add    %ah,%dh
402bf0:	1a 40 00             	sbb    0x0(%eax),%al
402bf3:	eb 1a                	jmp    0x402c0f
402bf5:	40                   	inc    %eax
402bf6:	00 f8                	add    %bh,%al
402bf8:	1a 40 00             	sbb    0x0(%eax),%al
402bfb:	fc                   	cld
402bfc:	1a 40 00             	sbb    0x0(%eax),%al
402bff:	00 1b                	add    %bl,(%ebx)
402c01:	40                   	inc    %eax
402c02:	00 06                	add    %al,(%esi)
402c04:	1b 40 00             	sbb    0x0(%eax),%eax
402c07:	0f 1b 40 00          	bndstx %bnd0,0x0(%eax)
402c0b:	19 1b                	sbb    %ebx,(%ebx)
402c0d:	40                   	inc    %eax
402c0e:	00 26                	add    %ah,(%esi)
402c10:	1b 40 00             	sbb    0x0(%eax),%eax
402c13:	3e 1b 40 00          	sbb    %ds:0x0(%eax),%eax
402c17:	42                   	inc    %edx
402c18:	1b 40 00             	sbb    0x0(%eax),%eax
402c1b:	46                   	inc    %esi
402c1c:	1b 40 00             	sbb    0x0(%eax),%eax
402c1f:	8b 44 24 04          	mov    0x4(%esp),%eax
402c23:	8b 0d 34 ce 40 00    	mov    0x40ce34,%ecx
402c29:	56                   	push   %esi
402c2a:	ff 34 81             	push   (%ecx,%eax,4)
402c2d:	6a 00                	push   $0x0
402c2f:	e8 d6 37 00 00       	call   0x40640a
402c34:	8b f0                	mov    %eax,%esi
402c36:	56                   	push   %esi
402c37:	e8 0c 37 00 00       	call   0x406348
402c3c:	0f b7 16             	movzwl (%esi),%edx
402c3f:	5e                   	pop    %esi
402c40:	c3                   	ret
402c41:	56                   	push   %esi
402c42:	8b 74 24 08          	mov    0x8(%esp),%esi
402c46:	85 f6                	test   %esi,%esi
402c48:	57                   	push   %edi
402c49:	8b c6                	mov    %esi,%eax
402c4b:	7d 02                	jge    0x402c4f
402c4d:	f7 d8                	neg    %eax
402c4f:	8b 15 34 ce 40 00    	mov    0x40ce34,%edx
402c55:	8b c8                	mov    %eax,%ecx
402c57:	83 e1 0f             	and    $0xf,%ecx
402c5a:	c1 f8 04             	sar    $0x4,%eax
402c5d:	ff 34 8a             	push   (%edx,%ecx,4)
402c60:	c1 e0 0b             	shl    $0xb,%eax
402c63:	05 d8 a5 40 00       	add    $0x40a5d8,%eax
402c68:	50                   	push   %eax
402c69:	e8 9c 37 00 00       	call   0x40640a
402c6e:	85 f6                	test   %esi,%esi
402c70:	8b f8                	mov    %eax,%edi
402c72:	7d 06                	jge    0x402c7a
402c74:	57                   	push   %edi
402c75:	e8 02 3a 00 00       	call   0x40667c
402c7a:	8b c7                	mov    %edi,%eax
402c7c:	5f                   	pop    %edi
402c7d:	5e                   	pop    %esi
402c7e:	c2 04 00             	ret    $0x4
402c81:	55                   	push   %ebp
402c82:	8b ec                	mov    %esp,%ebp
402c84:	8d 45 08             	lea    0x8(%ebp),%eax
402c87:	50                   	push   %eax
402c88:	8b 45 08             	mov    0x8(%ebp),%eax
402c8b:	0d 20 00 10 00       	or     $0x100020,%eax
402c90:	50                   	push   %eax
402c91:	6a 22                	push   $0x22
402c93:	e8 a9 ff ff ff       	call   0x402c41
402c98:	50                   	push   %eax
402c99:	a1 34 ce 40 00       	mov    0x40ce34,%eax
402c9e:	ff 70 04             	push   0x4(%eax)
402ca1:	e8 13 00 00 00       	call   0x402cb9
402ca6:	50                   	push   %eax
402ca7:	e8 a9 35 00 00       	call   0x406255
402cac:	f7 d8                	neg    %eax
402cae:	1b c0                	sbb    %eax,%eax
402cb0:	f7 d0                	not    %eax
402cb2:	23 45 08             	and    0x8(%ebp),%eax
402cb5:	5d                   	pop    %ebp
402cb6:	c2 04 00             	ret    $0x4
402cb9:	8b 44 24 04          	mov    0x4(%esp),%eax
402cbd:	85 c0                	test   %eax,%eax
402cbf:	7c 0d                	jl     0x402cce
402cc1:	8b 0d e4 a2 42 00    	mov    0x42a2e4,%ecx
402cc7:	8d 84 01 01 00 00 80 	lea    -0x7fffffff(%ecx,%eax,1),%eax
402cce:	c2 04 00             	ret    $0x4
402cd1:	55                   	push   %ebp
402cd2:	8b ec                	mov    %esp,%ebp
402cd4:	8d 45 10             	lea    0x10(%ebp),%eax
402cd7:	50                   	push   %eax
402cd8:	8b 45 10             	mov    0x10(%ebp),%eax
402cdb:	0d 20 00 10 00       	or     $0x100020,%eax
402ce0:	50                   	push   %eax
402ce1:	ff 75 0c             	push   0xc(%ebp)
402ce4:	ff 75 08             	push   0x8(%ebp)
402ce7:	e8 cd ff ff ff       	call   0x402cb9
402cec:	50                   	push   %eax
402ced:	e8 91 35 00 00       	call   0x406283
402cf2:	f7 d8                	neg    %eax
402cf4:	1b c0                	sbb    %eax,%eax
402cf6:	f7 d0                	not    %eax
402cf8:	23 45 10             	and    0x10(%ebp),%eax
402cfb:	5d                   	pop    %ebp
402cfc:	c2 0c 00             	ret    $0xc
402cff:	55                   	push   %ebp
402d00:	8b ec                	mov    %esp,%ebp
402d02:	56                   	push   %esi
402d03:	8b 75 0c             	mov    0xc(%ebp),%esi
402d06:	66 83 3e 00          	cmpw   $0x0,(%esi)
402d0a:	75 07                	jne    0x402d13
402d0c:	b8 eb 03 00 00       	mov    $0x3eb,%eax
402d11:	eb 2c                	jmp    0x402d3f
402d13:	81 4d 10 20 00 10 00 	orl    $0x100020,0x10(%ebp)
402d1a:	8d 45 10             	lea    0x10(%ebp),%eax
402d1d:	50                   	push   %eax
402d1e:	ff 75 08             	push   0x8(%ebp)
402d21:	e8 93 ff ff ff       	call   0x402cb9
402d26:	50                   	push   %eax
402d27:	e8 ae 34 00 00       	call   0x4061da
402d2c:	85 c0                	test   %eax,%eax
402d2e:	74 0c                	je     0x402d3c
402d30:	ff 75 10             	push   0x10(%ebp)
402d33:	56                   	push   %esi
402d34:	50                   	push   %eax
402d35:	e8 0a 00 00 00       	call   0x402d44
402d3a:	eb 03                	jmp    0x402d3f
402d3c:	6a 06                	push   $0x6
402d3e:	58                   	pop    %eax
402d3f:	5e                   	pop    %esi
402d40:	5d                   	pop    %ebp
402d41:	c2 0c 00             	ret    $0xc
402d44:	55                   	push   %ebp
402d45:	8b ec                	mov    %esp,%ebp
402d47:	81 ec 10 02 00 00    	sub    $0x210,%esp
402d4d:	53                   	push   %ebx
402d4e:	56                   	push   %esi
402d4f:	8b 75 10             	mov    0x10(%ebp),%esi
402d52:	57                   	push   %edi
402d53:	8b fe                	mov    %esi,%edi
402d55:	8d 45 fc             	lea    -0x4(%ebp),%eax
402d58:	81 e6 00 03 00 00    	and    $0x300,%esi
402d5e:	50                   	push   %eax
402d5f:	8b c6                	mov    %esi,%eax
402d61:	83 e7 01             	and    $0x1,%edi
402d64:	0c 08                	or     $0x8,%al
402d66:	50                   	push   %eax
402d67:	ff 75 0c             	push   0xc(%ebp)
402d6a:	ff 75 08             	push   0x8(%ebp)
402d6d:	e8 e3 34 00 00       	call   0x406255
402d72:	85 c0                	test   %eax,%eax
402d74:	75 76                	jne    0x402dec
402d76:	8b 1d 30 80 40 00    	mov    0x408030,%ebx
402d7c:	eb 1a                	jmp    0x402d98
402d7e:	85 ff                	test   %edi,%edi
402d80:	75 4e                	jne    0x402dd0
402d82:	ff 75 10             	push   0x10(%ebp)
402d85:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
402d8b:	50                   	push   %eax
402d8c:	ff 75 fc             	push   -0x4(%ebp)
402d8f:	e8 b0 ff ff ff       	call   0x402d44
402d94:	85 c0                	test   %eax,%eax
402d96:	75 17                	jne    0x402daf
402d98:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
402d9e:	68 05 01 00 00       	push   $0x105
402da3:	50                   	push   %eax
402da4:	6a 00                	push   $0x0
402da6:	ff 75 fc             	push   -0x4(%ebp)
402da9:	ff d3                	call   *%ebx
402dab:	85 c0                	test   %eax,%eax
402dad:	74 cf                	je     0x402d7e
402daf:	ff 75 fc             	push   -0x4(%ebp)
402db2:	ff 15 24 80 40 00    	call   *0x408024
402db8:	6a 03                	push   $0x3
402dba:	e8 03 3a 00 00       	call   0x4067c2
402dbf:	85 c0                	test   %eax,%eax
402dc1:	74 1d                	je     0x402de0
402dc3:	6a 00                	push   $0x0
402dc5:	56                   	push   %esi
402dc6:	ff 75 0c             	push   0xc(%ebp)
402dc9:	ff 75 08             	push   0x8(%ebp)
402dcc:	ff d0                	call   *%eax
402dce:	eb 1c                	jmp    0x402dec
402dd0:	ff 75 fc             	push   -0x4(%ebp)
402dd3:	ff 15 24 80 40 00    	call   *0x408024
402dd9:	b8 eb 03 00 00       	mov    $0x3eb,%eax
402dde:	eb 0c                	jmp    0x402dec
402de0:	ff 75 0c             	push   0xc(%ebp)
402de3:	ff 75 08             	push   0x8(%ebp)
402de6:	ff 15 1c 80 40 00    	call   *0x40801c
402dec:	5f                   	pop    %edi
402ded:	5e                   	pop    %esi
402dee:	5b                   	pop    %ebx
402def:	c9                   	leave
402df0:	c2 0c 00             	ret    $0xc
402df3:	55                   	push   %ebp
402df4:	8b ec                	mov    %esp,%ebp
402df6:	81 ec 80 00 00 00    	sub    $0x80,%esp
402dfc:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
402e03:	75 19                	jne    0x402e1e
402e05:	6a 00                	push   $0x0
402e07:	68 fa 00 00 00       	push   $0xfa
402e0c:	6a 01                	push   $0x1
402e0e:	ff 75 08             	push   0x8(%ebp)
402e11:	ff 15 58 82 40 00    	call   *0x408258
402e17:	c7 45 0c 13 01 00 00 	movl   $0x113,0xc(%ebp)
402e1e:	81 7d 0c 13 01 00 00 	cmpl   $0x113,0xc(%ebp)
402e25:	75 45                	jne    0x402e6c
402e27:	e8 46 00 00 00       	call   0x402e72
402e2c:	83 3d 54 a2 42 00 00 	cmpl   $0x0,0x42a254
402e33:	b9 54 a0 40 00       	mov    $0x40a054,%ecx
402e38:	75 05                	jne    0x402e3f
402e3a:	b9 20 a0 40 00       	mov    $0x40a020,%ecx
402e3f:	50                   	push   %eax
402e40:	8d 45 80             	lea    -0x80(%ebp),%eax
402e43:	51                   	push   %ecx
402e44:	50                   	push   %eax
402e45:	ff 15 90 82 40 00    	call   *0x408290
402e4b:	83 c4 0c             	add    $0xc,%esp
402e4e:	8d 45 80             	lea    -0x80(%ebp),%eax
402e51:	50                   	push   %eax
402e52:	ff 75 08             	push   0x8(%ebp)