403bcc:	a1 08 a0 46 00       	mov    0x46a008,%eax
403bd1:	33 c5                	xor    %ebp,%eax
403bd3:	89 45 fc             	mov    %eax,-0x4(%ebp)
403bd6:	8b 45 0c             	mov    0xc(%ebp),%eax
403bd9:	83 8d 94 f9 ff ff ff 	orl    $0xffffffff,-0x66c(%ebp)
403be0:	83 e0 01             	and    $0x1,%eax
403be3:	89 85 88 f9 ff ff    	mov    %eax,-0x678(%ebp)
403be9:	8b 45 0c             	mov    0xc(%ebp),%eax
403bec:	d1 e8                	shr    $1,%eax
403bee:	83 e0 01             	and    $0x1,%eax
403bf1:	53                   	push   %ebx
403bf2:	8b 5d 08             	mov    0x8(%ebp),%ebx
403bf5:	89 85 8c f9 ff ff    	mov    %eax,-0x674(%ebp)
403bfb:	8b 45 0c             	mov    0xc(%ebp),%eax
403bfe:	56                   	push   %esi
403bff:	57                   	push   %edi
403c00:	c1 e8 02             	shr    $0x2,%eax
403c03:	bf 08 02 00 00       	mov    $0x208,%edi
403c08:	83 e0 01             	and    $0x1,%eax
403c0b:	89 9d 90 f9 ff ff    	mov    %ebx,-0x670(%ebp)
403c11:	33 f6                	xor    %esi,%esi
403c13:	89 85 84 f9 ff ff    	mov    %eax,-0x67c(%ebp)
403c19:	21 b5 98 f9 ff ff    	and    %esi,-0x668(%ebp)
403c1f:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
403c25:	57                   	push   %edi
403c26:	56                   	push   %esi
403c27:	50                   	push   %eax
403c28:	e8 43 ba 02 00       	call   0x42f670
403c2d:	57                   	push   %edi
403c2e:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
403c34:	56                   	push   %esi
403c35:	50                   	push   %eax
403c36:	e8 35 ba 02 00       	call   0x42f670
403c3b:	83 c4 18             	add    $0x18,%esp
403c3e:	53                   	push   %ebx
403c3f:	ff 15 6c b1 44 00    	call   *0x44b16c
403c45:	8b 3d e8 b0 44 00    	mov    0x44b0e8,%edi
403c4b:	8b d8                	mov    %eax,%ebx
403c4d:	83 fb ff             	cmp    $0xffffffff,%ebx
403c50:	75 32                	jne    0x403c84
403c52:	ff d7                	call   *%edi
403c54:	83 f8 02             	cmp    $0x2,%eax
403c57:	6a 03                	push   $0x3
403c59:	59                   	pop    %ecx
403c5a:	0f 44 c1             	cmove  %ecx,%eax
403c5d:	0f b7 f0             	movzwl %ax,%esi
403c60:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403c66:	85 c0                	test   %eax,%eax
403c68:	0f 4e f0             	cmovle %eax,%esi
403c6b:	85 f6                	test   %esi,%esi
403c6d:	79 15                	jns    0x403c84
403c6f:	56                   	push   %esi
403c70:	68 c8 00 00 00       	push   $0xc8
403c75:	68 24 b8 44 00       	push   $0x44b824
403c7a:	e8 54 fb ff ff       	call   0x4037d3
403c7f:	e9 66 03 00 00       	jmp    0x403fea
403c84:	f6 c3 10             	test   $0x10,%bl
403c87:	0f 84 46 03 00 00    	je     0x403fd3
403c8d:	f6 c3 01             	test   $0x1,%bl
403c90:	74 37                	je     0x403cc9
403c92:	68 80 00 00 00       	push   $0x80
403c97:	ff b5 90 f9 ff ff    	push   -0x670(%ebp)
403c9d:	ff 15 68 b1 44 00    	call   *0x44b168
403ca3:	85 c0                	test   %eax,%eax
403ca5:	75 22                	jne    0x403cc9
403ca7:	ff d7                	call   *%edi
403ca9:	0f b7 f0             	movzwl %ax,%esi
403cac:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403cb2:	85 c0                	test   %eax,%eax
403cb4:	0f 4e f0             	cmovle %eax,%esi
403cb7:	b8 05 40 00 80       	mov    $0x80004005,%eax
403cbc:	85 f6                	test   %esi,%esi
403cbe:	0f 49 f0             	cmovns %eax,%esi
403cc1:	56                   	push   %esi
403cc2:	68 d1 00 00 00       	push   $0xd1
403cc7:	eb ac                	jmp    0x403c75
403cc9:	83 bd 88 f9 ff ff 00 	cmpl   $0x0,-0x678(%ebp)
403cd0:	75 0d                	jne    0x403cdf
403cd2:	83 bd 8c f9 ff ff 00 	cmpl   $0x0,-0x674(%ebp)
403cd9:	0f 84 78 02 00 00    	je     0x403f57
403cdf:	8b 9d 84 f9 ff ff    	mov    -0x67c(%ebp),%ebx
403ce5:	85 db                	test   %ebx,%ebx
403ce7:	74 3b                	je     0x403d24
403ce9:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
403cef:	50                   	push   %eax
403cf0:	68 04 01 00 00       	push   $0x104
403cf5:	ff 15 18 b1 44 00    	call   *0x44b118
403cfb:	85 c0                	test   %eax,%eax
403cfd:	75 25                	jne    0x403d24
403cff:	ff d7                	call   *%edi
403d01:	0f b7 f0             	movzwl %ax,%esi
403d04:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403d0a:	85 c0                	test   %eax,%eax
403d0c:	0f 4e f0             	cmovle %eax,%esi
403d0f:	b8 05 40 00 80       	mov    $0x80004005,%eax
403d14:	85 f6                	test   %esi,%esi
403d16:	0f 49 f0             	cmovns %eax,%esi
403d19:	56                   	push   %esi
403d1a:	68 dc 00 00 00       	push   $0xdc
403d1f:	e9 51 ff ff ff       	jmp    0x403c75
403d24:	8d 85 98 f9 ff ff    	lea    -0x668(%ebp),%eax
403d2a:	50                   	push   %eax
403d2b:	68 30 b8 44 00       	push   $0x44b830
403d30:	ff b5 90 f9 ff ff    	push   -0x670(%ebp)
403d36:	e8 3e f0 ff ff       	call   0x402d79
403d3b:	8b f0                	mov    %eax,%esi
403d3d:	85 f6                	test   %esi,%esi
403d3f:	0f 88 a5 02 00 00    	js     0x403fea
403d45:	8d 85 9c f9 ff ff    	lea    -0x664(%ebp),%eax
403d4b:	50                   	push   %eax
403d4c:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403d52:	ff 15 74 b1 44 00    	call   *0x44b174
403d58:	89 85 94 f9 ff ff    	mov    %eax,-0x66c(%ebp)
403d5e:	83 f8 ff             	cmp    $0xffffffff,%eax
403d61:	75 25                	jne    0x403d88
403d63:	ff d7                	call   *%edi
403d65:	0f b7 f0             	movzwl %ax,%esi
403d68:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403d6e:	85 c0                	test   %eax,%eax
403d70:	0f 4e f0             	cmovle %eax,%esi
403d73:	b8 05 40 00 80       	mov    $0x80004005,%eax
403d78:	85 f6                	test   %esi,%esi
403d7a:	0f 49 f0             	cmovns %eax,%esi
403d7d:	56                   	push   %esi
403d7e:	68 e7 00 00 00       	push   $0xe7
403d83:	e9 ed fe ff ff       	jmp    0x403c75
403d88:	6a 2e                	push   $0x2e
403d8a:	5a                   	pop    %edx
403d8b:	66 3b 95 c8 f9 ff ff 	cmp    -0x638(%ebp),%dx
403d92:	75 25                	jne    0x403db9
403d94:	33 c9                	xor    %ecx,%ecx
403d96:	66 3b 8d ca f9 ff ff 	cmp    -0x636(%ebp),%cx
403d9d:	0f 84 19 01 00 00    	je     0x403ebc
403da3:	66 3b 95 ca f9 ff ff 	cmp    -0x636(%ebp),%dx
403daa:	75 0d                	jne    0x403db9
403dac:	66 3b 8d cc f9 ff ff 	cmp    -0x634(%ebp),%cx
403db3:	0f 84 03 01 00 00    	je     0x403ebc
403db9:	33 c0                	xor    %eax,%eax
403dbb:	66 89 85 ce fb ff ff 	mov    %ax,-0x432(%ebp)
403dc2:	8d 85 98 f9 ff ff    	lea    -0x668(%ebp),%eax
403dc8:	50                   	push   %eax
403dc9:	8d 85 c8 f9 ff ff    	lea    -0x638(%ebp),%eax
403dcf:	50                   	push   %eax
403dd0:	ff b5 90 f9 ff ff    	push   -0x670(%ebp)
403dd6:	e8 9e ef ff ff       	call   0x402d79
403ddb:	8b f0                	mov    %eax,%esi
403ddd:	85 f6                	test   %esi,%esi
403ddf:	0f 88 f3 01 00 00    	js     0x403fd8
403de5:	83 bd 8c f9 ff ff 00 	cmpl   $0x0,-0x674(%ebp)
403dec:	8a 85 9c f9 ff ff    	mov    -0x664(%ebp),%al
403df2:	74 2d                	je     0x403e21
403df4:	a8 10                	test   $0x10,%al
403df6:	74 29                	je     0x403e21
403df8:	8d 85 98 f9 ff ff    	lea    -0x668(%ebp),%eax
403dfe:	50                   	push   %eax
403dff:	e8 2a ed ff ff       	call   0x402b2e
403e04:	8b f0                	mov    %eax,%esi
403e06:	85 f6                	test   %esi,%esi
403e08:	0f 88 ca 01 00 00    	js     0x403fd8
403e0e:	ff 75 0c             	push   0xc(%ebp)
403e11:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403e17:	e8 a7 fd ff ff       	call   0x403bc3
403e1c:	e9 95 00 00 00       	jmp    0x403eb6
403e21:	83 bd 88 f9 ff ff 00 	cmpl   $0x0,-0x678(%ebp)
403e28:	0f 84 88 00 00 00    	je     0x403eb6
403e2e:	a8 07                	test   $0x7,%al
403e30:	74 19                	je     0x403e4b
403e32:	68 80 00 00 00       	push   $0x80
403e37:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403e3d:	ff 15 68 b1 44 00    	call   *0x44b168
403e43:	85 c0                	test   %eax,%eax
403e45:	0f 84 8e 00 00 00    	je     0x403ed9
403e4b:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403e51:	ff 15 70 b1 44 00    	call   *0x44b170
403e57:	85 c0                	test   %eax,%eax
403e59:	75 5b                	jne    0x403eb6
403e5b:	85 db                	test   %ebx,%ebx
403e5d:	0f 84 c7 00 00 00    	je     0x403f2a
403e63:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
403e69:	50                   	push   %eax
403e6a:	6a 00                	push   $0x0
403e6c:	68 38 b8 44 00       	push   $0x44b838
403e71:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
403e77:	50                   	push   %eax
403e78:	ff 15 1c b1 44 00    	call   *0x44b11c
403e7e:	85 c0                	test   %eax,%eax
403e80:	0f 84 82 00 00 00    	je     0x403f08
403e86:	8b 35 7c b1 44 00    	mov    0x44b17c,%esi
403e8c:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
403e92:	6a 01                	push   $0x1
403e94:	50                   	push   %eax
403e95:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403e9b:	ff d6                	call   *%esi
403e9d:	6a 04                	push   $0x4
403e9f:	6a 00                	push   $0x0
403ea1:	85 c0                	test   %eax,%eax
403ea3:	74 09                	je     0x403eae
403ea5:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
403eab:	50                   	push   %eax
403eac:	eb 06                	jmp    0x403eb4
403eae:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403eb4:	ff d6                	call   *%esi
403eb6:	8b 85 94 f9 ff ff    	mov    -0x66c(%ebp),%eax
403ebc:	8d 8d 9c f9 ff ff    	lea    -0x664(%ebp),%ecx
403ec2:	51                   	push   %ecx
403ec3:	50                   	push   %eax
403ec4:	ff 15 78 b1 44 00    	call   *0x44b178
403eca:	85 c0                	test   %eax,%eax
403ecc:	74 7e                	je     0x403f4c
403ece:	8b 85 94 f9 ff ff    	mov    -0x66c(%ebp),%eax
403ed4:	e9 af fe ff ff       	jmp    0x403d88
403ed9:	ff d7                	call   *%edi
403edb:	0f b7 f0             	movzwl %ax,%esi
403ede:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403ee4:	85 c0                	test   %eax,%eax
403ee6:	0f 4e f0             	cmovle %eax,%esi
403ee9:	b8 05 40 00 80       	mov    $0x80004005,%eax
403eee:	85 f6                	test   %esi,%esi
403ef0:	0f 49 f0             	cmovns %eax,%esi
403ef3:	56                   	push   %esi
403ef4:	68 0b 01 00 00       	push   $0x10b
403ef9:	68 24 b8 44 00       	push   $0x44b824
403efe:	e8 d0 f8 ff ff       	call   0x4037d3
403f03:	e9 d0 00 00 00       	jmp    0x403fd8
403f08:	ff d7                	call   *%edi
403f0a:	0f b7 f0             	movzwl %ax,%esi
403f0d:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403f13:	85 c0                	test   %eax,%eax
403f15:	0f 4e f0             	cmovle %eax,%esi
403f18:	b8 05 40 00 80       	mov    $0x80004005,%eax
403f1d:	85 f6                	test   %esi,%esi
403f1f:	0f 49 f0             	cmovns %eax,%esi
403f22:	56                   	push   %esi
403f23:	68 15 01 00 00       	push   $0x115
403f28:	eb cf                	jmp    0x403ef9
403f2a:	ff d7                	call   *%edi
403f2c:	0f b7 f0             	movzwl %ax,%esi
403f2f:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403f35:	85 c0                	test   %eax,%eax
403f37:	0f 4e f0             	cmovle %eax,%esi
403f3a:	b8 05 40 00 80       	mov    $0x80004005,%eax
403f3f:	85 f6                	test   %esi,%esi
403f41:	0f 49 f0             	cmovns %eax,%esi
403f44:	56                   	push   %esi
403f45:	68 25 01 00 00       	push   $0x125
403f4a:	eb ad                	jmp    0x403ef9
403f4c:	ff d7                	call   *%edi
403f4e:	83 f8 12             	cmp    $0x12,%eax
403f51:	75 5b                	jne    0x403fae
403f53:	33 f6                	xor    %esi,%esi
403f55:	eb 06                	jmp    0x403f5d
403f57:	8b 9d 84 f9 ff ff    	mov    -0x67c(%ebp),%ebx
403f5d:	ff b5 90 f9 ff ff    	push   -0x670(%ebp)
403f63:	ff 15 64 b1 44 00    	call   *0x44b164
403f69:	85 c0                	test   %eax,%eax
403f6b:	75 6b                	jne    0x403fd8
403f6d:	ff d7                	call   *%edi
403f6f:	0f b7 f0             	movzwl %ax,%esi
403f72:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403f78:	85 c0                	test   %eax,%eax
403f7a:	0f 4e f0             	cmovle %eax,%esi
403f7d:	81 fe 20 00 07 80    	cmp    $0x80070020,%esi
403f83:	75 1a                	jne    0x403f9f
403f85:	85 db                	test   %ebx,%ebx
403f87:	74 1a                	je     0x403fa3
403f89:	6a 04                	push   $0x4
403f8b:	6a 00                	push   $0x0
403f8d:	ff b5 90 f9 ff ff    	push   -0x670(%ebp)
403f93:	ff 15 7c b1 44 00    	call   *0x44b17c
403f99:	85 c0                	test   %eax,%eax
403f9b:	74 06                	je     0x403fa3
403f9d:	33 f6                	xor    %esi,%esi
403f9f:	85 f6                	test   %esi,%esi
403fa1:	79 35                	jns    0x403fd8
403fa3:	56                   	push   %esi
403fa4:	68 41 01 00 00       	push   $0x141
403fa9:	e9 4b ff ff ff       	jmp    0x403ef9
403fae:	ff d7                	call   *%edi
403fb0:	0f b7 f0             	movzwl %ax,%esi
403fb3:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403fb9:	85 c0                	test   %eax,%eax
403fbb:	0f 4e f0             	cmovle %eax,%esi
403fbe:	b8 05 40 00 80       	mov    $0x80004005,%eax
403fc3:	85 f6                	test   %esi,%esi
403fc5:	0f 49 f0             	cmovns %eax,%esi
403fc8:	56                   	push   %esi
403fc9:	68 32 01 00 00       	push   $0x132
403fce:	e9 26 ff ff ff       	jmp    0x403ef9
403fd3:	be ff ff 00 80       	mov    $0x8000ffff,%esi
403fd8:	8b 85 94 f9 ff ff    	mov    -0x66c(%ebp),%eax
403fde:	83 f8 ff             	cmp    $0xffffffff,%eax
403fe1:	74 07                	je     0x403fea
403fe3:	50                   	push   %eax
403fe4:	ff 15 58 b1 44 00    	call   *0x44b158
403fea:	83 bd 98 f9 ff ff 00 	cmpl   $0x0,-0x668(%ebp)
403ff1:	74 0b                	je     0x403ffe
403ff3:	ff b5 98 f9 ff ff    	push   -0x668(%ebp)
403ff9:	e8 f1 14 04 00       	call   0x4454ef
403ffe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
404001:	8b c6                	mov    %esi,%eax
404003:	5f                   	pop    %edi
404004:	5e                   	pop    %esi
404005:	33 cd                	xor    %ebp,%ecx
404007:	5b                   	pop    %ebx
404008:	e8 29 9e 02 00       	call   0x42de36
40400d:	8b e5                	mov    %ebp,%esp
40400f:	5d                   	pop    %ebp
404010:	c2 08 00             	ret    $0x8
404013:	55                   	push   %ebp
404014:	8b ec                	mov    %esp,%ebp
404016:	56                   	push   %esi
404017:	57                   	push   %edi
404018:	ff 75 0c             	push   0xc(%ebp)
40401b:	8b 7d 08             	mov    0x8(%ebp),%edi
40401e:	33 f6                	xor    %esi,%esi
404020:	57                   	push   %edi
404021:	ff 15 20 b1 44 00    	call   *0x44b120
404027:	85 c0                	test   %eax,%eax
404029:	0f 85 ab 00 00 00    	jne    0x4040da
40402f:	ff 15 e8 b0 44 00    	call   *0x44b0e8
404035:	3d b7 00 00 00       	cmp    $0xb7,%eax
40403a:	75 07                	jne    0x404043
40403c:	33 f6                	xor    %esi,%esi
40403e:	e9 97 00 00 00       	jmp    0x4040da
404043:	83 f8 03             	cmp    $0x3,%eax
404046:	74 0c                	je     0x404054
404048:	6a 00                	push   $0x0
40404a:	57                   	push   %edi
40404b:	e8 92 00 00 00       	call   0x4040e2
404050:	85 c0                	test   %eax,%eax
404052:	75 e8                	jne    0x40403c
404054:	0f b7 07             	movzwl (%edi),%eax
404057:	8b cf                	mov    %edi,%ecx
404059:	53                   	push   %ebx
40405a:	33 db                	xor    %ebx,%ebx
40405c:	66 85 c0             	test   %ax,%ax
40405f:	74 66                	je     0x4040c7
404061:	6a 5c                	push   $0x5c
404063:	5a                   	pop    %edx
404064:	66 3b c2             	cmp    %dx,%ax
404067:	0f 44 d9             	cmove  %ecx,%ebx
40406a:	83 c1 02             	add    $0x2,%ecx
40406d:	0f b7 01             	movzwl (%ecx),%eax
404070:	66 85 c0             	test   %ax,%ax
404073:	75 ef                	jne    0x404064
404075:	85 db                	test   %ebx,%ebx
404077:	74 4e                	je     0x4040c7
404079:	ff 75 0c             	push   0xc(%ebp)
40407c:	33 c0                	xor    %eax,%eax
40407e:	57                   	push   %edi