445d1f:	83 f9 08             	cmp    $0x8,%ecx
445d22:	72 d1                	jb     0x445cf5
445d24:	83 f9 08             	cmp    $0x8,%ecx
445d27:	74 07                	je     0x445d30
445d29:	83 23 00             	andl   $0x0,(%ebx)
445d2c:	83 63 04 00          	andl   $0x0,0x4(%ebx)
445d30:	8b 45 10             	mov    0x10(%ebp),%eax
445d33:	89 38                	mov    %edi,(%eax)
445d35:	83 cf ff             	or     $0xffffffff,%edi
445d38:	eb 2e                	jmp    0x445d68
445d3a:	ff 15 e8 b0 44 00    	call   *0x44b0e8
445d40:	0f b7 f0             	movzwl %ax,%esi
445d43:	81 ce 00 00 07 80    	or     $0x80070000,%esi
445d49:	85 c0                	test   %eax,%eax
445d4b:	0f 4e f0             	cmovle %eax,%esi
445d4e:	b8 05 40 00 80       	mov    $0x80004005,%eax
445d53:	85 f6                	test   %esi,%esi
445d55:	0f 49 f0             	cmovns %eax,%esi
445d58:	56                   	push   %esi
445d59:	68 c8 00 00 00       	push   $0xc8
445d5e:	68 5c 68 46 00       	push   $0x46685c
445d63:	e8 6b da fb ff       	call   0x4037d3
445d68:	83 ff ff             	cmp    $0xffffffff,%edi
445d6b:	74 07                	je     0x445d74
445d6d:	57                   	push   %edi
445d6e:	ff 15 d4 b0 44 00    	call   *0x44b0d4
445d74:	5f                   	pop    %edi
445d75:	8b c6                	mov    %esi,%eax
445d77:	5e                   	pop    %esi
445d78:	5b                   	pop    %ebx
445d79:	8b e5                	mov    %ebp,%esp
445d7b:	5d                   	pop    %ebp
445d7c:	c2 10 00             	ret    $0x10
445d7f:	55                   	push   %ebp
445d80:	8b ec                	mov    %esp,%ebp
445d82:	83 ec 24             	sub    $0x24,%esp
445d85:	53                   	push   %ebx
445d86:	56                   	push   %esi
445d87:	57                   	push   %edi
445d88:	33 f6                	xor    %esi,%esi
445d8a:	8d 7d dc             	lea    -0x24(%ebp),%edi
445d8d:	6a 07                	push   $0x7
445d8f:	33 c0                	xor    %eax,%eax
445d91:	8b de                	mov    %esi,%ebx
445d93:	59                   	pop    %ecx
445d94:	f3 ab                	rep stos %eax,%es:(%edi)
445d96:	89 5d fc             	mov    %ebx,-0x4(%ebp)
445d99:	8b f8                	mov    %eax,%edi
445d9b:	eb 02                	jmp    0x445d9f
445d9d:	33 f6                	xor    %esi,%esi
445d9f:	89 75 f8             	mov    %esi,-0x8(%ebp)
445da2:	85 db                	test   %ebx,%ebx
445da4:	74 0c                	je     0x445db2
445da6:	53                   	push   %ebx
445da7:	ff 15 6c a9 46 00    	call   *0x46a96c
445dad:	8b de                	mov    %esi,%ebx
445daf:	89 5d fc             	mov    %ebx,-0x4(%ebp)
445db2:	85 ff                	test   %edi,%edi
445db4:	74 09                	je     0x445dbf
445db6:	57                   	push   %edi
445db7:	ff 15 6c a9 46 00    	call   *0x46a96c
445dbd:	8b fe                	mov    %esi,%edi
445dbf:	8d 45 dc             	lea    -0x24(%ebp),%eax
445dc2:	50                   	push   %eax
445dc3:	8b 45 0c             	mov    0xc(%ebp),%eax
445dc6:	ff 30                	push   (%eax)
445dc8:	e8 aa 2e 00 00       	call   0x448c77
445dcd:	8b f0                	mov    %eax,%esi
445dcf:	85 f6                	test   %esi,%esi
445dd1:	0f 88 0e 01 00 00    	js     0x445ee5
445dd7:	8b 75 1c             	mov    0x1c(%ebp),%esi
445dda:	33 ff                	xor    %edi,%edi
445ddc:	85 f6                	test   %esi,%esi
445dde:	74 07                	je     0x445de7
445de0:	8b d6                	mov    %esi,%edx
445de2:	66 39 3e             	cmp    %di,(%esi)
445de5:	75 03                	jne    0x445dea
445de7:	8b 55 ec             	mov    -0x14(%ebp),%edx
445dea:	8b 45 18             	mov    0x18(%ebp),%eax
445ded:	85 c0                	test   %eax,%eax
445def:	74 07                	je     0x445df8
445df1:	8b c8                	mov    %eax,%ecx
445df3:	66 39 38             	cmp    %di,(%eax)
445df6:	75 03                	jne    0x445dfb
445df8:	8b 4d e8             	mov    -0x18(%ebp),%ecx
445dfb:	57                   	push   %edi
445dfc:	57                   	push   %edi
445dfd:	6a 03                	push   $0x3
445dff:	58                   	pop    %eax
445e00:	33 ff                	xor    %edi,%edi
445e02:	47                   	inc    %edi
445e03:	39 7d dc             	cmp    %edi,-0x24(%ebp)
445e06:	0f 44 c7             	cmove  %edi,%eax
445e09:	50                   	push   %eax
445e0a:	52                   	push   %edx
445e0b:	51                   	push   %ecx
445e0c:	ff 75 e4             	push   -0x1c(%ebp)
445e0f:	ff 75 e0             	push   -0x20(%ebp)
445e12:	ff 75 08             	push   0x8(%ebp)
445e15:	ff 15 94 a9 46 00    	call   *0x46a994
445e1b:	8b f8                	mov    %eax,%edi
445e1d:	85 ff                	test   %edi,%edi
445e1f:	0f 84 92 00 00 00    	je     0x445eb7
445e25:	8b 5d 18             	mov    0x18(%ebp),%ebx
445e28:	85 db                	test   %ebx,%ebx
445e2a:	74 36                	je     0x445e62
445e2c:	33 c0                	xor    %eax,%eax
445e2e:	66 39 03             	cmp    %ax,(%ebx)
445e31:	74 2f                	je     0x445e62
445e33:	85 f6                	test   %esi,%esi
445e35:	74 2b                	je     0x445e62
445e37:	66 39 06             	cmp    %ax,(%esi)
445e3a:	74 26                	je     0x445e62
445e3c:	53                   	push   %ebx
445e3d:	ff 15 f8 b0 44 00    	call   *0x44b0f8
445e43:	50                   	push   %eax
445e44:	53                   	push   %ebx
445e45:	8b 1d 70 a9 46 00    	mov    0x46a970,%ebx
445e4b:	6a 2b                	push   $0x2b
445e4d:	57                   	push   %edi
445e4e:	ff d3                	call   *%ebx
445e50:	85 c0                	test   %eax,%eax
445e52:	74 0e                	je     0x445e62
445e54:	56                   	push   %esi
445e55:	ff 15 f8 b0 44 00    	call   *0x44b0f8
445e5b:	50                   	push   %eax
445e5c:	56                   	push   %esi
445e5d:	6a 2c                	push   $0x2c
445e5f:	57                   	push   %edi
445e60:	ff d3                	call   *%ebx
445e62:	8d 45 fc             	lea    -0x4(%ebp),%eax
445e65:	50                   	push   %eax
445e66:	ff 75 14             	push   0x14(%ebp)
445e69:	ff 75 f4             	push   -0xc(%ebp)
445e6c:	ff 75 f0             	push   -0x10(%ebp)
445e6f:	ff 75 dc             	push   -0x24(%ebp)
445e72:	ff 75 10             	push   0x10(%ebp)
445e75:	57                   	push   %edi
445e76:	e8 94 00 00 00       	call   0x445f0f
445e7b:	8b 5d fc             	mov    -0x4(%ebp),%ebx
445e7e:	8b f0                	mov    %eax,%esi
445e80:	85 f6                	test   %esi,%esi
445e82:	78 61                	js     0x445ee5
445e84:	ff 75 2c             	push   0x2c(%ebp)
445e87:	8d 45 f8             	lea    -0x8(%ebp),%eax
445e8a:	50                   	push   %eax
445e8b:	ff 75 20             	push   0x20(%ebp)
445e8e:	ff 75 0c             	push   0xc(%ebp)
445e91:	53                   	push   %ebx
445e92:	e8 94 01 00 00       	call   0x44602b
445e97:	8b f0                	mov    %eax,%esi
445e99:	85 f6                	test   %esi,%esi
445e9b:	78 48                	js     0x445ee5
445e9d:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
445ea1:	0f 85 f6 fe ff ff    	jne    0x445d9d
445ea7:	8b 45 24             	mov    0x24(%ebp),%eax
445eaa:	89 38                	mov    %edi,(%eax)
445eac:	33 ff                	xor    %edi,%edi
445eae:	8b 45 28             	mov    0x28(%ebp),%eax
445eb1:	89 18                	mov    %ebx,(%eax)
445eb3:	33 db                	xor    %ebx,%ebx
445eb5:	eb 2e                	jmp    0x445ee5
445eb7:	ff 15 e8 b0 44 00    	call   *0x44b0e8
445ebd:	0f b7 f0             	movzwl %ax,%esi
445ec0:	81 ce 00 00 07 80    	or     $0x80070000,%esi
445ec6:	85 c0                	test   %eax,%eax
445ec8:	0f 4e f0             	cmovle %eax,%esi
445ecb:	b8 05 40 00 80       	mov    $0x80004005,%eax
445ed0:	85 f6                	test   %esi,%esi
445ed2:	0f 49 f0             	cmovns %eax,%esi
445ed5:	56                   	push   %esi
445ed6:	68 fe 01 00 00       	push   $0x1fe
445edb:	68 5c 68 46 00       	push   $0x46685c
445ee0:	e8 ee d8 fb ff       	call   0x4037d3
445ee5:	8d 45 dc             	lea    -0x24(%ebp),%eax
445ee8:	50                   	push   %eax
445ee9:	e8 b4 2d 00 00       	call   0x448ca2
445eee:	85 db                	test   %ebx,%ebx
445ef0:	74 07                	je     0x445ef9
445ef2:	53                   	push   %ebx
445ef3:	ff 15 6c a9 46 00    	call   *0x46a96c
445ef9:	85 ff                	test   %edi,%edi
445efb:	74 07                	je     0x445f04
445efd:	57                   	push   %edi
445efe:	ff 15 6c a9 46 00    	call   *0x46a96c
445f04:	5f                   	pop    %edi
445f05:	8b c6                	mov    %esi,%eax
445f07:	5e                   	pop    %esi
445f08:	5b                   	pop    %ebx
445f09:	8b e5                	mov    %ebp,%esp
445f0b:	5d                   	pop    %ebp
445f0c:	c2 28 00             	ret    $0x28
445f0f:	55                   	push   %ebp
445f10:	8b ec                	mov    %esp,%ebp
445f12:	51                   	push   %ecx
445f13:	53                   	push   %ebx
445f14:	56                   	push   %esi
445f15:	57                   	push   %edi
445f16:	33 db                	xor    %ebx,%ebx
445f18:	b8 00 02 40 84       	mov    $0x84400200,%eax
445f1d:	83 7d 10 04          	cmpl   $0x4,0x10(%ebp)
445f21:	bf 00 02 c0 84       	mov    $0x84c00200,%edi
445f26:	53                   	push   %ebx
445f27:	ff 75 14             	push   0x14(%ebp)
445f2a:	0f 45 f8             	cmovne %eax,%edi
445f2d:	89 5d fc             	mov    %ebx,-0x4(%ebp)
445f30:	8d 45 fc             	lea    -0x4(%ebp),%eax
445f33:	50                   	push   %eax
445f34:	e8 6c c2 fb ff       	call   0x4021a5
445f39:	8b f0                	mov    %eax,%esi
445f3b:	85 f6                	test   %esi,%esi
445f3d:	0f 88 d0 00 00 00    	js     0x446013
445f43:	8b 45 18             	mov    0x18(%ebp),%eax
445f46:	85 c0                	test   %eax,%eax
445f48:	74 1a                	je     0x445f64
445f4a:	66 39 18             	cmp    %bx,(%eax)
445f4d:	74 15                	je     0x445f64
445f4f:	53                   	push   %ebx
445f50:	50                   	push   %eax
445f51:	8d 45 fc             	lea    -0x4(%ebp),%eax
445f54:	50                   	push   %eax
445f55:	e8 98 bf fb ff       	call   0x401ef2
445f5a:	8b f0                	mov    %eax,%esi
445f5c:	85 f6                	test   %esi,%esi
445f5e:	0f 88 af 00 00 00    	js     0x446013
445f64:	53                   	push   %ebx
445f65:	57                   	push   %edi
445f66:	68 c4 a7 46 00       	push   $0x46a7c4
445f6b:	53                   	push   %ebx
445f6c:	53                   	push   %ebx
445f6d:	ff 75 fc             	push   -0x4(%ebp)
445f70:	ff 75 0c             	push   0xc(%ebp)
445f73:	ff 75 08             	push   0x8(%ebp)
445f76:	ff 15 78 a9 46 00    	call   *0x46a978
445f7c:	8b f8                	mov    %eax,%edi
445f7e:	85 ff                	test   %edi,%edi
445f80:	75 30                	jne    0x445fb2
445f82:	ff 15 e8 b0 44 00    	call   *0x44b0e8
445f88:	0f b7 f0             	movzwl %ax,%esi
445f8b:	81 ce 00 00 07 80    	or     $0x80070000,%esi
445f91:	85 c0                	test   %eax,%eax
445f93:	0f 4e f0             	cmovle %eax,%esi
445f96:	b8 05 40 00 80       	mov    $0x80004005,%eax
445f9b:	85 f6                	test   %esi,%esi
445f9d:	0f 49 f0             	cmovns %eax,%esi
445fa0:	56                   	push   %esi
445fa1:	68 3e 02 00 00       	push   $0x23e
445fa6:	68 5c 68 46 00       	push   $0x46685c
445fab:	e8 23 d8 fb ff       	call   0x4037d3
445fb0:	eb 61                	jmp    0x446013
445fb2:	8b 45 1c             	mov    0x1c(%ebp),%eax
445fb5:	85 c0                	test   %eax,%eax
445fb7:	74 48                	je     0x446001
445fb9:	66 39 18             	cmp    %bx,(%eax)
445fbc:	74 43                	je     0x446001
445fbe:	68 00 00 00 40       	push   $0x40000000
445fc3:	6a ff                	push   $0xffffffff
445fc5:	50                   	push   %eax
445fc6:	57                   	push   %edi
445fc7:	ff 15 80 a9 46 00    	call   *0x46a980
445fcd:	85 c0                	test   %eax,%eax
445fcf:	75 30                	jne    0x446001
445fd1:	ff 15 e8 b0 44 00    	call   *0x44b0e8
445fd7:	0f b7 f0             	movzwl %ax,%esi
445fda:	81 ce 00 00 07 80    	or     $0x80070000,%esi
445fe0:	85 c0                	test   %eax,%eax
445fe2:	0f 4e f0             	cmovle %eax,%esi
445fe5:	b8 05 40 00 80       	mov    $0x80004005,%eax
445fea:	85 f6                	test   %esi,%esi
445fec:	0f 49 f0             	cmovns %eax,%esi
445fef:	56                   	push   %esi
445ff0:	68 44 02 00 00       	push   $0x244
445ff5:	68 5c 68 46 00       	push   $0x46685c
445ffa:	e8 d4 d7 fb ff       	call   0x4037d3
445fff:	eb 07                	jmp    0x446008
446001:	8b 45 20             	mov    0x20(%ebp),%eax
446004:	89 38                	mov    %edi,(%eax)
446006:	8b fb                	mov    %ebx,%edi
446008:	85 ff                	test   %edi,%edi
44600a:	74 07                	je     0x446013
44600c:	57                   	push   %edi
44600d:	ff 15 6c a9 46 00    	call   *0x46a96c
446013:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
446016:	74 08                	je     0x446020
446018:	ff 75 fc             	push   -0x4(%ebp)
44601b:	e8 cf f4 ff ff       	call   0x4454ef
446020:	5f                   	pop    %edi
446021:	8b c6                	mov    %esi,%eax
446023:	5e                   	pop    %esi
446024:	5b                   	pop    %ebx
446025:	8b e5                	mov    %ebp,%esp
446027:	5d                   	pop    %ebp
446028:	c2 1c 00             	ret    $0x1c
44602b:	55                   	push   %ebp
44602c:	8b ec                	mov    %esp,%ebp
44602e:	51                   	push   %ecx
44602f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
446033:	53                   	push   %ebx
446034:	8b 5d 14             	mov    0x14(%ebp),%ebx
446037:	56                   	push   %esi
446038:	57                   	push   %edi
446039:	8b 7d 08             	mov    0x8(%ebp),%edi
44603c:	83 65 14 00          	andl   $0x0,0x14(%ebp)
446040:	6a 00                	push   $0x0
446042:	6a 00                	push   $0x0
446044:	6a 00                	push   $0x0
446046:	6a 00                	push   $0x0
446048:	57                   	push   %edi
446049:	ff 15 84 a9 46 00    	call   *0x46a984
44604f:	85 c0                	test   %eax,%eax
446051:	75 37                	jne    0x44608a
446053:	ff 15 e8 b0 44 00    	call   *0x44b0e8
446059:	0f b7 f0             	movzwl %ax,%esi
44605c:	81 ce 00 00 07 80    	or     $0x80070000,%esi
446062:	85 c0                	test   %eax,%eax
446064:	0f 4e f0             	cmovle %eax,%esi
446067:	8b 45 0c             	mov    0xc(%ebp),%eax
44606a:	ff 30                	push   (%eax)
44606c:	68 f8 68 46 00       	push   $0x4668f8
446071:	56                   	push   %esi
446072:	e8 b8 a0 ff ff       	call   0x44012f
446077:	83 c4 0c             	add    $0xc,%esp
44607a:	8d 45 fc             	lea    -0x4(%ebp),%eax
44607d:	50                   	push   %eax
44607e:	6a 13                	push   $0x13
446080:	57                   	push   %edi
446081:	e8 9e 28 00 00       	call   0x448924
446086:	85 c0                	test   %eax,%eax
446088:	eb 10                	jmp    0x44609a
44608a:	8d 45 fc             	lea    -0x4(%ebp),%eax
44608d:	50                   	push   %eax
44608e:	6a 13                	push   $0x13
446090:	57                   	push   %edi
446091:	e8 8e 28 00 00       	call   0x448924
446096:	8b f0                	mov    %eax,%esi
446098:	85 f6                	test   %esi,%esi
44609a:	0f 88 4f 01 00 00    	js     0x4461ef
4460a0:	8b 45 fc             	mov    -0x4(%ebp),%eax
4460a3:	b9 94 01 00 00       	mov    $0x194,%ecx
4460a8:	3b c1                	cmp    %ecx,%eax
4460aa:	0f 8f 91 00 00 00    	jg     0x446141
4460b0:	0f 84 b1 00 00 00    	je     0x446167
4460b6:	83 c1 9b             	add    $0xffffff9b,%ecx
4460b9:	3b c1                	cmp    %ecx,%eax
4460bb:	7f 57                	jg     0x446114
4460bd:	74 1d                	je     0x4460dc
4460bf:	8b c8                	mov    %eax,%ecx
4460c1:	81 e9 c8 00 00 00    	sub    $0xc8,%ecx
4460c7:	74 3e                	je     0x446107
4460c9:	83 e9 06             	sub    $0x6,%ecx