459dab:	8b f1                	mov    %ecx,%esi
459dad:	83 66 78 fc          	andl   $0xfffffffc,0x78(%esi)
459db1:	e8 90 6e fe ff       	call   0x440c46
459db6:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
459dbb:	74 0d                	je     0x459dca
459dbd:	a9 00 00 00 10       	test   $0x10000000,%eax
459dc2:	75 11                	jne    0x459dd5
459dc4:	83 4e 78 02          	orl    $0x2,0x78(%esi)
459dc8:	eb 0b                	jmp    0x459dd5
459dca:	a9 00 00 00 10       	test   $0x10000000,%eax
459dcf:	74 04                	je     0x459dd5
459dd1:	83 4e 78 01          	orl    $0x1,0x78(%esi)
459dd5:	5e                   	pop    %esi
459dd6:	c2 04 00             	ret    $0x4
459dd9:	8b 41 78             	mov    0x78(%ecx),%eax
459ddc:	a8 01                	test   $0x1,%al
459dde:	75 10                	jne    0x459df0
459de0:	a8 02                	test   $0x2,%al
459de2:	75 0f                	jne    0x459df3
459de4:	e8 5d 6e fe ff       	call   0x440c46
459de9:	a9 00 00 00 10       	test   $0x10000000,%eax
459dee:	75 03                	jne    0x459df3
459df0:	33 c0                	xor    %eax,%eax
459df2:	c3                   	ret
459df3:	33 c0                	xor    %eax,%eax
459df5:	40                   	inc    %eax
459df6:	c3                   	ret
459df7:	8b 51 7c             	mov    0x7c(%ecx),%edx
459dfa:	f6 c6 01             	test   $0x1,%dh
459dfd:	8b 44 24 04          	mov    0x4(%esp),%eax
459e01:	56                   	push   %esi
459e02:	74 08                	je     0x459e0c
459e04:	8b 35 e8 c3 4a 00    	mov    0x4ac3e8,%esi
459e0a:	01 30                	add    %esi,(%eax)
459e0c:	f6 c6 02             	test   $0x2,%dh
459e0f:	74 09                	je     0x459e1a
459e11:	8b 35 ec c3 4a 00    	mov    0x4ac3ec,%esi
459e17:	01 70 04             	add    %esi,0x4(%eax)
459e1a:	f6 c6 04             	test   $0x4,%dh
459e1d:	74 09                	je     0x459e28
459e1f:	8b 35 e8 c3 4a 00    	mov    0x4ac3e8,%esi
459e25:	29 70 08             	sub    %esi,0x8(%eax)
459e28:	f6 c6 08             	test   $0x8,%dh
459e2b:	5e                   	pop    %esi
459e2c:	74 09                	je     0x459e37
459e2e:	8b 15 ec c3 4a 00    	mov    0x4ac3ec,%edx
459e34:	29 50 0c             	sub    %edx,0xc(%eax)
459e37:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
459e3c:	74 2d                	je     0x459e6b
459e3e:	8b 51 58             	mov    0x58(%ecx),%edx
459e41:	01 10                	add    %edx,(%eax)
459e43:	8b 51 60             	mov    0x60(%ecx),%edx
459e46:	01 50 04             	add    %edx,0x4(%eax)
459e49:	8b 51 5c             	mov    0x5c(%ecx),%edx
459e4c:	29 50 08             	sub    %edx,0x8(%eax)
459e4f:	8b 51 64             	mov    0x64(%ecx),%edx
459e52:	29 50 0c             	sub    %edx,0xc(%eax)
459e55:	8b 49 7c             	mov    0x7c(%ecx),%ecx
459e58:	81 e1 01 00 40 00    	and    $0x400001,%ecx
459e5e:	81 f9 00 00 40 00    	cmp    $0x400000,%ecx
459e64:	75 31                	jne    0x459e97
459e66:	83 00 07             	addl   $0x7,(%eax)
459e69:	eb 2c                	jmp    0x459e97
459e6b:	8b 51 60             	mov    0x60(%ecx),%edx
459e6e:	01 10                	add    %edx,(%eax)
459e70:	8b 51 58             	mov    0x58(%ecx),%edx
459e73:	01 50 04             	add    %edx,0x4(%eax)
459e76:	8b 51 64             	mov    0x64(%ecx),%edx
459e79:	29 50 08             	sub    %edx,0x8(%eax)
459e7c:	8b 51 5c             	mov    0x5c(%ecx),%edx
459e7f:	29 50 0c             	sub    %edx,0xc(%eax)
459e82:	8b 49 7c             	mov    0x7c(%ecx),%ecx
459e85:	81 e1 01 00 40 00    	and    $0x400001,%ecx
459e8b:	81 f9 00 00 40 00    	cmp    $0x400000,%ecx
459e91:	75 04                	jne    0x459e97
459e93:	83 40 04 07          	addl   $0x7,0x4(%eax)
459e97:	c2 08 00             	ret    $0x8
459e9a:	b8 f4 3f 48 00       	mov    $0x483ff4,%eax
459e9f:	e8 d8 dd fb ff       	call   0x417c7c
459ea4:	51                   	push   %ecx
459ea5:	56                   	push   %esi
459ea6:	8b f1                	mov    %ecx,%esi
459ea8:	89 75 f0             	mov    %esi,-0x10(%ebp)
459eab:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
459eaf:	83 66 50 00          	andl   $0x0,0x50(%esi)
459eb3:	e8 f5 fd ff ff       	call   0x459cad
459eb8:	8b 8e 84 00 00 00    	mov    0x84(%esi),%ecx
459ebe:	85 c9                	test   %ecx,%ecx
459ec0:	74 06                	je     0x459ec8
459ec2:	56                   	push   %esi
459ec3:	e8 3e 68 00 00       	call   0x460706
459ec8:	8d 86 8c 00 00 00    	lea    0x8c(%esi),%eax
459ece:	57                   	push   %edi
459ecf:	8b 38                	mov    (%eax),%edi
459ed1:	83 20 00             	andl   $0x0,(%eax)
459ed4:	85 ff                	test   %edi,%edi
459ed6:	74 0e                	je     0x459ee6
459ed8:	8b cf                	mov    %edi,%ecx
459eda:	e8 64 0d 00 00       	call   0x45ac43
459edf:	57                   	push   %edi
459ee0:	e8 9b 61 fe ff       	call   0x440080
459ee5:	59                   	pop    %ecx
459ee6:	8b 46 74             	mov    0x74(%esi),%eax
459ee9:	85 c0                	test   %eax,%eax
459eeb:	5f                   	pop    %edi
459eec:	74 07                	je     0x459ef5
459eee:	50                   	push   %eax
459eef:	e8 aa c4 fb ff       	call   0x41639e
459ef4:	59                   	pop    %ecx
459ef5:	e8 2d 3a 01 00       	call   0x46d927
459efa:	39 70 7c             	cmp    %esi,0x7c(%eax)
459efd:	75 08                	jne    0x459f07
459eff:	83 60 7c 00          	andl   $0x0,0x7c(%eax)
459f03:	83 48 78 ff          	orl    $0xffffffff,0x78(%eax)
459f07:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
459f0b:	8b ce                	mov    %esi,%ecx
459f0d:	e8 f0 b6 fe ff       	call   0x445602
459f12:	8b 4d f4             	mov    -0xc(%ebp),%ecx
459f15:	5e                   	pop    %esi
459f16:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
459f1d:	c9                   	leave
459f1e:	c3                   	ret
459f1f:	55                   	push   %ebp
459f20:	8b ec                	mov    %esp,%ebp
459f22:	33 c0                	xor    %eax,%eax
459f24:	39 45 0c             	cmp    %eax,0xc(%ebp)
459f27:	b9 ff 7f 00 00       	mov    $0x7fff,%ecx
459f2c:	74 09                	je     0x459f37
459f2e:	39 45 10             	cmp    %eax,0x10(%ebp)
459f31:	74 04                	je     0x459f37
459f33:	8b d1                	mov    %ecx,%edx
459f35:	eb 02                	jmp    0x459f39
459f37:	33 d2                	xor    %edx,%edx
459f39:	39 45 0c             	cmp    %eax,0xc(%ebp)
459f3c:	74 05                	je     0x459f43
459f3e:	39 45 10             	cmp    %eax,0x10(%ebp)
459f41:	74 02                	je     0x459f45
459f43:	33 c9                	xor    %ecx,%ecx
459f45:	8b 45 08             	mov    0x8(%ebp),%eax
459f48:	89 10                	mov    %edx,(%eax)
459f4a:	89 48 04             	mov    %ecx,0x4(%eax)
459f4d:	5d                   	pop    %ebp
459f4e:	c2 0c 00             	ret    $0xc
459f51:	56                   	push   %esi
459f52:	57                   	push   %edi
459f53:	8b 3d f0 05 4b 00    	mov    0x4b05f0,%edi
459f59:	8b f1                	mov    %ecx,%esi
459f5b:	68 00 e0 00 00       	push   $0xe000
459f60:	ff 76 1c             	push   0x1c(%esi)
459f63:	ff d7                	call   *%edi
459f65:	68 01 e0 00 00       	push   $0xe001
459f6a:	ff 76 1c             	push   0x1c(%esi)
459f6d:	ff d7                	call   *%edi
459f6f:	6a 00                	push   $0x0
459f71:	ff 74 24 14          	push   0x14(%esp)
459f75:	ff 74 24 14          	push   0x14(%esp)
459f79:	ff 76 1c             	push   0x1c(%esi)
459f7c:	ff 15 ec 05 4b 00    	call   *0x4b05ec
459f82:	5f                   	pop    %edi
459f83:	5e                   	pop    %esi
459f84:	c2 08 00             	ret    $0x8
459f87:	55                   	push   %ebp
459f88:	8b ec                	mov    %esp,%ebp
459f8a:	83 ec 10             	sub    $0x10,%esp
459f8d:	56                   	push   %esi
459f8e:	6a 01                	push   $0x1
459f90:	8b f1                	mov    %ecx,%esi
459f92:	ff 15 a4 07 4b 00    	call   *0x4b07a4
459f98:	66 85 c0             	test   %ax,%ax
459f9b:	0f 8c 42 01 00 00    	jl     0x45a0e3
459fa1:	53                   	push   %ebx
459fa2:	57                   	push   %edi
459fa3:	e8 7f 39 01 00       	call   0x46d927
459fa8:	8b f8                	mov    %eax,%edi
459faa:	8d 45 f0             	lea    -0x10(%ebp),%eax
459fad:	50                   	push   %eax
459fae:	89 7d f8             	mov    %edi,-0x8(%ebp)
459fb1:	ff 15 ac 07 4b 00    	call   *0x4b07ac
459fb7:	8d 45 f0             	lea    -0x10(%ebp),%eax
459fba:	50                   	push   %eax
459fbb:	ff 76 1c             	push   0x1c(%esi)
459fbe:	ff 15 b8 08 4b 00    	call   *0x4b08b8
459fc4:	8b 06                	mov    (%esi),%eax
459fc6:	6a 00                	push   $0x0
459fc8:	ff 75 f4             	push   -0xc(%ebp)
459fcb:	8b ce                	mov    %esi,%ecx
459fcd:	ff 75 f0             	push   -0x10(%ebp)
459fd0:	ff 50 6c             	call   *0x6c(%eax)
459fd3:	85 c0                	test   %eax,%eax
459fd5:	89 45 fc             	mov    %eax,-0x4(%ebp)
459fd8:	7c 61                	jl     0x45a03b
459fda:	8b ce                	mov    %esi,%ecx
459fdc:	e8 2c bf fe ff       	call   0x445f0d
459fe1:	8b ce                	mov    %esi,%ecx
459fe3:	8b d8                	mov    %eax,%ebx
459fe5:	e8 4b bf fe ff       	call   0x445f35
459fea:	85 c0                	test   %eax,%eax
459fec:	74 0b                	je     0x459ff9
459fee:	8b cb                	mov    %ebx,%ecx
459ff0:	e8 97 6d fe ff       	call   0x440d8c
459ff5:	85 c0                	test   %eax,%eax
459ff7:	75 04                	jne    0x459ffd
459ff9:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
459ffd:	8b 47 3c             	mov    0x3c(%edi),%eax
45a000:	85 c0                	test   %eax,%eax
45a002:	75 04                	jne    0x45a008
45a004:	33 ff                	xor    %edi,%edi
45a006:	eb 03                	jmp    0x45a00b
45a008:	8b 78 1c             	mov    0x1c(%eax),%edi
45a00b:	ff 15 94 06 4b 00    	call   *0x4b0694
45a011:	50                   	push   %eax
45a012:	e8 8b ac fe ff       	call   0x444ca2
45a017:	3b c6                	cmp    %esi,%eax
45a019:	74 24                	je     0x45a03f
45a01b:	85 c0                	test   %eax,%eax
45a01d:	75 04                	jne    0x45a023
45a01f:	33 d2                	xor    %edx,%edx
45a021:	eb 03                	jmp    0x45a026
45a023:	8b 50 1c             	mov    0x1c(%eax),%edx
45a026:	3b d7                	cmp    %edi,%edx
45a028:	74 15                	je     0x45a03f
45a02a:	8b c8                	mov    %eax,%ecx
45a02c:	e8 dc be fe ff       	call   0x445f0d
45a031:	3b c3                	cmp    %ebx,%eax
45a033:	75 0a                	jne    0x45a03f
45a035:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
45a039:	eb 04                	jmp    0x45a03f
45a03b:	83 4f 78 ff          	orl    $0xffffffff,0x78(%edi)
45a03f:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45a043:	8b 1d f0 05 4b 00    	mov    0x4b05f0,%ebx
45a049:	7c 54                	jl     0x45a09f
45a04b:	8d 45 f0             	lea    -0x10(%ebp),%eax
45a04e:	50                   	push   %eax
45a04f:	ff 76 1c             	push   0x1c(%esi)
45a052:	ff 15 64 06 4b 00    	call   *0x4b0664
45a058:	ff 75 f4             	push   -0xc(%ebp)
45a05b:	ff 75 f0             	push   -0x10(%ebp)
45a05e:	ff 15 40 06 4b 00    	call   *0x4b0640
45a064:	8b f8                	mov    %eax,%edi
45a066:	85 ff                	test   %edi,%edi
45a068:	74 24                	je     0x45a08e
45a06a:	8b 46 1c             	mov    0x1c(%esi),%eax
45a06d:	3b f8                	cmp    %eax,%edi
45a06f:	74 28                	je     0x45a099
45a071:	57                   	push   %edi
45a072:	50                   	push   %eax
45a073:	ff 15 b4 06 4b 00    	call   *0x4b06b4
45a079:	85 c0                	test   %eax,%eax
45a07b:	75 1c                	jne    0x45a099
45a07d:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a080:	8b 40 3c             	mov    0x3c(%eax),%eax
45a083:	85 c0                	test   %eax,%eax
45a085:	74 03                	je     0x45a08a
45a087:	8b 40 1c             	mov    0x1c(%eax),%eax
45a08a:	3b c7                	cmp    %edi,%eax
45a08c:	74 0b                	je     0x45a099
45a08e:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a091:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
45a095:	83 48 78 ff          	orl    $0xffffffff,0x78(%eax)
45a099:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45a09d:	7d 1f                	jge    0x45a0be
45a09f:	8b 45 f8             	mov    -0x8(%ebp),%eax
45a0a2:	83 78 78 ff          	cmpl   $0xffffffff,0x78(%eax)
45a0a6:	75 0a                	jne    0x45a0b2
45a0a8:	68 01 e0 00 00       	push   $0xe001
45a0ad:	ff 76 1c             	push   0x1c(%esi)
45a0b0:	ff d3                	call   *%ebx
45a0b2:	8b 06                	mov    (%esi),%eax
45a0b4:	6a ff                	push   $0xffffffff
45a0b6:	8b ce                	mov    %esi,%ecx
45a0b8:	ff 90 60 01 00 00    	call   *0x160(%eax)
45a0be:	b8 00 e0 00 00       	mov    $0xe000,%eax
45a0c3:	39 45 08             	cmp    %eax,0x8(%ebp)
45a0c6:	75 19                	jne    0x45a0e1
45a0c8:	50                   	push   %eax
45a0c9:	ff 76 1c             	push   0x1c(%esi)
45a0cc:	ff d3                	call   *%ebx
45a0ce:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45a0d2:	7c 0d                	jl     0x45a0e1
45a0d4:	ff 75 fc             	push   -0x4(%ebp)
45a0d7:	8b 06                	mov    (%esi),%eax
45a0d9:	8b ce                	mov    %esi,%ecx
45a0db:	ff 90 60 01 00 00    	call   *0x160(%eax)
45a0e1:	5f                   	pop    %edi
45a0e2:	5b                   	pop    %ebx
45a0e3:	5e                   	pop    %esi
45a0e4:	c9                   	leave
45a0e5:	c2 04 00             	ret    $0x4
45a0e8:	8b 44 24 08          	mov    0x8(%esp),%eax
45a0ec:	56                   	push   %esi
45a0ed:	0f bf d0             	movswl %ax,%edx
45a0f0:	6a 00                	push   $0x0
45a0f2:	51                   	push   %ecx
45a0f3:	c1 e8 10             	shr    $0x10,%eax
45a0f6:	8b f1                	mov    %ecx,%esi
45a0f8:	51                   	push   %ecx
45a0f9:	0f bf c0             	movswl %ax,%eax
45a0fc:	8b cc                	mov    %esp,%ecx
45a0fe:	89 11                	mov    %edx,(%ecx)
45a100:	89 41 04             	mov    %eax,0x4(%ecx)
45a103:	8b 06                	mov    (%esi),%eax
45a105:	8b ce                	mov    %esi,%ecx
45a107:	ff 50 6c             	call   *0x6c(%eax)
45a10a:	83 f8 ff             	cmp    $0xffffffff,%eax
45a10d:	74 07                	je     0x45a116
45a10f:	05 00 00 01 00       	add    $0x10000,%eax
45a114:	eb 18                	jmp    0x45a12e
45a116:	ff 76 1c             	push   0x1c(%esi)
45a119:	ff 15 0c 08 4b 00    	call   *0x4b080c
45a11f:	0f b7 c0             	movzwl %ax,%eax
45a122:	8d 88 00 00 05 00    	lea    0x50000(%eax),%ecx
45a128:	f7 d8                	neg    %eax
45a12a:	1b c0                	sbb    %eax,%eax
45a12c:	23 c1                	and    %ecx,%eax
45a12e:	5e                   	pop    %esi
45a12f:	c2 08 00             	ret    $0x8
45a132:	55                   	push   %ebp
45a133:	8b ec                	mov    %esp,%ebp
45a135:	83 ec 14             	sub    $0x14,%esp
45a138:	56                   	push   %esi
45a139:	8b 75 08             	mov    0x8(%ebp),%esi
45a13c:	57                   	push   %edi
45a13d:	56                   	push   %esi
45a13e:	6a 00                	push   $0x0
45a140:	8b f9                	mov    %ecx,%edi
45a142:	6a 46                	push   $0x46
45a144:	ff 77 1c             	push   0x1c(%edi)
45a147:	ff 15 28 07 4b 00    	call   *0x4b0728
45a14d:	f6 46 18 01          	testb  $0x1,0x18(%esi)
45a151:	0f 85 d6 00 00 00    	jne    0x45a22d
45a157:	53                   	push   %ebx
45a158:	8d 45 ec             	lea    -0x14(%ebp),%eax
45a15b:	50                   	push   %eax
45a15c:	ff 77 1c             	push   0x1c(%edi)
45a15f:	ff 15 40 07 4b 00    	call   *0x4b0740
45a165:	8b 45 08             	mov    0x8(%ebp),%eax
45a168:	8b 75 f4             	mov    -0xc(%ebp),%esi
45a16b:	8b 48 10             	mov    0x10(%eax),%ecx
45a16e:	2b 75 ec             	sub    -0x14(%ebp),%esi
45a171:	8b 5d f8             	mov    -0x8(%ebp),%ebx
45a174:	2b 5d f0             	sub    -0x10(%ebp),%ebx
45a177:	3b ce                	cmp    %esi,%ecx
45a179:	8b 40 14             	mov    0x14(%eax),%eax
45a17c:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45a17f:	89 45 08             	mov    %eax,0x8(%ebp)
45a182:	74 56                	je     0x45a1da
45a184:	f6 47 7d 04          	testb  $0x4,0x7d(%edi)
45a188:	74 50                	je     0x45a1da
45a18a:	50                   	push   %eax
45a18b:	51                   	push   %ecx