421c3d:	e8 da 26 ff ff       	call   0x41431c
421c42:	84 db                	test   %bl,%bl
421c44:	7e 07                	jle    0x421c4d
421c46:	8b c6                	mov    %esi,%eax
421c48:	e8 93 19 fe ff       	call   0x4035e0
421c4d:	5e                   	pop    %esi
421c4e:	5b                   	pop    %ebx
421c4f:	c3                   	ret
421c50:	55                   	push   %ebp
421c51:	8b ec                	mov    %esp,%ebp
421c53:	83 c4 a8             	add    $0xffffffa8,%esp
421c56:	53                   	push   %ebx
421c57:	56                   	push   %esi
421c58:	8b da                	mov    %edx,%ebx
421c5a:	89 45 fc             	mov    %eax,-0x4(%ebp)
421c5d:	85 db                	test   %ebx,%ebx
421c5f:	74 15                	je     0x421c76
421c61:	8b c3                	mov    %ebx,%eax
421c63:	8b 15 6c bb 41 00    	mov    0x41bb6c,%edx
421c69:	e8 8a 17 fe ff       	call   0x4033f8
421c6e:	84 c0                	test   %al,%al
421c70:	0f 84 b9 00 00 00    	je     0x421d2f
421c76:	68 a8 98 46 00       	push   $0x4698a8
421c7b:	e8 60 43 fe ff       	call   0x405fe0
421c80:	33 c0                	xor    %eax,%eax
421c82:	55                   	push   %ebp
421c83:	68 08 1d 42 00       	push   $0x421d08
421c88:	64 ff 30             	push   %fs:(%eax)
421c8b:	64 89 20             	mov    %esp,%fs:(%eax)
421c8e:	85 db                	test   %ebx,%ebx
421c90:	74 3b                	je     0x421ccd
421c92:	8b f3                	mov    %ebx,%esi
421c94:	8b 46 28             	mov    0x28(%esi),%eax
421c97:	e8 68 f4 ff ff       	call   0x421104
421c9c:	8b 45 fc             	mov    -0x4(%ebp),%eax
421c9f:	8b 40 28             	mov    0x28(%eax),%eax
421ca2:	e8 61 f4 ff ff       	call   0x421108
421ca7:	8b 46 28             	mov    0x28(%esi),%eax
421caa:	8b 55 fc             	mov    -0x4(%ebp),%edx
421cad:	89 42 28             	mov    %eax,0x28(%edx)
421cb0:	8a 46 21             	mov    0x21(%esi),%al
421cb3:	8b 55 fc             	mov    -0x4(%ebp),%edx
421cb6:	88 42 21             	mov    %al,0x21(%edx)
421cb9:	8b 46 34             	mov    0x34(%esi),%eax
421cbc:	8b 55 fc             	mov    -0x4(%ebp),%edx
421cbf:	89 42 34             	mov    %eax,0x34(%edx)
421cc2:	8a 46 38             	mov    0x38(%esi),%al
421cc5:	8b 55 fc             	mov    -0x4(%ebp),%edx
421cc8:	88 42 38             	mov    %al,0x38(%edx)
421ccb:	eb 23                	jmp    0x421cf0
421ccd:	8d 45 a8             	lea    -0x58(%ebp),%eax
421cd0:	33 c9                	xor    %ecx,%ecx
421cd2:	ba 54 00 00 00       	mov    $0x54,%edx
421cd7:	e8 ac 0f fe ff       	call   0x402c88
421cdc:	8d 45 a8             	lea    -0x58(%ebp),%eax
421cdf:	50                   	push   %eax
421ce0:	6a 00                	push   $0x0
421ce2:	6a 00                	push   $0x0
421ce4:	33 c9                	xor    %ecx,%ecx
421ce6:	33 d2                	xor    %edx,%edx
421ce8:	8b 45 fc             	mov    -0x4(%ebp),%eax
421ceb:	e8 04 09 00 00       	call   0x4225f4
421cf0:	33 c0                	xor    %eax,%eax
421cf2:	5a                   	pop    %edx
421cf3:	59                   	pop    %ecx
421cf4:	59                   	pop    %ecx
421cf5:	64 89 10             	mov    %edx,%fs:(%eax)
421cf8:	68 0f 1d 42 00       	push   $0x421d0f
421cfd:	68 a8 98 46 00       	push   $0x4698a8
421d02:	e8 41 44 fe ff       	call   0x406148
421d07:	c3                   	ret
421d08:	e9 b3 1c fe ff       	jmp    0x4039c0
421d0d:	eb ee                	jmp    0x421cfd
421d0f:	8b 45 fc             	mov    -0x4(%ebp),%eax
421d12:	8b 10                	mov    (%eax),%edx
421d14:	ff 52 24             	call   *0x24(%edx)
421d17:	85 c0                	test   %eax,%eax
421d19:	0f 95 c0             	setne  %al
421d1c:	8b 55 fc             	mov    -0x4(%ebp),%edx
421d1f:	88 42 22             	mov    %al,0x22(%edx)
421d22:	8b 55 fc             	mov    -0x4(%ebp),%edx
421d25:	8b 45 fc             	mov    -0x4(%ebp),%eax
421d28:	8b 08                	mov    (%eax),%ecx
421d2a:	ff 51 10             	call   *0x10(%ecx)
421d2d:	eb 0a                	jmp    0x421d39
421d2f:	8b d3                	mov    %ebx,%edx
421d31:	8b 45 fc             	mov    -0x4(%ebp),%eax
421d34:	e8 0f 26 ff ff       	call   0x414348
421d39:	5e                   	pop    %esi
421d3a:	5b                   	pop    %ebx
421d3b:	8b e5                	mov    %ebp,%esp
421d3d:	5d                   	pop    %ebp
421d3e:	c3                   	ret
421d3f:	90                   	nop
421d40:	55                   	push   %ebp
421d41:	8b ec                	mov    %esp,%ebp
421d43:	83 c4 a4             	add    $0xffffffa4,%esp
421d46:	53                   	push   %ebx
421d47:	56                   	push   %esi
421d48:	57                   	push   %edi
421d49:	8b 75 08             	mov    0x8(%ebp),%esi
421d4c:	8d 7d a4             	lea    -0x5c(%ebp),%edi
421d4f:	51                   	push   %ecx
421d50:	b9 15 00 00 00       	mov    $0x15,%ecx
421d55:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
421d57:	59                   	pop    %ecx
421d58:	8b f1                	mov    %ecx,%esi
421d5a:	8b fa                	mov    %edx,%edi
421d5c:	8b d8                	mov    %eax,%ebx
421d5e:	8b c3                	mov    %ebx,%eax
421d60:	e8 bf 05 00 00       	call   0x422324
421d65:	33 c0                	xor    %eax,%eax
421d67:	89 45 fc             	mov    %eax,-0x4(%ebp)
421d6a:	33 c0                	xor    %eax,%eax
421d6c:	89 45 f8             	mov    %eax,-0x8(%ebp)
421d6f:	33 c0                	xor    %eax,%eax
421d71:	55                   	push   %ebp
421d72:	68 cf 1d 42 00       	push   $0x421dcf
421d77:	64 ff 30             	push   %fs:(%eax)
421d7a:	64 89 20             	mov    %esp,%fs:(%eax)
421d7d:	3b 35 8c 98 46 00    	cmp    0x46988c,%esi
421d83:	75 05                	jne    0x421d8a
421d85:	89 75 f8             	mov    %esi,-0x8(%ebp)
421d88:	eb 0a                	jmp    0x421d94
421d8a:	8b c6                	mov    %esi,%eax
421d8c:	e8 ab fb ff ff       	call   0x42193c
421d91:	89 45 f8             	mov    %eax,-0x8(%ebp)
421d94:	8d 45 a4             	lea    -0x5c(%ebp),%eax
421d97:	50                   	push   %eax
421d98:	8b 43 2c             	mov    0x2c(%ebx),%eax
421d9b:	50                   	push   %eax
421d9c:	8b 4d f8             	mov    -0x8(%ebp),%ecx
421d9f:	8b d6                	mov    %esi,%edx
421da1:	8b c7                	mov    %edi,%eax
421da3:	e8 30 f5 ff ff       	call   0x4212d8
421da8:	89 45 fc             	mov    %eax,-0x4(%ebp)
421dab:	8d 45 a4             	lea    -0x5c(%ebp),%eax
421dae:	50                   	push   %eax
421daf:	8b 43 28             	mov    0x28(%ebx),%eax
421db2:	8a 40 70             	mov    0x70(%eax),%al
421db5:	50                   	push   %eax
421db6:	6a 00                	push   $0x0
421db8:	8b 4d f8             	mov    -0x8(%ebp),%ecx
421dbb:	8b 55 fc             	mov    -0x4(%ebp),%edx
421dbe:	8b c3                	mov    %ebx,%eax
421dc0:	e8 2f 08 00 00       	call   0x4225f4
421dc5:	33 c0                	xor    %eax,%eax
421dc7:	5a                   	pop    %edx
421dc8:	59                   	pop    %ecx
421dc9:	59                   	pop    %ecx
421dca:	64 89 10             	mov    %edx,%fs:(%eax)
421dcd:	eb 26                	jmp    0x421df5
421dcf:	e9 38 19 fe ff       	jmp    0x40370c
421dd4:	8b 45 f8             	mov    -0x8(%ebp),%eax
421dd7:	e8 ac 9f ff ff       	call   0x41bd88
421ddc:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
421de0:	74 09                	je     0x421deb
421de2:	8b 45 fc             	mov    -0x4(%ebp),%eax
421de5:	50                   	push   %eax
421de6:	e8 8d 44 fe ff       	call   0x406278
421deb:	e8 30 1c fe ff       	call   0x403a20
421df0:	e8 7f 1c fe ff       	call   0x403a74
421df5:	5f                   	pop    %edi
421df6:	5e                   	pop    %esi
421df7:	5b                   	pop    %ebx
421df8:	8b e5                	mov    %ebp,%esp
421dfa:	5d                   	pop    %ebp
421dfb:	c2 04 00             	ret    $0x4
421dfe:	8b c0                	mov    %eax,%eax
421e00:	53                   	push   %ebx
421e01:	8b d8                	mov    %eax,%ebx
421e03:	8b c3                	mov    %ebx,%eax
421e05:	e8 ea 02 00 00       	call   0x4220f4
421e0a:	8b 43 28             	mov    0x28(%ebx),%eax
421e0d:	33 d2                	xor    %edx,%edx
421e0f:	89 50 50             	mov    %edx,0x50(%eax)
421e12:	33 d2                	xor    %edx,%edx
421e14:	89 50 54             	mov    %edx,0x54(%eax)
421e17:	83 c0 6c             	add    $0x6c,%eax
421e1a:	e8 25 b3 fe ff       	call   0x40d144
421e1f:	5b                   	pop    %ebx
421e20:	c3                   	ret
421e21:	8d 40 00             	lea    0x0(%eax),%eax
421e24:	c6 40 31 00          	movb   $0x0,0x31(%eax)
421e28:	e8 af d1 ff ff       	call   0x41efdc
421e2d:	c3                   	ret
421e2e:	8b c0                	mov    %eax,%eax
421e30:	53                   	push   %ebx
421e31:	56                   	push   %esi
421e32:	57                   	push   %edi
421e33:	83 c4 ac             	add    $0xffffffac,%esp
421e36:	8b d8                	mov    %eax,%ebx
421e38:	b2 01                	mov    $0x1,%dl
421e3a:	a1 30 21 41 00       	mov    0x412130,%eax
421e3f:	e8 f8 13 fe ff       	call   0x40323c
421e44:	8b f0                	mov    %eax,%esi
421e46:	8b d6                	mov    %esi,%edx
421e48:	8b c3                	mov    %ebx,%eax
421e4a:	8b 08                	mov    (%eax),%ecx
421e4c:	ff 51 58             	call   *0x58(%ecx)
421e4f:	8b c6                	mov    %esi,%eax
421e51:	8b 10                	mov    (%eax),%edx
421e53:	ff 12                	call   *(%edx)
421e55:	52                   	push   %edx
421e56:	50                   	push   %eax
421e57:	8b c6                	mov    %esi,%eax
421e59:	e8 0a 3c ff ff       	call   0x415a68
421e5e:	8b 43 28             	mov    0x28(%ebx),%eax
421e61:	56                   	push   %esi
421e62:	8d 70 18             	lea    0x18(%eax),%esi
421e65:	8d 7c 24 04          	lea    0x4(%esp),%edi
421e69:	b9 15 00 00 00       	mov    $0x15,%ecx
421e6e:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
421e70:	5e                   	pop    %esi
421e71:	33 c0                	xor    %eax,%eax
421e73:	89 44 24 14          	mov    %eax,0x14(%esp)
421e77:	8b c3                	mov    %ebx,%eax
421e79:	e8 a6 04 00 00       	call   0x422324
421e7e:	8d 43 2c             	lea    0x2c(%ebx),%eax
421e81:	e8 be b2 fe ff       	call   0x40d144
421e86:	54                   	push   %esp
421e87:	8b 43 28             	mov    0x28(%ebx),%eax
421e8a:	8a 40 70             	mov    0x70(%eax),%al
421e8d:	50                   	push   %eax
421e8e:	56                   	push   %esi
421e8f:	33 c9                	xor    %ecx,%ecx
421e91:	33 d2                	xor    %edx,%edx
421e93:	8b c3                	mov    %ebx,%eax
421e95:	e8 5a 07 00 00       	call   0x4225f4
421e9a:	83 c4 54             	add    $0x54,%esp
421e9d:	5f                   	pop    %edi
421e9e:	5e                   	pop    %esi
421e9f:	5b                   	pop    %ebx
421ea0:	c3                   	ret
421ea1:	8d 40 00             	lea    0x0(%eax),%eax
421ea4:	55                   	push   %ebp
421ea5:	8b ec                	mov    %esp,%ebp
421ea7:	83 c4 e4             	add    $0xffffffe4,%esp
421eaa:	53                   	push   %ebx
421eab:	56                   	push   %esi
421eac:	57                   	push   %edi
421ead:	8b f9                	mov    %ecx,%edi
421eaf:	89 55 fc             	mov    %edx,-0x4(%ebp)
421eb2:	8b d8                	mov    %eax,%ebx
421eb4:	8b 73 28             	mov    0x28(%ebx),%esi
421eb7:	8a 15 f0 20 42 00    	mov    0x4220f0,%dl
421ebd:	8b 45 fc             	mov    -0x4(%ebp),%eax
421ec0:	e8 3b bc ff ff       	call   0x41db00
421ec5:	8b c3                	mov    %ebx,%eax
421ec7:	e8 68 05 00 00       	call   0x422434
421ecc:	33 c0                	xor    %eax,%eax
421ece:	89 45 f8             	mov    %eax,-0x8(%ebp)
421ed1:	c6 45 f7 00          	movb   $0x0,-0x9(%ebp)
421ed5:	8b 46 10             	mov    0x10(%esi),%eax
421ed8:	85 c0                	test   %eax,%eax
421eda:	74 22                	je     0x421efe
421edc:	6a ff                	push   $0xffffffff
421ede:	50                   	push   %eax
421edf:	8b 45 fc             	mov    -0x4(%ebp),%eax
421ee2:	8b 40 04             	mov    0x4(%eax),%eax
421ee5:	50                   	push   %eax
421ee6:	e8 b5 44 fe ff       	call   0x4063a0
421eeb:	89 45 f8             	mov    %eax,-0x8(%ebp)
421eee:	8b 45 fc             	mov    -0x4(%ebp),%eax
421ef1:	8b 40 04             	mov    0x4(%eax),%eax
421ef4:	50                   	push   %eax
421ef5:	e8 66 44 fe ff       	call   0x406360
421efa:	c6 45 f7 01          	movb   $0x1,-0x9(%ebp)
421efe:	6a 0c                	push   $0xc
421f00:	8b 45 fc             	mov    -0x4(%ebp),%eax
421f03:	8b 40 04             	mov    0x4(%eax),%eax
421f06:	50                   	push   %eax
421f07:	e8 b4 43 fe ff       	call   0x4062c0
421f0c:	50                   	push   %eax
421f0d:	6a 0e                	push   $0xe
421f0f:	8b 45 fc             	mov    -0x4(%ebp),%eax
421f12:	8b 40 04             	mov    0x4(%eax),%eax
421f15:	50                   	push   %eax
421f16:	e8 a5 43 fe ff       	call   0x4062c0
421f1b:	8b d0                	mov    %eax,%edx
421f1d:	58                   	pop    %eax
421f1e:	f7 ea                	imul   %edx
421f20:	83 f8 08             	cmp    $0x8,%eax
421f23:	7f 0f                	jg     0x421f34
421f25:	0f b7 56 2a          	movzwl 0x2a(%esi),%edx
421f29:	0f b7 4e 28          	movzwl 0x28(%esi),%ecx
421f2d:	0f af d1             	imul   %ecx,%edx
421f30:	3b c2                	cmp    %edx,%eax
421f32:	7c 04                	jl     0x421f38
421f34:	33 c0                	xor    %eax,%eax
421f36:	eb 02                	jmp    0x421f3a
421f38:	b0 01                	mov    $0x1,%al
421f3a:	84 c0                	test   %al,%al
421f3c:	74 38                	je     0x421f76
421f3e:	8d 45 ef             	lea    -0x11(%ebp),%eax
421f41:	50                   	push   %eax
421f42:	8b 45 fc             	mov    -0x4(%ebp),%eax
421f45:	8b 40 04             	mov    0x4(%eax),%eax
421f48:	50                   	push   %eax
421f49:	e8 42 43 fe ff       	call   0x406290
421f4e:	6a 04                	push   $0x4
421f50:	8b 45 fc             	mov    -0x4(%ebp),%eax
421f53:	8b 40 04             	mov    0x4(%eax),%eax
421f56:	50                   	push   %eax
421f57:	e8 84 44 fe ff       	call   0x4063e0
421f5c:	8d 45 ef             	lea    -0x11(%ebp),%eax
421f5f:	50                   	push   %eax
421f60:	8b 45 f3             	mov    -0xd(%ebp),%eax
421f63:	50                   	push   %eax
421f64:	8b 45 ef             	mov    -0x11(%ebp),%eax
421f67:	50                   	push   %eax
421f68:	8b 45 fc             	mov    -0x4(%ebp),%eax
421f6b:	8b 40 04             	mov    0x4(%eax),%eax
421f6e:	50                   	push   %eax
421f6f:	e8 44 44 fe ff       	call   0x4063b8
421f74:	eb 1b                	jmp    0x421f91
421f76:	8b c3                	mov    %ebx,%eax
421f78:	e8 b3 02 00 00       	call   0x422230
421f7d:	84 c0                	test   %al,%al
421f7f:	75 10                	jne    0x421f91
421f81:	6a 03                	push   $0x3
421f83:	8b 45 fc             	mov    -0x4(%ebp),%eax
421f86:	e8 a1 ba ff ff       	call   0x41da2c
421f8b:	50                   	push   %eax
421f8c:	e8 4f 44 fe ff       	call   0x4063e0
421f91:	33 c0                	xor    %eax,%eax
421f93:	55                   	push   %ebp
421f94:	68 e0 20 42 00       	push   $0x4220e0
421f99:	64 ff 30             	push   %fs:(%eax)
421f9c:	64 89 20             	mov    %esp,%fs:(%eax)
421f9f:	8b c3                	mov    %ebx,%eax
421fa1:	8b 10                	mov    (%eax),%edx
421fa3:	ff 52 28             	call   *0x28(%edx)
421fa6:	84 c0                	test   %al,%al
421fa8:	74 07                	je     0x421fb1
421faa:	8b c3                	mov    %ebx,%eax
421fac:	e8 23 04 00 00       	call   0x4223d4
421fb1:	8b c3                	mov    %ebx,%eax
421fb3:	e8 bc 01 00 00       	call   0x422174
421fb8:	8a 15 f0 20 42 00    	mov    0x4220f0,%dl
421fbe:	e8 3d bb ff ff       	call   0x41db00
421fc3:	8b c3                	mov    %ebx,%eax
421fc5:	8b 10                	mov    (%eax),%edx
421fc7:	ff 52 28             	call   *0x28(%edx)
421fca:	84 c0                	test   %al,%al
421fcc:	0f 84 aa 00 00 00    	je     0x42207c
421fd2:	33 c0                	xor    %eax,%eax
421fd4:	89 45 e4             	mov    %eax,-0x1c(%ebp)
421fd7:	33 c0                	xor    %eax,%eax
421fd9:	89 45 e8             	mov    %eax,-0x18(%ebp)