402a47:	1c 40                	sbb    $0x40,%al
402a49:	00 da                	add    %bl,%dl
402a4b:	1c 40                	sbb    $0x40,%al
402a4d:	00 fb                	add    %bh,%bl
402a4f:	1c 40                	sbb    $0x40,%al
402a51:	00 20                	add    %ah,(%eax)
402a53:	1d 40 00 41 1d       	sbb    $0x1d410040,%eax
402a58:	40                   	inc    %eax
402a59:	00 ff                	add    %bh,%bh
402a5b:	1d 40 00 8f 1e       	sbb    $0x1e8f0040,%eax
402a60:	40                   	inc    %eax
402a61:	00 c3                	add    %al,%bl
402a63:	1e                   	push   %ds
402a64:	40                   	inc    %eax
402a65:	00 48 1f             	add    %cl,0x1f(%eax)
402a68:	40                   	inc    %eax
402a69:	00 98 1f 40 00 c8    	add    %bl,-0x37ffbfe1(%eax)
402a6f:	1f                   	pop    %ds
402a70:	40                   	inc    %eax
402a71:	00 69 20             	add    %ch,0x20(%ecx)
402a74:	40                   	inc    %eax
402a75:	00 38                	add    %bh,(%eax)
402a77:	21 40 00             	and    %eax,0x0(%eax)
402a7a:	b2 22                	mov    $0x22,%dl
402a7c:	40                   	inc    %eax
402a7d:	00 34 23             	add    %dh,(%ebx,%eiz,1)
402a80:	40                   	inc    %eax
402a81:	00 63 23             	add    %ah,0x23(%ebx)
402a84:	40                   	inc    %eax
402a85:	00 a7 23 40 00 e8    	add    %ah,-0x17ffbfdd(%edi)
402a8b:	23 40 00             	and    0x0(%eax),%eax
402a8e:	3d 24 40 00 da       	cmp    $0xda004024,%eax
402a93:	24 40                	and    $0x40,%al
402a95:	00 4c 25 40          	add    %cl,0x40(%ebp,%eiz,1)
402a99:	00 b4 25 40 00 c8 25 	add    %dh,0x25c80040(%ebp,%eiz,1)
402aa0:	40                   	inc    %eax
402aa1:	00 ea                	add    %ch,%dl
402aa3:	25 40 00 31 26       	and    $0x26310040,%eax
402aa8:	40                   	inc    %eax
402aa9:	00 ee                	add    %ch,%dh
402aab:	26 40                	es inc %eax
402aad:	00 21                	add    %ah,(%ecx)
402aaf:	27                   	daa
402ab0:	40                   	inc    %eax
402ab1:	00 3b                	add    %bh,(%ebx)
402ab3:	27                   	daa
402ab4:	40                   	inc    %eax
402ab5:	00 65 27             	add    %ah,0x27(%ebp)
402ab8:	40                   	inc    %eax
402ab9:	00 a3 27 40 00 9e    	add    %ah,-0x61ffbfd9(%ebx)
402abf:	28 40 00             	sub    %al,0x0(%eax)
402ac2:	2c 29                	sub    $0x29,%al
402ac4:	40                   	inc    %eax
402ac5:	00 b8 29 40 00 b8    	add    %bh,-0x47ffbfd7(%eax)
402acb:	29 40 00             	sub    %eax,0x0(%eax)
402ace:	93                   	xchg   %eax,%ebx
402acf:	29 40 00             	sub    %eax,0x0(%eax)
402ad2:	ca 1a 40             	lret   $0x401a
402ad5:	00 ce                	add    %cl,%dh
402ad7:	1a 40 00             	sbb    0x0(%eax),%al
402ada:	d2 1a                	rcrb   %cl,(%edx)
402adc:	40                   	inc    %eax
402add:	00 d7                	add    %dl,%bh
402adf:	1a 40 00             	sbb    0x0(%eax),%al
402ae2:	e4 1a                	in     $0x1a,%al
402ae4:	40                   	inc    %eax
402ae5:	00 e8                	add    %ch,%al
402ae7:	1a 40 00             	sbb    0x0(%eax),%al
402aea:	ec                   	in     (%dx),%al
402aeb:	1a 40 00             	sbb    0x0(%eax),%al
402aee:	f2 1a 40 00          	repnz sbb 0x0(%eax),%al
402af2:	fb                   	sti
402af3:	1a 40 00             	sbb    0x0(%eax),%al
402af6:	05 1b 40 00 12       	add    $0x1200401b,%eax
402afb:	1b 40 00             	sbb    0x0(%eax),%eax
402afe:	2a 1b                	sub    (%ebx),%bl
402b00:	40                   	inc    %eax
402b01:	00 2e                	add    %ch,(%esi)
402b03:	1b 40 00             	sbb    0x0(%eax),%eax
402b06:	32 1b                	xor    (%ebx),%bl
402b08:	40                   	inc    %eax
402b09:	00 8b 44 24 04 8b    	add    %cl,-0x74fbdbbc(%ebx)
402b0f:	0d 24 a8 40 00       	or     $0x40a824,%eax
402b14:	56                   	push   %esi
402b15:	ff 34 81             	push   (%ecx,%eax,4)
402b18:	6a 00                	push   $0x0
402b1a:	e8 dd 34 00 00       	call   0x405ffc
402b1f:	8b f0                	mov    %eax,%esi
402b21:	56                   	push   %esi
402b22:	e8 2a 34 00 00       	call   0x405f51
402b27:	0f be 16             	movsbl (%esi),%edx
402b2a:	5e                   	pop    %esi
402b2b:	c3                   	ret
402b2c:	56                   	push   %esi
402b2d:	8b 74 24 08          	mov    0x8(%esp),%esi
402b31:	85 f6                	test   %esi,%esi
402b33:	57                   	push   %edi
402b34:	8b c6                	mov    %esi,%eax
402b36:	7d 02                	jge    0x402b3a
402b38:	f7 d8                	neg    %eax
402b3a:	8b 15 24 a8 40 00    	mov    0x40a824,%edx
402b40:	8b c8                	mov    %eax,%ecx
402b42:	83 e1 0f             	and    $0xf,%ecx
402b45:	c1 f8 04             	sar    $0x4,%eax
402b48:	ff 34 8a             	push   (%edx,%ecx,4)
402b4b:	c1 e0 0a             	shl    $0xa,%eax
402b4e:	05 e8 93 40 00       	add    $0x4093e8,%eax
402b53:	50                   	push   %eax
402b54:	e8 a3 34 00 00       	call   0x405ffc
402b59:	85 f6                	test   %esi,%esi
402b5b:	8b f8                	mov    %eax,%edi
402b5d:	7d 06                	jge    0x402b65
402b5f:	57                   	push   %edi
402b60:	e8 df 36 00 00       	call   0x406244
402b65:	8b c7                	mov    %edi,%eax
402b67:	5f                   	pop    %edi
402b68:	5e                   	pop    %esi
402b69:	c2 04 00             	ret    $0x4
402b6c:	55                   	push   %ebp
402b6d:	8b ec                	mov    %esp,%ebp
402b6f:	8d 45 08             	lea    0x8(%ebp),%eax
402b72:	50                   	push   %eax
402b73:	8b 45 08             	mov    0x8(%ebp),%eax
402b76:	0d 20 00 10 00       	or     $0x100020,%eax
402b7b:	50                   	push   %eax
402b7c:	6a 22                	push   $0x22
402b7e:	e8 a9 ff ff ff       	call   0x402b2c
402b83:	50                   	push   %eax
402b84:	a1 24 a8 40 00       	mov    0x40a824,%eax
402b89:	ff 70 04             	push   0x4(%eax)
402b8c:	e8 13 00 00 00       	call   0x402ba4
402b91:	50                   	push   %eax
402b92:	e8 c9 32 00 00       	call   0x405e60
402b97:	f7 d8                	neg    %eax
402b99:	1b c0                	sbb    %eax,%eax
402b9b:	f7 d0                	not    %eax
402b9d:	23 45 08             	and    0x8(%ebp),%eax
402ba0:	5d                   	pop    %ebp
402ba1:	c2 04 00             	ret    $0x4
402ba4:	8b 44 24 04          	mov    0x4(%esp),%eax
402ba8:	85 c0                	test   %eax,%eax
402baa:	7c 0d                	jl     0x402bb9
402bac:	8b 0d a4 37 42 00    	mov    0x4237a4,%ecx
402bb2:	8d 84 01 01 00 00 80 	lea    -0x7fffffff(%ecx,%eax,1),%eax
402bb9:	c2 04 00             	ret    $0x4
402bbc:	55                   	push   %ebp
402bbd:	8b ec                	mov    %esp,%ebp
402bbf:	8d 45 10             	lea    0x10(%ebp),%eax
402bc2:	50                   	push   %eax
402bc3:	8b 45 10             	mov    0x10(%ebp),%eax
402bc6:	0d 20 00 10 00       	or     $0x100020,%eax
402bcb:	50                   	push   %eax
402bcc:	ff 75 0c             	push   0xc(%ebp)
402bcf:	ff 75 08             	push   0x8(%ebp)
402bd2:	e8 cd ff ff ff       	call   0x402ba4
402bd7:	50                   	push   %eax
402bd8:	e8 b1 32 00 00       	call   0x405e8e
402bdd:	f7 d8                	neg    %eax
402bdf:	1b c0                	sbb    %eax,%eax
402be1:	f7 d0                	not    %eax
402be3:	23 45 10             	and    0x10(%ebp),%eax
402be6:	5d                   	pop    %ebp
402be7:	c2 0c 00             	ret    $0xc
402bea:	55                   	push   %ebp
402beb:	8b ec                	mov    %esp,%ebp
402bed:	56                   	push   %esi
402bee:	8b 75 0c             	mov    0xc(%ebp),%esi
402bf1:	80 3e 00             	cmpb   $0x0,(%esi)
402bf4:	75 07                	jne    0x402bfd
402bf6:	b8 eb 03 00 00       	mov    $0x3eb,%eax
402bfb:	eb 2c                	jmp    0x402c29
402bfd:	81 4d 10 20 00 10 00 	orl    $0x100020,0x10(%ebp)
402c04:	8d 45 10             	lea    0x10(%ebp),%eax
402c07:	50                   	push   %eax
402c08:	ff 75 08             	push   0x8(%ebp)
402c0b:	e8 94 ff ff ff       	call   0x402ba4
402c10:	50                   	push   %eax
402c11:	e8 cf 31 00 00       	call   0x405de5
402c16:	85 c0                	test   %eax,%eax
402c18:	74 0c                	je     0x402c26
402c1a:	ff 75 10             	push   0x10(%ebp)
402c1d:	56                   	push   %esi
402c1e:	50                   	push   %eax
402c1f:	e8 0a 00 00 00       	call   0x402c2e
402c24:	eb 03                	jmp    0x402c29
402c26:	6a 06                	push   $0x6
402c28:	58                   	pop    %eax
402c29:	5e                   	pop    %esi
402c2a:	5d                   	pop    %ebp
402c2b:	c2 0c 00             	ret    $0xc
402c2e:	55                   	push   %ebp
402c2f:	8b ec                	mov    %esp,%ebp
402c31:	81 ec 0c 01 00 00    	sub    $0x10c,%esp
402c37:	53                   	push   %ebx
402c38:	56                   	push   %esi
402c39:	8b 75 10             	mov    0x10(%ebp),%esi
402c3c:	57                   	push   %edi
402c3d:	8b fe                	mov    %esi,%edi
402c3f:	8d 45 fc             	lea    -0x4(%ebp),%eax
402c42:	81 e6 00 03 00 00    	and    $0x300,%esi
402c48:	50                   	push   %eax
402c49:	8b c6                	mov    %esi,%eax
402c4b:	83 e7 01             	and    $0x1,%edi
402c4e:	0c 08                	or     $0x8,%al
402c50:	50                   	push   %eax
402c51:	ff 75 0c             	push   0xc(%ebp)
402c54:	ff 75 08             	push   0x8(%ebp)
402c57:	e8 04 32 00 00       	call   0x405e60
402c5c:	85 c0                	test   %eax,%eax
402c5e:	75 76                	jne    0x402cd6
402c60:	8b 1d 30 70 40 00    	mov    0x407030,%ebx
402c66:	eb 1a                	jmp    0x402c82
402c68:	85 ff                	test   %edi,%edi
402c6a:	75 4e                	jne    0x402cba
402c6c:	ff 75 10             	push   0x10(%ebp)
402c6f:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
402c75:	50                   	push   %eax
402c76:	ff 75 fc             	push   -0x4(%ebp)
402c79:	e8 b0 ff ff ff       	call   0x402c2e
402c7e:	85 c0                	test   %eax,%eax
402c80:	75 17                	jne    0x402c99
402c82:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
402c88:	68 05 01 00 00       	push   $0x105
402c8d:	50                   	push   %eax
402c8e:	6a 00                	push   $0x0
402c90:	ff 75 fc             	push   -0x4(%ebp)
402c93:	ff d3                	call   *%ebx
402c95:	85 c0                	test   %eax,%eax
402c97:	74 cf                	je     0x402c68
402c99:	ff 75 fc             	push   -0x4(%ebp)
402c9c:	ff 15 24 70 40 00    	call   *0x407024
402ca2:	6a 03                	push   $0x3
402ca4:	e8 c9 36 00 00       	call   0x406372
402ca9:	85 c0                	test   %eax,%eax
402cab:	74 1d                	je     0x402cca
402cad:	6a 00                	push   $0x0
402caf:	56                   	push   %esi
402cb0:	ff 75 0c             	push   0xc(%ebp)
402cb3:	ff 75 08             	push   0x8(%ebp)
402cb6:	ff d0                	call   *%eax
402cb8:	eb 1c                	jmp    0x402cd6
402cba:	ff 75 fc             	push   -0x4(%ebp)
402cbd:	ff 15 24 70 40 00    	call   *0x407024
402cc3:	b8 eb 03 00 00       	mov    $0x3eb,%eax
402cc8:	eb 0c                	jmp    0x402cd6
402cca:	ff 75 0c             	push   0xc(%ebp)
402ccd:	ff 75 08             	push   0x8(%ebp)
402cd0:	ff 15 1c 70 40 00    	call   *0x40701c
402cd6:	5f                   	pop    %edi
402cd7:	5e                   	pop    %esi
402cd8:	5b                   	pop    %ebx
402cd9:	c9                   	leave
402cda:	c2 0c 00             	ret    $0xc
402cdd:	55                   	push   %ebp
402cde:	8b ec                	mov    %esp,%ebp
402ce0:	83 ec 40             	sub    $0x40,%esp
402ce3:	81 7d 0c 10 01 00 00 	cmpl   $0x110,0xc(%ebp)
402cea:	75 19                	jne    0x402d05
402cec:	6a 00                	push   $0x0
402cee:	68 fa 00 00 00       	push   $0xfa
402cf3:	6a 01                	push   $0x1
402cf5:	ff 75 08             	push   0x8(%ebp)
402cf8:	ff 15 3c 72 40 00    	call   *0x40723c
402cfe:	c7 45 0c 13 01 00 00 	movl   $0x113,0xc(%ebp)
402d05:	81 7d 0c 13 01 00 00 	cmpl   $0x113,0xc(%ebp)
402d0c:	75 4c                	jne    0x402d5a
402d0e:	8b 0d b8 28 41 00    	mov    0x4128b8,%ecx
402d14:	a1 c4 e8 41 00       	mov    0x41e8c4,%eax
402d19:	3b c8                	cmp    %eax,%ecx
402d1b:	72 02                	jb     0x402d1f
402d1d:	8b c8                	mov    %eax,%ecx
402d1f:	50                   	push   %eax
402d20:	6a 64                	push   $0x64
402d22:	51                   	push   %ecx
402d23:	ff 15 44 71 40 00    	call   *0x407144
402d29:	50                   	push   %eax
402d2a:	8d 45 c0             	lea    -0x40(%ebp),%eax
402d2d:	68 1c 90 40 00       	push   $0x40901c
402d32:	50                   	push   %eax
402d33:	ff 15 74 72 40 00    	call   *0x407274
402d39:	83 c4 0c             	add    $0xc,%esp
402d3c:	8d 45 c0             	lea    -0x40(%ebp),%eax
402d3f:	50                   	push   %eax
402d40:	ff 75 08             	push   0x8(%ebp)
402d43:	ff 15 40 72 40 00    	call   *0x407240
402d49:	8d 45 c0             	lea    -0x40(%ebp),%eax
402d4c:	50                   	push   %eax
402d4d:	68 06 04 00 00       	push   $0x406
402d52:	ff 75 08             	push   0x8(%ebp)
402d55:	e8 7a 29 00 00       	call   0x4056d4
402d5a:	33 c0                	xor    %eax,%eax
402d5c:	c9                   	leave
402d5d:	c2 10 00             	ret    $0x10
402d60:	56                   	push   %esi
402d61:	33 f6                	xor    %esi,%esi
402d63:	39 74 24 08          	cmp    %esi,0x8(%esp)
402d67:	74 18                	je     0x402d81
402d69:	a1 c0 e8 41 00       	mov    0x41e8c0,%eax
402d6e:	3b c6                	cmp    %esi,%eax
402d70:	74 07                	je     0x402d79
402d72:	50                   	push   %eax
402d73:	ff 15 70 72 40 00    	call   *0x407270
402d79:	89 35 c0 e8 41 00    	mov    %esi,0x41e8c0
402d7f:	5e                   	pop    %esi
402d80:	c3                   	ret
402d81:	39 35 c0 e8 41 00    	cmp    %esi,0x41e8c0
402d87:	74 08                	je     0x402d91
402d89:	56                   	push   %esi
402d8a:	e8 1f 36 00 00       	call   0x4063ae
402d8f:	5e                   	pop    %esi
402d90:	c3                   	ret
402d91:	ff 15 90 70 40 00    	call   *0x407090
402d97:	3b 05 10 37 42 00    	cmp    0x423710,%eax
402d9d:	76 23                	jbe    0x402dc2
402d9f:	56                   	push   %esi
402da0:	68 dd 2c 40 00       	push   $0x402cdd
402da5:	56                   	push   %esi
402da6:	6a 6f                	push   $0x6f
402da8:	ff 35 00 37 42 00    	push   0x423700
402dae:	ff 15 38 72 40 00    	call   *0x407238
402db4:	6a 05                	push   $0x5
402db6:	50                   	push   %eax
402db7:	a3 c0 e8 41 00       	mov    %eax,0x41e8c0
402dbc:	ff 15 48 72 40 00    	call   *0x407248
402dc2:	5e                   	pop    %esi
402dc3:	c3                   	ret
402dc4:	55                   	push   %ebp
402dc5:	8b ec                	mov    %esp,%ebp
402dc7:	83 ec 28             	sub    $0x28,%esp
402dca:	53                   	push   %ebx
402dcb:	56                   	push   %esi
402dcc:	33 db                	xor    %ebx,%ebx
402dce:	57                   	push   %edi
402dcf:	89 5d f8             	mov    %ebx,-0x8(%ebp)
402dd2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402dd5:	ff 15 90 70 40 00    	call   *0x407090
402ddb:	be 00 ac 42 00       	mov    $0x42ac00,%esi
402de0:	68 00 04 00 00       	push   $0x400
402de5:	05 e8 03 00 00       	add    $0x3e8,%eax
402dea:	56                   	push   %esi
402deb:	53                   	push   %ebx
402dec:	a3 10 37 42 00       	mov    %eax,0x423710
402df1:	ff 15 78 70 40 00    	call   *0x407078
402df7:	6a 03                	push   $0x3
402df9:	68 00 00 00 80       	push   $0x80000000
402dfe:	56                   	push   %esi
402dff:	e8 6f 2d 00 00       	call   0x405b73
402e04:	8b f8                	mov    %eax,%edi
402e06:	83 ff ff             	cmp    $0xffffffff,%edi
402e09:	89 7d f4             	mov    %edi,-0xc(%ebp)