401bcb:	80 3b 00             	cmpb   $0x0,(%ebx)
401bce:	74 06                	je     0x401bd6
401bd0:	80 7b 28 00          	cmpb   $0x0,0x28(%ebx)
401bd4:	75 0b                	jne    0x401be1
401bd6:	8b cb                	mov    %ebx,%ecx
401bd8:	e8 fd 0c 00 00       	call   0x4028da
401bdd:	84 c0                	test   %al,%al
401bdf:	74 e2                	je     0x401bc3
401be1:	8b 4b 0c             	mov    0xc(%ebx),%ecx
401be4:	8d 7b 10             	lea    0x10(%ebx),%edi
401be7:	83 0f ff             	orl    $0xffffffff,(%edi)
401bea:	83 79 f4 00          	cmpl   $0x0,-0xc(%ecx)
401bee:	0f 84 3b 01 00 00    	je     0x401d2f
401bf4:	83 c1 f0             	add    $0xfffffff0,%ecx
401bf7:	e8 39 1f 00 00       	call   0x403b35
401bfc:	83 c0 10             	add    $0x10,%eax
401bff:	8d 4c 24 14          	lea    0x14(%esp),%ecx
401c03:	be 04 01 00 00       	mov    $0x104,%esi
401c08:	89 44 24 14          	mov    %eax,0x14(%esp)
401c0c:	56                   	push   %esi
401c0d:	e8 ce 1a 00 00       	call   0x4036e0
401c12:	50                   	push   %eax
401c13:	ff 15 10 80 42 00    	call   *0x428010
401c19:	6a ff                	push   $0xffffffff
401c1b:	8d 4c 24 18          	lea    0x18(%esp),%ecx
401c1f:	e8 90 1a 00 00       	call   0x4036b4
401c24:	68 08 02 00 00       	push   $0x208
401c29:	8d 44 24 2c          	lea    0x2c(%esp),%eax
401c2d:	6a 00                	push   $0x0
401c2f:	50                   	push   %eax
401c30:	e8 db 74 00 00       	call   0x409110
401c35:	83 c4 0c             	add    $0xc,%esp
401c38:	8d 44 24 28          	lea    0x28(%esp),%eax
401c3c:	56                   	push   %esi
401c3d:	50                   	push   %eax
401c3e:	ff 73 04             	push   0x4(%ebx)
401c41:	ff 15 84 c0 41 00    	call   *0x41c084
401c47:	85 c0                	test   %eax,%eax
401c49:	74 11                	je     0x401c5c
401c4b:	3b c6                	cmp    %esi,%eax
401c4d:	73 0d                	jae    0x401c5c
401c4f:	8d 4c 24 28          	lea    0x28(%esp),%ecx
401c53:	e8 2e fb ff ff       	call   0x401786
401c58:	8b f0                	mov    %eax,%esi
401c5a:	eb 02                	jmp    0x401c5e
401c5c:	33 f6                	xor    %esi,%esi
401c5e:	8b 43 08             	mov    0x8(%ebx),%eax
401c61:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
401c65:	75 46                	jne    0x401cad
401c67:	85 f6                	test   %esi,%esi
401c69:	75 1f                	jne    0x401c8a
401c6b:	be 50 07 04 80       	mov    $0x80040750,%esi
401c70:	8b ce                	mov    %esi,%ecx
401c72:	e8 60 11 00 00       	call   0x402dd7
401c77:	8b 4c 24 14          	mov    0x14(%esp),%ecx
401c7b:	83 c1 f0             	add    $0xfffffff0,%ecx
401c7e:	e8 7f f6 ff ff       	call   0x401302
401c83:	8b c6                	mov    %esi,%eax
401c85:	e9 a7 00 00 00       	jmp    0x401d31
401c8a:	68 00 28 42 00       	push   $0x422800
401c8f:	68 3c 28 42 00       	push   $0x42283c
401c94:	68 20 28 42 00       	push   $0x422820
401c99:	8d 44 24 20          	lea    0x20(%esp),%eax
401c9d:	68 78 28 42 00       	push   $0x422878
401ca2:	50                   	push   %eax
401ca3:	e8 dc f9 ff ff       	call   0x401684
401ca8:	83 c4 14             	add    $0x14,%esp
401cab:	eb 1f                	jmp    0x401ccc
401cad:	50                   	push   %eax
401cae:	8d 44 24 18          	lea    0x18(%esp),%eax
401cb2:	68 90 28 42 00       	push   $0x422890
401cb7:	50                   	push   %eax
401cb8:	e8 c7 f9 ff ff       	call   0x401684
401cbd:	83 c4 0c             	add    $0xc,%esp
401cc0:	8d 44 24 14          	lea    0x14(%esp),%eax
401cc4:	8b cb                	mov    %ebx,%ecx
401cc6:	50                   	push   %eax
401cc7:	e8 ca 00 00 00       	call   0x401d96
401ccc:	8d 44 24 14          	lea    0x14(%esp),%eax
401cd0:	50                   	push   %eax
401cd1:	e8 a2 01 00 00       	call   0x401e78
401cd6:	84 c0                	test   %al,%al
401cd8:	75 2e                	jne    0x401d08
401cda:	85 f6                	test   %esi,%esi
401cdc:	74 2a                	je     0x401d08
401cde:	56                   	push   %esi
401cdf:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
401ce3:	e8 43 19 00 00       	call   0x40362b
401ce8:	ff 30                	push   (%eax)
401cea:	8d 44 24 18          	lea    0x18(%esp),%eax
401cee:	68 98 28 42 00       	push   $0x422898
401cf3:	50                   	push   %eax
401cf4:	e8 8b f9 ff ff       	call   0x401684
401cf9:	8b 4c 24 24          	mov    0x24(%esp),%ecx
401cfd:	83 c4 0c             	add    $0xc,%esp
401d00:	83 c1 f0             	add    $0xfffffff0,%ecx
401d03:	e8 fa f5 ff ff       	call   0x401302
401d08:	51                   	push   %ecx
401d09:	6a 01                	push   $0x1
401d0b:	8b d7                	mov    %edi,%edx
401d0d:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
401d11:	e8 4d 2b 00 00       	call   0x404863
401d16:	59                   	pop    %ecx
401d17:	59                   	pop    %ecx
401d18:	85 f6                	test   %esi,%esi
401d1a:	74 07                	je     0x401d23
401d1c:	56                   	push   %esi
401d1d:	e8 cf 77 01 00       	call   0x4194f1
401d22:	59                   	pop    %ecx
401d23:	8b 4c 24 14          	mov    0x14(%esp),%ecx
401d27:	83 c1 f0             	add    $0xfffffff0,%ecx
401d2a:	e8 d3 f5 ff ff       	call   0x401302
401d2f:	8b 07                	mov    (%edi),%eax
401d31:	8b 8c 24 34 02 00 00 	mov    0x234(%esp),%ecx
401d38:	5f                   	pop    %edi
401d39:	5e                   	pop    %esi
401d3a:	5b                   	pop    %ebx
401d3b:	33 cc                	xor    %esp,%ecx
401d3d:	e8 b3 6e 00 00       	call   0x408bf5
401d42:	8b e5                	mov    %ebp,%esp
401d44:	5d                   	pop    %ebp
401d45:	c3                   	ret
401d46:	53                   	push   %ebx
401d47:	8b d9                	mov    %ecx,%ebx
401d49:	56                   	push   %esi
401d4a:	33 f6                	xor    %esi,%esi
401d4c:	57                   	push   %edi
401d4d:	39 73 18             	cmp    %esi,0x18(%ebx)
401d50:	74 1b                	je     0x401d6d
401d52:	85 f6                	test   %esi,%esi
401d54:	78 33                	js     0x401d89
401d56:	3b 73 18             	cmp    0x18(%ebx),%esi
401d59:	7d 2e                	jge    0x401d89
401d5b:	8b 43 14             	mov    0x14(%ebx),%eax
401d5e:	ff 34 b0             	push   (%eax,%esi,4)
401d61:	ff 15 b0 c1 41 00    	call   *0x41c1b0
401d67:	46                   	inc    %esi
401d68:	3b 73 18             	cmp    0x18(%ebx),%esi
401d6b:	75 e5                	jne    0x401d52
401d6d:	8d 4b 14             	lea    0x14(%ebx),%ecx
401d70:	e8 2c 16 00 00       	call   0x4033a1
401d75:	ff 73 20             	push   0x20(%ebx)
401d78:	ff 15 94 c1 41 00    	call   *0x41c194
401d7e:	5f                   	pop    %edi
401d7f:	5e                   	pop    %esi
401d80:	8d 4b 20             	lea    0x20(%ebx),%ecx
401d83:	5b                   	pop    %ebx
401d84:	e9 bd 19 00 00       	jmp    0x403746
401d89:	6a 01                	push   $0x1
401d8b:	68 8c 00 00 c0       	push   $0xc000008c
401d90:	e8 15 f3 ff ff       	call   0x4010aa
401d95:	cc                   	int3
401d96:	55                   	push   %ebp
401d97:	8b ec                	mov    %esp,%ebp
401d99:	81 ec 10 02 00 00    	sub    $0x210,%esp
401d9f:	a1 18 60 42 00       	mov    0x426018,%eax
401da4:	33 c5                	xor    %ebp,%eax
401da6:	89 45 fc             	mov    %eax,-0x4(%ebp)
401da9:	83 a5 f0 fd ff ff 00 	andl   $0x0,-0x210(%ebp)
401db0:	53                   	push   %ebx
401db1:	8b 5d 08             	mov    0x8(%ebp),%ebx
401db4:	56                   	push   %esi
401db5:	57                   	push   %edi
401db6:	8b f9                	mov    %ecx,%edi
401db8:	e8 6e f5 ff ff       	call   0x40132b
401dbd:	50                   	push   %eax
401dbe:	8d 8d f0 fd ff ff    	lea    -0x210(%ebp),%ecx
401dc4:	e8 33 1d 00 00       	call   0x403afc
401dc9:	68 10 28 42 00       	push   $0x422810
401dce:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
401dd4:	68 60 28 42 00       	push   $0x422860
401dd9:	50                   	push   %eax
401dda:	e8 a5 f8 ff ff       	call   0x401684
401ddf:	8b b5 f0 fd ff ff    	mov    -0x210(%ebp),%esi
401de5:	8d 85 f0 fd ff ff    	lea    -0x210(%ebp),%eax
401deb:	83 c4 0c             	add    $0xc,%esp
401dee:	8d 4f 08             	lea    0x8(%edi),%ecx
401df1:	ff 76 f4             	push   -0xc(%esi)
401df4:	50                   	push   %eax
401df5:	e8 fa 16 00 00       	call   0x4034f4
401dfa:	56                   	push   %esi
401dfb:	ff 30                	push   (%eax)
401dfd:	e8 5c 94 01 00       	call   0x41b25e
401e02:	59                   	pop    %ecx
401e03:	59                   	pop    %ecx
401e04:	8b 8d f0 fd ff ff    	mov    -0x210(%ebp),%ecx
401e0a:	8b f8                	mov    %eax,%edi
401e0c:	83 c1 f0             	add    $0xfffffff0,%ecx
401e0f:	e8 ee f4 ff ff       	call   0x401302
401e14:	85 ff                	test   %edi,%edi
401e16:	75 47                	jne    0x401e5f
401e18:	68 08 02 00 00       	push   $0x208
401e1d:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
401e23:	57                   	push   %edi
401e24:	50                   	push   %eax
401e25:	e8 e6 72 00 00       	call   0x409110
401e2a:	83 c4 0c             	add    $0xc,%esp
401e2d:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
401e33:	bf 04 01 00 00       	mov    $0x104,%edi
401e38:	57                   	push   %edi
401e39:	50                   	push   %eax
401e3a:	6a 00                	push   $0x0
401e3c:	ff 15 84 c0 41 00    	call   *0x41c084
401e42:	85 c0                	test   %eax,%eax
401e44:	74 19                	je     0x401e5f
401e46:	3b c7                	cmp    %edi,%eax
401e48:	73 15                	jae    0x401e5f
401e4a:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
401e50:	50                   	push   %eax
401e51:	68 98 28 42 00       	push   $0x422898
401e56:	53                   	push   %ebx
401e57:	e8 28 f8 ff ff       	call   0x401684
401e5c:	83 c4 0c             	add    $0xc,%esp
401e5f:	8d 4e f0             	lea    -0x10(%esi),%ecx
401e62:	e8 9b f4 ff ff       	call   0x401302
401e67:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401e6a:	5f                   	pop    %edi
401e6b:	5e                   	pop    %esi
401e6c:	33 cd                	xor    %ebp,%ecx
401e6e:	5b                   	pop    %ebx
401e6f:	e8 81 6d 00 00       	call   0x408bf5
401e74:	c9                   	leave
401e75:	c2 04 00             	ret    $0x4
401e78:	55                   	push   %ebp
401e79:	8b ec                	mov    %esp,%ebp
401e7b:	83 ec 0c             	sub    $0xc,%esp
401e7e:	a1 18 60 42 00       	mov    0x426018,%eax
401e83:	33 c5                	xor    %ebp,%eax
401e85:	89 45 fc             	mov    %eax,-0x4(%ebp)
401e88:	53                   	push   %ebx
401e89:	8b 5d 08             	mov    0x8(%ebp),%ebx
401e8c:	33 c0                	xor    %eax,%eax
401e8e:	56                   	push   %esi
401e8f:	57                   	push   %edi
401e90:	89 45 f4             	mov    %eax,-0xc(%ebp)
401e93:	89 45 f8             	mov    %eax,-0x8(%ebp)
401e96:	e8 90 f4 ff ff       	call   0x40132b
401e9b:	50                   	push   %eax
401e9c:	8d 4d f8             	lea    -0x8(%ebp),%ecx
401e9f:	e8 58 1c 00 00       	call   0x403afc
401ea4:	68 50 28 42 00       	push   $0x422850
401ea9:	8d 45 f8             	lea    -0x8(%ebp),%eax
401eac:	68 a4 28 42 00       	push   $0x4228a4
401eb1:	50                   	push   %eax
401eb2:	e8 cd f7 ff ff       	call   0x401684
401eb7:	8b 75 f8             	mov    -0x8(%ebp),%esi
401eba:	83 c4 0c             	add    $0xc,%esp
401ebd:	8b 7e f4             	mov    -0xc(%esi),%edi
401ec0:	85 ff                	test   %edi,%edi
401ec2:	79 02                	jns    0x401ec6
401ec4:	33 ff                	xor    %edi,%edi
401ec6:	8b 0b                	mov    (%ebx),%ecx
401ec8:	8b 41 f4             	mov    -0xc(%ecx),%eax
401ecb:	89 45 f8             	mov    %eax,-0x8(%ebp)
401ece:	3b f8                	cmp    %eax,%edi
401ed0:	7c 0d                	jl     0x401edf
401ed2:	83 c1 f0             	add    $0xfffffff0,%ecx
401ed5:	e8 5b 1c 00 00       	call   0x403b35
401eda:	83 c0 10             	add    $0x10,%eax
401edd:	eb 22                	jmp    0x401f01
401edf:	8b cb                	mov    %ebx,%ecx
401ee1:	0f ae e8             	lfence
401ee4:	e8 91 19 00 00       	call   0x40387a
401ee9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
401eec:	50                   	push   %eax
401eed:	8b 03                	mov    (%ebx),%eax
401eef:	2b cf                	sub    %edi,%ecx
401ef1:	57                   	push   %edi
401ef2:	8d 04 48             	lea    (%eax,%ecx,2),%eax
401ef5:	50                   	push   %eax
401ef6:	8d 4d f8             	lea    -0x8(%ebp),%ecx
401ef9:	e8 11 1a 00 00       	call   0x40390f
401efe:	8b 45 f8             	mov    -0x8(%ebp),%eax
401f01:	56                   	push   %esi
401f02:	50                   	push   %eax
401f03:	89 45 f8             	mov    %eax,-0x8(%ebp)
401f06:	ff 15 d8 c1 41 00    	call   *0x41c1d8
401f0c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
401f0f:	8b f8                	mov    %eax,%edi
401f11:	83 c1 f0             	add    $0xfffffff0,%ecx
401f14:	e8 e9 f3 ff ff       	call   0x401302
401f19:	85 ff                	test   %edi,%edi
401f1b:	75 1c                	jne    0x401f39
401f1d:	8b 03                	mov    (%ebx),%eax
401f1f:	8b cb                	mov    %ebx,%ecx
401f21:	8b 78 f4             	mov    -0xc(%eax),%edi
401f24:	2b 7e f4             	sub    -0xc(%esi),%edi
401f27:	57                   	push   %edi
401f28:	e8 b3 17 00 00       	call   0x4036e0
401f2d:	57                   	push   %edi
401f2e:	8b cb                	mov    %ebx,%ecx
401f30:	e8 4a 1a 00 00       	call   0x40397f
401f35:	c6 45 f4 01          	movb   $0x1,-0xc(%ebp)
401f39:	8d 4e f0             	lea    -0x10(%esi),%ecx
401f3c:	e8 c1 f3 ff ff       	call   0x401302
401f41:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401f44:	8a 45 f4             	mov    -0xc(%ebp),%al
401f47:	33 cd                	xor    %ebp,%ecx
401f49:	5f                   	pop    %edi
401f4a:	5e                   	pop    %esi
401f4b:	5b                   	pop    %ebx
401f4c:	e8 a4 6c 00 00       	call   0x408bf5
401f51:	c9                   	leave
401f52:	c2 04 00             	ret    $0x4
401f55:	55                   	push   %ebp
401f56:	8b ec                	mov    %esp,%ebp
401f58:	83 ec 14             	sub    $0x14,%esp
401f5b:	a1 18 60 42 00       	mov    0x426018,%eax
401f60:	33 c5                	xor    %ebp,%eax
401f62:	89 45 fc             	mov    %eax,-0x4(%ebp)
401f65:	53                   	push   %ebx
401f66:	8d 45 ec             	lea    -0x14(%ebp),%eax
401f69:	33 db                	xor    %ebx,%ebx
401f6b:	50                   	push   %eax
401f6c:	53                   	push   %ebx
401f6d:	53                   	push   %ebx
401f6e:	68 4c 13 42 00       	push   $0x42134c
401f73:	89 5d ec             	mov    %ebx,-0x14(%ebp)
401f76:	ff 15 20 c2 41 00    	call   *0x41c220
401f7c:	85 c0                	test   %eax,%eax
401f7e:	79 04                	jns    0x401f84
401f80:	32 c0                	xor    %al,%al
401f82:	eb 34                	jmp    0x401fb8
401f84:	8d 45 f0             	lea    -0x10(%ebp),%eax
401f87:	50                   	push   %eax
401f88:	53                   	push   %ebx
401f89:	53                   	push   %ebx
401f8a:	ff 75 ec             	push   -0x14(%ebp)
401f8d:	ff 15 a8 c1 41 00    	call   *0x41c1a8
401f93:	85 c0                	test   %eax,%eax
401f95:	75 06                	jne    0x401f9d
401f97:	89 5d f0             	mov    %ebx,-0x10(%ebp)
401f9a:	89 5d f4             	mov    %ebx,-0xc(%ebp)
401f9d:	ff 75 ec             	push   -0x14(%ebp)
401fa0:	ff 15 40 c2 41 00    	call   *0x41c240
401fa6:	39 5d f4             	cmp    %ebx,-0xc(%ebp)
401fa9:	77 09                	ja     0x401fb4
401fab:	81 7d f0 00 00 00 40 	cmpl   $0x40000000,-0x10(%ebp)
401fb2:	72 02                	jb     0x401fb6
401fb4:	b3 01                	mov    $0x1,%bl
401fb6:	8a c3                	mov    %bl,%al
401fb8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
401fbb:	33 cd                	xor    %ebp,%ecx
401fbd:	5b                   	pop    %ebx
401fbe:	e8 32 6c 00 00       	call   0x408bf5
401fc3:	c9                   	leave
401fc4:	c3                   	ret
401fc5:	55                   	push   %ebp
401fc6:	8b ec                	mov    %esp,%ebp
401fc8:	8b 45 08             	mov    0x8(%ebp),%eax