405d07:	8b 45 fc             	mov    -0x4(%ebp),%eax
405d0a:	e8 e5 db ff ff       	call   0x4038f4
405d0f:	85 c0                	test   %eax,%eax
405d11:	0f 9f c3             	setg   %bl
405d14:	84 db                	test   %bl,%bl
405d16:	74 70                	je     0x405d88
405d18:	8d 55 f8             	lea    -0x8(%ebp),%edx
405d1b:	8b 45 fc             	mov    -0x4(%ebp),%eax
405d1e:	e8 55 ff ff ff       	call   0x405c78
405d23:	8b 55 f8             	mov    -0x8(%ebp),%edx
405d26:	8d 45 fc             	lea    -0x4(%ebp),%eax
405d29:	e8 fe d9 ff ff       	call   0x40372c
405d2e:	8b 45 fc             	mov    -0x4(%ebp),%eax
405d31:	e8 be db ff ff       	call   0x4038f4
405d36:	83 f8 03             	cmp    $0x3,%eax
405d39:	7c 4d                	jl     0x405d88
405d3b:	8b 45 fc             	mov    -0x4(%ebp),%eax
405d3e:	e8 2d 4d 00 00       	call   0x40aa70
405d43:	84 c0                	test   %al,%al
405d45:	75 41                	jne    0x405d88
405d47:	8d 55 f4             	lea    -0xc(%ebp),%edx
405d4a:	8b 45 fc             	mov    -0x4(%ebp),%eax
405d4d:	e8 3a ff ff ff       	call   0x405c8c
405d52:	8b 45 f4             	mov    -0xc(%ebp),%eax
405d55:	8b 55 fc             	mov    -0x4(%ebp),%edx
405d58:	e8 e3 dc ff ff       	call   0x403a40
405d5d:	74 29                	je     0x405d88
405d5f:	8d 55 f0             	lea    -0x10(%ebp),%edx
405d62:	8b 45 fc             	mov    -0x4(%ebp),%eax
405d65:	e8 22 ff ff ff       	call   0x405c8c
405d6a:	8b 45 f0             	mov    -0x10(%ebp),%eax
405d6d:	e8 72 ff ff ff       	call   0x405ce4
405d72:	84 c0                	test   %al,%al
405d74:	74 0c                	je     0x405d82
405d76:	8b 45 fc             	mov    -0x4(%ebp),%eax
405d79:	e8 36 00 00 00       	call   0x405db4
405d7e:	84 c0                	test   %al,%al
405d80:	75 04                	jne    0x405d86
405d82:	33 db                	xor    %ebx,%ebx
405d84:	eb 02                	jmp    0x405d88
405d86:	b3 01                	mov    $0x1,%bl
405d88:	33 c0                	xor    %eax,%eax
405d8a:	5a                   	pop    %edx
405d8b:	59                   	pop    %ecx
405d8c:	59                   	pop    %ecx
405d8d:	64 89 10             	mov    %edx,%fs:(%eax)
405d90:	68 aa 5d 40 00       	push   $0x405daa
405d95:	8d 45 f0             	lea    -0x10(%ebp),%eax
405d98:	ba 04 00 00 00       	mov    $0x4,%edx
405d9d:	e8 16 d9 ff ff       	call   0x4036b8
405da2:	c3                   	ret
405da3:	e9 60 d3 ff ff       	jmp    0x403108
405da8:	eb eb                	jmp    0x405d95
405daa:	8b c3                	mov    %ebx,%eax
405dac:	5b                   	pop    %ebx
405dad:	8b e5                	mov    %ebp,%esp
405daf:	5d                   	pop    %ebp
405db0:	c3                   	ret
405db1:	8d 40 00             	lea    0x0(%eax),%eax
405db4:	53                   	push   %ebx
405db5:	8b d8                	mov    %eax,%ebx
405db7:	6a 00                	push   $0x0
405db9:	8b c3                	mov    %ebx,%eax
405dbb:	e8 34 dd ff ff       	call   0x403af4
405dc0:	50                   	push   %eax
405dc1:	e8 ae f0 ff ff       	call   0x404e74
405dc6:	83 f8 01             	cmp    $0x1,%eax
405dc9:	1b c0                	sbb    %eax,%eax
405dcb:	40                   	inc    %eax
405dcc:	5b                   	pop    %ebx
405dcd:	c3                   	ret
405dce:	8b c0                	mov    %eax,%eax
405dd0:	53                   	push   %ebx
405dd1:	56                   	push   %esi
405dd2:	81 c4 fc fe ff ff    	add    $0xfffffefc,%esp
405dd8:	8b f2                	mov    %edx,%esi
405dda:	8b d8                	mov    %eax,%ebx
405ddc:	68 04 01 00 00       	push   $0x104
405de1:	8d 44 24 04          	lea    0x4(%esp),%eax
405de5:	50                   	push   %eax
405de6:	8b c3                	mov    %ebx,%eax
405de8:	e8 07 dd ff ff       	call   0x403af4
405ded:	50                   	push   %eax
405dee:	e8 f9 f0 ff ff       	call   0x404eec
405df3:	8b c8                	mov    %eax,%ecx
405df5:	8b d4                	mov    %esp,%edx
405df7:	8b c6                	mov    %esi,%eax
405df9:	e8 86 d9 ff ff       	call   0x403784
405dfe:	81 c4 04 01 00 00    	add    $0x104,%esp
405e04:	5e                   	pop    %esi
405e05:	5b                   	pop    %ebx
405e06:	c3                   	ret
405e07:	90                   	nop
405e08:	53                   	push   %ebx
405e09:	56                   	push   %esi
405e0a:	57                   	push   %edi
405e0b:	81 c4 44 ff ff ff    	add    $0xffffff44,%esp
405e11:	8b fa                	mov    %edx,%edi
405e13:	8b f0                	mov    %eax,%esi
405e15:	33 db                	xor    %ebx,%ebx
405e17:	c7 44 24 20 94 00 00 	movl   $0x94,0x20(%esp)
405e1e:	00
405e1f:	8d 44 24 20          	lea    0x20(%esp),%eax
405e23:	50                   	push   %eax
405e24:	e8 e3 f0 ff ff       	call   0x404f0c
405e29:	33 c0                	xor    %eax,%eax
405e2b:	8b 54 24 30          	mov    0x30(%esp),%edx
405e2f:	83 fa 02             	cmp    $0x2,%edx
405e32:	75 0a                	jne    0x405e3e
405e34:	83 7c 24 24 04       	cmpl   $0x4,0x24(%esp)
405e39:	0f 93 c0             	setae  %al
405e3c:	eb 2e                	jmp    0x405e6c
405e3e:	83 fa 01             	cmp    $0x1,%edx
405e41:	75 29                	jne    0x405e6c
405e43:	8b 54 24 24          	mov    0x24(%esp),%edx
405e47:	83 fa 04             	cmp    $0x4,%edx
405e4a:	0f 97 c0             	seta   %al
405e4d:	84 c0                	test   %al,%al
405e4f:	75 1b                	jne    0x405e6c
405e51:	83 fa 04             	cmp    $0x4,%edx
405e54:	75 16                	jne    0x405e6c
405e56:	83 7c 24 28 00       	cmpl   $0x0,0x28(%esp)
405e5b:	0f 97 c0             	seta   %al
405e5e:	84 c0                	test   %al,%al
405e60:	75 0a                	jne    0x405e6c
405e62:	66 81 7c 24 2c 11 11 	cmpw   $0x1111,0x2c(%esp)
405e69:	0f 93 c0             	setae  %al
405e6c:	84 c0                	test   %al,%al
405e6e:	74 19                	je     0x405e89
405e70:	68 f8 5e 40 00       	push   $0x405ef8
405e75:	e8 62 f0 ff ff       	call   0x404edc
405e7a:	8b d8                	mov    %eax,%ebx
405e7c:	68 04 5f 40 00       	push   $0x405f04
405e81:	53                   	push   %ebx
405e82:	e8 81 e9 ff ff       	call   0x404808
405e87:	8b d8                	mov    %eax,%ebx
405e89:	85 db                	test   %ebx,%ebx
405e8b:	74 17                	je     0x405ea4
405e8d:	57                   	push   %edi
405e8e:	8d 44 24 1c          	lea    0x1c(%esp),%eax
405e92:	50                   	push   %eax
405e93:	8d 44 24 18          	lea    0x18(%esp),%eax
405e97:	50                   	push   %eax
405e98:	8b c6                	mov    %esi,%eax
405e9a:	e8 55 dc ff ff       	call   0x403af4
405e9f:	50                   	push   %eax
405ea0:	ff d3                	call   *%ebx
405ea2:	eb 48                	jmp    0x405eec
405ea4:	8d 44 24 0c          	lea    0xc(%esp),%eax
405ea8:	50                   	push   %eax
405ea9:	8d 44 24 0c          	lea    0xc(%esp),%eax
405ead:	50                   	push   %eax
405eae:	8d 44 24 0c          	lea    0xc(%esp),%eax
405eb2:	50                   	push   %eax
405eb3:	8d 44 24 0c          	lea    0xc(%esp),%eax
405eb7:	50                   	push   %eax
405eb8:	8b c6                	mov    %esi,%eax
405eba:	e8 35 dc ff ff       	call   0x403af4
405ebf:	50                   	push   %eax
405ec0:	e8 f7 ef ff ff       	call   0x404ebc
405ec5:	8d 8c 24 b4 00 00 00 	lea    0xb4(%esp),%ecx
405ecc:	8b 04 24             	mov    (%esp),%eax
405ecf:	f7 6c 24 04          	imull  0x4(%esp)
405ed3:	33 d2                	xor    %edx,%edx
405ed5:	e8 e2 f5 ff ff       	call   0x4054bc
405eda:	8d 84 24 b4 00 00 00 	lea    0xb4(%esp),%eax
405ee1:	8b cf                	mov    %edi,%ecx
405ee3:	8b 54 24 08          	mov    0x8(%esp),%edx
405ee7:	e8 84 4a 00 00       	call   0x40a970
405eec:	81 c4 bc 00 00 00    	add    $0xbc,%esp
405ef2:	5f                   	pop    %edi
405ef3:	5e                   	pop    %esi
405ef4:	5b                   	pop    %ebx
405ef5:	c3                   	ret
405ef6:	00 00                	add    %al,(%eax)
405ef8:	6b 65 72 6e          	imul   $0x6e,0x72(%ebp),%esp
405efc:	65 6c                	gs insb (%dx),%es:(%edi)
405efe:	33 32                	xor    (%edx),%esi
405f00:	00 00                	add    %al,(%eax)
405f02:	00 00                	add    %al,(%eax)
405f04:	47                   	inc    %edi
405f05:	65 74 44             	gs je  0x405f4c
405f08:	69 73 6b 46 72 65 65 	imul   $0x65657246,0x6b(%ebx),%esi
405f0f:	53                   	push   %ebx
405f10:	70 61                	jo     0x405f73
405f12:	63 65 45             	arpl   %esp,0x45(%ebp)
405f15:	78 41                	js     0x405f58
405f17:	00 53 56             	add    %dl,0x56(%ebx)
405f1a:	57                   	push   %edi
405f1b:	55                   	push   %ebp
405f1c:	8b e9                	mov    %ecx,%ebp
405f1e:	8b fa                	mov    %edx,%edi
405f20:	8b f0                	mov    %eax,%esi
405f22:	8b 15 34 4d 40 00    	mov    0x404d34,%edx
405f28:	33 c0                	xor    %eax,%eax
405f2a:	e8 d1 42 00 00       	call   0x40a200
405f2f:	8b d8                	mov    %eax,%ebx
405f31:	55                   	push   %ebp
405f32:	8b c3                	mov    %ebx,%eax
405f34:	8b cf                	mov    %edi,%ecx
405f36:	8b d6                	mov    %esi,%edx
405f38:	e8 af 01 00 00       	call   0x4060ec
405f3d:	8b c3                	mov    %ebx,%eax
405f3f:	5d                   	pop    %ebp
405f40:	5f                   	pop    %edi
405f41:	5e                   	pop    %esi
405f42:	5b                   	pop    %ebx
405f43:	c3                   	ret
405f44:	53                   	push   %ebx
405f45:	56                   	push   %esi
405f46:	51                   	push   %ecx
405f47:	8b f2                	mov    %edx,%esi
405f49:	8b d8                	mov    %eax,%ebx
405f4b:	8b 43 18             	mov    0x18(%ebx),%eax
405f4e:	8b d6                	mov    %esi,%edx
405f50:	e8 af 43 00 00       	call   0x40a304
405f55:	89 04 24             	mov    %eax,(%esp)
405f58:	8b 04 24             	mov    (%esp),%eax
405f5b:	5a                   	pop    %edx
405f5c:	5e                   	pop    %esi
405f5d:	5b                   	pop    %ebx
405f5e:	c3                   	ret
405f5f:	90                   	nop
405f60:	55                   	push   %ebp
405f61:	8b ec                	mov    %esp,%ebp
405f63:	83 c4 e0             	add    $0xffffffe0,%esp
405f66:	53                   	push   %ebx
405f67:	56                   	push   %esi
405f68:	57                   	push   %edi
405f69:	33 db                	xor    %ebx,%ebx
405f6b:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
405f6e:	89 5d e0             	mov    %ebx,-0x20(%ebp)
405f71:	89 5d ec             	mov    %ebx,-0x14(%ebp)
405f74:	89 5d e8             	mov    %ebx,-0x18(%ebp)
405f77:	8b f1                	mov    %ecx,%esi
405f79:	8b da                	mov    %edx,%ebx
405f7b:	89 45 fc             	mov    %eax,-0x4(%ebp)
405f7e:	8b 45 08             	mov    0x8(%ebp),%eax
405f81:	33 d2                	xor    %edx,%edx
405f83:	55                   	push   %ebp
405f84:	68 d6 60 40 00       	push   $0x4060d6
405f89:	64 ff 32             	push   %fs:(%edx)
405f8c:	64 89 22             	mov    %esp,%fs:(%edx)
405f8f:	8b d0                	mov    %eax,%edx
405f91:	23 d6                	and    %esi,%edx
405f93:	3b c2                	cmp    %edx,%eax
405f95:	74 10                	je     0x405fa7
405f97:	8b d0                	mov    %eax,%edx
405f99:	81 e2 80 00 00 00    	and    $0x80,%edx
405f9f:	85 d2                	test   %edx,%edx
405fa1:	75 04                	jne    0x405fa7
405fa3:	33 d2                	xor    %edx,%edx
405fa5:	eb 02                	jmp    0x405fa9
405fa7:	b2 01                	mov    $0x1,%dl
405fa9:	88 55 fb             	mov    %dl,-0x5(%ebp)
405fac:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
405fb0:	0f 84 05 01 00 00    	je     0x4060bb
405fb6:	80 3b 2e             	cmpb   $0x2e,(%ebx)
405fb9:	75 12                	jne    0x405fcd
405fbb:	8a 53 01             	mov    0x1(%ebx),%dl
405fbe:	80 fa 2e             	cmp    $0x2e,%dl
405fc1:	75 06                	jne    0x405fc9
405fc3:	80 7b 02 00          	cmpb   $0x0,0x2(%ebx)
405fc7:	74 08                	je     0x405fd1
405fc9:	84 d2                	test   %dl,%dl
405fcb:	74 04                	je     0x405fd1
405fcd:	33 d2                	xor    %edx,%edx
405fcf:	eb 02                	jmp    0x405fd3
405fd1:	b2 01                	mov    $0x1,%dl
405fd3:	88 55 f2             	mov    %dl,-0xe(%ebp)
405fd6:	80 7d f2 00          	cmpb   $0x0,-0xe(%ebp)
405fda:	75 25                	jne    0x406001
405fdc:	8b d0                	mov    %eax,%edx
405fde:	81 e2 80 00 00 00    	and    $0x80,%edx
405fe4:	85 d2                	test   %edx,%edx
405fe6:	74 19                	je     0x406001
405fe8:	3d 80 00 00 00       	cmp    $0x80,%eax
405fed:	74 12                	je     0x406001
405fef:	83 e0 10             	and    $0x10,%eax
405ff2:	85 c0                	test   %eax,%eax
405ff4:	74 0b                	je     0x406001
405ff6:	83 e6 10             	and    $0x10,%esi
405ff9:	85 f6                	test   %esi,%esi
405ffb:	0f 85 ba 00 00 00    	jne    0x4060bb
406001:	c6 45 f3 01          	movb   $0x1,-0xd(%ebp)
406005:	8b 45 fc             	mov    -0x4(%ebp),%eax
406008:	8b 40 24             	mov    0x24(%eax),%eax
40600b:	8b 70 1c             	mov    0x1c(%eax),%esi
40600e:	4e                   	dec    %esi
40600f:	85 f6                	test   %esi,%esi
406011:	0f 8c 8f 00 00 00    	jl     0x4060a6
406017:	46                   	inc    %esi
406018:	33 ff                	xor    %edi,%edi
40601a:	8b 45 fc             	mov    -0x4(%ebp),%eax
40601d:	8b 40 24             	mov    0x24(%eax),%eax
406020:	8b d7                	mov    %edi,%edx
406022:	e8 4d 27 00 00       	call   0x408774
406027:	89 45 f4             	mov    %eax,-0xc(%ebp)
40602a:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
40602e:	74 6e                	je     0x40609e
406030:	3b 5d f4             	cmp    -0xc(%ebp),%ebx
406033:	0f 84 82 00 00 00    	je     0x4060bb
406039:	80 7d f2 00          	cmpb   $0x0,-0xe(%ebp)
40603d:	75 5f                	jne    0x40609e
40603f:	8b 45 f4             	mov    -0xc(%ebp),%eax
406042:	80 38 5e             	cmpb   $0x5e,(%eax)
406045:	75 2d                	jne    0x406074
406047:	8d 45 ec             	lea    -0x14(%ebp),%eax
40604a:	8b 55 f4             	mov    -0xc(%ebp),%edx
40604d:	42                   	inc    %edx
40604e:	e8 1d d8 ff ff       	call   0x403870
406053:	8b 45 ec             	mov    -0x14(%ebp),%eax
406056:	50                   	push   %eax
406057:	8d 45 e8             	lea    -0x18(%ebp),%eax
40605a:	8b d3                	mov    %ebx,%edx
40605c:	e8 0f d8 ff ff       	call   0x403870
406061:	8b 45 e8             	mov    -0x18(%ebp),%eax
406064:	5a                   	pop    %edx
406065:	e8 a6 77 00 00       	call   0x40d810
40606a:	84 c0                	test   %al,%al
40606c:	74 30                	je     0x40609e
40606e:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
406072:	eb 47                	jmp    0x4060bb
406074:	c6 45 f3 00          	movb   $0x0,-0xd(%ebp)
406078:	8d 45 e4             	lea    -0x1c(%ebp),%eax
40607b:	8b 55 f4             	mov    -0xc(%ebp),%edx
40607e:	e8 ed d7 ff ff       	call   0x403870
406083:	8b 45 e4             	mov    -0x1c(%ebp),%eax
406086:	50                   	push   %eax
406087:	8d 45 e0             	lea    -0x20(%ebp),%eax
40608a:	8b d3                	mov    %ebx,%edx
40608c:	e8 df d7 ff ff       	call   0x403870
406091:	8b 45 e0             	mov    -0x20(%ebp),%eax
406094:	5a                   	pop    %edx
406095:	e8 76 77 00 00       	call   0x40d810
40609a:	84 c0                	test   %al,%al
40609c:	75 1d                	jne    0x4060bb
40609e:	47                   	inc    %edi
40609f:	4e                   	dec    %esi
4060a0:	0f 85 74 ff ff ff    	jne    0x40601a
4060a6:	80 7d f3 00          	cmpb   $0x0,-0xd(%ebp)
4060aa:	74 06                	je     0x4060b2
4060ac:	80 7d f2 00          	cmpb   $0x0,-0xe(%ebp)
4060b0:	74 04                	je     0x4060b6
4060b2:	33 c0                	xor    %eax,%eax
4060b4:	eb 02                	jmp    0x4060b8
4060b6:	b0 01                	mov    $0x1,%al
4060b8:	88 45 fb             	mov    %al,-0x5(%ebp)
4060bb:	33 c0                	xor    %eax,%eax
4060bd:	5a                   	pop    %edx