440dac:	85 c0                	test   %eax,%eax
440dae:	0f 4e f0             	cmovle %eax,%esi
440db1:	b8 05 40 00 80       	mov    $0x80004005,%eax
440db6:	85 f6                	test   %esi,%esi
440db8:	0f 49 f0             	cmovns %eax,%esi
440dbb:	56                   	push   %esi
440dbc:	68 27 01 00 00       	push   $0x127
440dc1:	68 34 64 46 00       	push   $0x466434
440dc6:	e8 08 2a fc ff       	call   0x4037d3
440dcb:	eb 67                	jmp    0x440e34
440dcd:	8b 45 fc             	mov    -0x4(%ebp),%eax
440dd0:	40                   	inc    %eax
440dd1:	50                   	push   %eax
440dd2:	57                   	push   %edi
440dd3:	89 45 fc             	mov    %eax,-0x4(%ebp)
440dd6:	e8 03 11 fc ff       	call   0x401ede
440ddb:	8b f0                	mov    %eax,%esi
440ddd:	85 f6                	test   %esi,%esi
440ddf:	78 53                	js     0x440e34
440de1:	53                   	push   %ebx
440de2:	53                   	push   %ebx
440de3:	53                   	push   %ebx
440de4:	53                   	push   %ebx
440de5:	8d 45 fc             	lea    -0x4(%ebp),%eax
440de8:	50                   	push   %eax
440de9:	ff 37                	push   (%edi)
440deb:	ff 75 0c             	push   0xc(%ebp)
440dee:	ff 75 08             	push   0x8(%ebp)
440df1:	ff 15 54 b6 46 00    	call   *0x46b654
440df7:	85 c0                	test   %eax,%eax
440df9:	74 2e                	je     0x440e29
440dfb:	0f b7 f0             	movzwl %ax,%esi
440dfe:	81 ce 00 00 07 80    	or     $0x80070000,%esi
440e04:	85 c0                	test   %eax,%eax
440e06:	0f 4e f0             	cmovle %eax,%esi
440e09:	b8 05 40 00 80       	mov    $0x80004005,%eax
440e0e:	85 f6                	test   %esi,%esi
440e10:	0f 49 f0             	cmovns %eax,%esi
440e13:	56                   	push   %esi
440e14:	68 33 01 00 00       	push   $0x133
440e19:	eb a6                	jmp    0x440dc1
440e1b:	3d 03 01 00 00       	cmp    $0x103,%eax
440e20:	75 d5                	jne    0x440df7
440e22:	be 03 01 07 80       	mov    $0x80070103,%esi
440e27:	eb 0b                	jmp    0x440e34
440e29:	8b 0f                	mov    (%edi),%ecx
440e2b:	33 d2                	xor    %edx,%edx
440e2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
440e30:	66 89 14 41          	mov    %dx,(%ecx,%eax,2)
440e34:	5f                   	pop    %edi
440e35:	8b c6                	mov    %esi,%eax
440e37:	5e                   	pop    %esi
440e38:	5b                   	pop    %ebx
440e39:	8b e5                	mov    %ebp,%esp
440e3b:	5d                   	pop    %ebp
440e3c:	c2 0c 00             	ret    $0xc
440e3f:	55                   	push   %ebp
440e40:	8b ec                	mov    %esp,%ebp
440e42:	56                   	push   %esi
440e43:	ff 75 14             	push   0x14(%ebp)
440e46:	33 f6                	xor    %esi,%esi
440e48:	ff 75 10             	push   0x10(%ebp)
440e4b:	56                   	push   %esi
440e4c:	ff 75 0c             	push   0xc(%ebp)
440e4f:	ff 75 08             	push   0x8(%ebp)
440e52:	ff 15 4c b6 46 00    	call   *0x46b64c
440e58:	8b c8                	mov    %eax,%ecx
440e5a:	ba 02 00 07 80       	mov    $0x80070002,%edx
440e5f:	0f b7 c1             	movzwl %cx,%eax
440e62:	0d 00 00 07 80       	or     $0x80070000,%eax
440e67:	85 c9                	test   %ecx,%ecx
440e69:	0f 4e c1             	cmovle %ecx,%eax
440e6c:	3b c2                	cmp    %edx,%eax
440e6e:	75 04                	jne    0x440e74
440e70:	8b f2                	mov    %edx,%esi
440e72:	eb 20                	jmp    0x440e94
440e74:	85 c9                	test   %ecx,%ecx
440e76:	74 1c                	je     0x440e94
440e78:	8b f0                	mov    %eax,%esi
440e7a:	b8 05 40 00 80       	mov    $0x80004005,%eax
440e7f:	85 f6                	test   %esi,%esi
440e81:	0f 49 f0             	cmovns %eax,%esi
440e84:	56                   	push   %esi
440e85:	68 a7 00 00 00       	push   $0xa7
440e8a:	68 34 64 46 00       	push   $0x466434
440e8f:	e8 3f 29 fc ff       	call   0x4037d3
440e94:	8b c6                	mov    %esi,%eax
440e96:	5e                   	pop    %esi
440e97:	5d                   	pop    %ebp
440e98:	c2 10 00             	ret    $0x10
440e9b:	55                   	push   %ebp
440e9c:	8b ec                	mov    %esp,%ebp
440e9e:	56                   	push   %esi
440e9f:	33 f6                	xor    %esi,%esi
440ea1:	56                   	push   %esi
440ea2:	56                   	push   %esi
440ea3:	56                   	push   %esi
440ea4:	56                   	push   %esi
440ea5:	ff 75 10             	push   0x10(%ebp)
440ea8:	56                   	push   %esi
440ea9:	56                   	push   %esi
440eaa:	ff 75 0c             	push   0xc(%ebp)
440ead:	56                   	push   %esi
440eae:	56                   	push   %esi
440eaf:	56                   	push   %esi
440eb0:	ff 75 08             	push   0x8(%ebp)
440eb3:	ff 15 5c b6 46 00    	call   *0x46b65c
440eb9:	85 c0                	test   %eax,%eax
440ebb:	74 28                	je     0x440ee5
440ebd:	0f b7 f0             	movzwl %ax,%esi
440ec0:	81 ce 00 00 07 80    	or     $0x80070000,%esi
440ec6:	85 c0                	test   %eax,%eax
440ec8:	0f 4e f0             	cmovle %eax,%esi
440ecb:	b8 05 40 00 80       	mov    $0x80004005,%eax
440ed0:	85 f6                	test   %esi,%esi
440ed2:	0f 49 f0             	cmovns %eax,%esi
440ed5:	56                   	push   %esi
440ed6:	68 9a 03 00 00       	push   $0x39a
440edb:	68 34 64 46 00       	push   $0x466434
440ee0:	e8 ee 28 fc ff       	call   0x4037d3
440ee5:	8b c6                	mov    %esi,%eax
440ee7:	5e                   	pop    %esi
440ee8:	5d                   	pop    %ebp
440ee9:	c2 0c 00             	ret    $0xc
440eec:	55                   	push   %ebp
440eed:	8b ec                	mov    %esp,%ebp
440eef:	51                   	push   %ecx
440ef0:	51                   	push   %ecx
440ef1:	56                   	push   %esi
440ef2:	8d 45 f8             	lea    -0x8(%ebp),%eax
440ef5:	c7 45 f8 04 00 00 00 	movl   $0x4,-0x8(%ebp)
440efc:	50                   	push   %eax
440efd:	ff 75 10             	push   0x10(%ebp)
440f00:	8d 45 fc             	lea    -0x4(%ebp),%eax
440f03:	33 f6                	xor    %esi,%esi
440f05:	50                   	push   %eax
440f06:	56                   	push   %esi
440f07:	ff 75 0c             	push   0xc(%ebp)
440f0a:	89 75 fc             	mov    %esi,-0x4(%ebp)
440f0d:	ff 75 08             	push   0x8(%ebp)
440f10:	ff 15 60 b6 46 00    	call   *0x46b660
440f16:	8b c8                	mov    %eax,%ecx
440f18:	ba 02 00 07 80       	mov    $0x80070002,%edx
440f1d:	0f b7 c1             	movzwl %cx,%eax
440f20:	0d 00 00 07 80       	or     $0x80070000,%eax
440f25:	85 c9                	test   %ecx,%ecx
440f27:	0f 4e c1             	cmovle %ecx,%eax
440f2a:	3b c2                	cmp    %edx,%eax
440f2c:	75 04                	jne    0x440f32
440f2e:	8b f2                	mov    %edx,%esi
440f30:	eb 33                	jmp    0x440f65
440f32:	85 c9                	test   %ecx,%ecx
440f34:	74 14                	je     0x440f4a
440f36:	8b f0                	mov    %eax,%esi
440f38:	b8 05 40 00 80       	mov    $0x80004005,%eax
440f3d:	85 f6                	test   %esi,%esi
440f3f:	0f 49 f0             	cmovns %eax,%esi
440f42:	56                   	push   %esi
440f43:	68 9c 02 00 00       	push   $0x29c
440f48:	eb 11                	jmp    0x440f5b
440f4a:	83 7d fc 04          	cmpl   $0x4,-0x4(%ebp)
440f4e:	74 15                	je     0x440f65
440f50:	be 0c 07 07 80       	mov    $0x8007070c,%esi
440f55:	56                   	push   %esi
440f56:	68 a1 02 00 00       	push   $0x2a1
440f5b:	68 34 64 46 00       	push   $0x466434
440f60:	e8 6e 28 fc ff       	call   0x4037d3
440f65:	8b c6                	mov    %esi,%eax
440f67:	5e                   	pop    %esi
440f68:	8b e5                	mov    %ebp,%esp
440f6a:	5d                   	pop    %ebp
440f6b:	c2 0c 00             	ret    $0xc
440f6e:	55                   	push   %ebp
440f6f:	8b ec                	mov    %esp,%ebp
440f71:	83 ec 10             	sub    $0x10,%esp
440f74:	53                   	push   %ebx
440f75:	33 db                	xor    %ebx,%ebx
440f77:	56                   	push   %esi
440f78:	57                   	push   %edi
440f79:	8b 7d 10             	mov    0x10(%ebp),%edi
440f7c:	89 5d fc             	mov    %ebx,-0x4(%ebp)
440f7f:	89 5d f4             	mov    %ebx,-0xc(%ebp)
440f82:	89 5d f8             	mov    %ebx,-0x8(%ebp)
440f85:	89 5d f0             	mov    %ebx,-0x10(%ebp)
440f88:	85 ff                	test   %edi,%edi
440f8a:	74 21                	je     0x440fad
440f8c:	39 1f                	cmp    %ebx,(%edi)
440f8e:	74 1d                	je     0x440fad
440f90:	8d 45 fc             	lea    -0x4(%ebp),%eax
440f93:	50                   	push   %eax
440f94:	ff 37                	push   (%edi)
440f96:	e8 c2 17 fc ff       	call   0x40275d
440f9b:	8b f0                	mov    %eax,%esi
440f9d:	85 f6                	test   %esi,%esi
440f9f:	0f 88 08 01 00 00    	js     0x4410ad
440fa5:	8b 45 fc             	mov    -0x4(%ebp),%eax
440fa8:	83 f8 02             	cmp    $0x2,%eax
440fab:	73 1c                	jae    0x440fc9
440fad:	6a 02                	push   $0x2
440faf:	57                   	push   %edi
440fb0:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
440fb7:	e8 22 0f fc ff       	call   0x401ede
440fbc:	8b f0                	mov    %eax,%esi
440fbe:	85 f6                	test   %esi,%esi
440fc0:	0f 88 e7 00 00 00    	js     0x4410ad
440fc6:	8b 45 fc             	mov    -0x4(%ebp),%eax
440fc9:	8d 04 45 fe ff ff ff 	lea    -0x2(,%eax,2),%eax
440fd0:	89 45 f4             	mov    %eax,-0xc(%ebp)
440fd3:	8d 45 f4             	lea    -0xc(%ebp),%eax
440fd6:	50                   	push   %eax
440fd7:	ff 37                	push   (%edi)
440fd9:	8d 45 f8             	lea    -0x8(%ebp),%eax
440fdc:	50                   	push   %eax
440fdd:	53                   	push   %ebx
440fde:	ff 75 0c             	push   0xc(%ebp)
440fe1:	ff 75 08             	push   0x8(%ebp)
440fe4:	ff 15 60 b6 46 00    	call   *0x46b660
440fea:	8b c8                	mov    %eax,%ecx
440fec:	81 f9 ea 00 00 00    	cmp    $0xea,%ecx
440ff2:	75 33                	jne    0x441027
440ff4:	8b 45 f4             	mov    -0xc(%ebp),%eax
440ff7:	d1 e8                	shr    $1,%eax
440ff9:	40                   	inc    %eax
440ffa:	50                   	push   %eax
440ffb:	57                   	push   %edi
440ffc:	89 45 fc             	mov    %eax,-0x4(%ebp)
440fff:	e8 da 0e fc ff       	call   0x401ede
441004:	8b f0                	mov    %eax,%esi
441006:	85 f6                	test   %esi,%esi
441008:	0f 88 9f 00 00 00    	js     0x4410ad
44100e:	8d 45 f4             	lea    -0xc(%ebp),%eax
441011:	50                   	push   %eax
441012:	ff 37                	push   (%edi)
441014:	8d 45 f8             	lea    -0x8(%ebp),%eax
441017:	50                   	push   %eax
441018:	53                   	push   %ebx
441019:	ff 75 0c             	push   0xc(%ebp)
44101c:	ff 75 08             	push   0x8(%ebp)
44101f:	ff 15 60 b6 46 00    	call   *0x46b660
441025:	8b c8                	mov    %eax,%ecx
441027:	0f b7 c1             	movzwl %cx,%eax
44102a:	ba 02 00 07 80       	mov    $0x80070002,%edx
44102f:	0d 00 00 07 80       	or     $0x80070000,%eax
441034:	85 c9                	test   %ecx,%ecx
441036:	0f 4e c1             	cmovle %ecx,%eax
441039:	3b c2                	cmp    %edx,%eax
44103b:	75 04                	jne    0x441041
44103d:	8b f2                	mov    %edx,%esi
44103f:	eb 6c                	jmp    0x4410ad
441041:	85 c9                	test   %ecx,%ecx
441043:	74 1e                	je     0x441063
441045:	8b f0                	mov    %eax,%esi
441047:	b8 05 40 00 80       	mov    $0x80004005,%eax
44104c:	85 f6                	test   %esi,%esi
44104e:	0f 49 f0             	cmovns %eax,%esi
441051:	56                   	push   %esi
441052:	68 dc 01 00 00       	push   $0x1dc
441057:	68 34 64 46 00       	push   $0x466434
44105c:	e8 72 27 fc ff       	call   0x4037d3
441061:	eb 4a                	jmp    0x4410ad
441063:	83 7d f8 01          	cmpl   $0x1,-0x8(%ebp)
441067:	74 13                	je     0x44107c
441069:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
44106d:	74 0d                	je     0x44107c
44106f:	be 0c 07 07 80       	mov    $0x8007070c,%esi
441074:	56                   	push   %esi
441075:	68 ef 01 00 00       	push   $0x1ef
44107a:	eb db                	jmp    0x441057
44107c:	8b 0f                	mov    (%edi),%ecx
44107e:	33 d2                	xor    %edx,%edx
441080:	8b 45 fc             	mov    -0x4(%ebp),%eax
441083:	66 89 54 41 fe       	mov    %dx,-0x2(%ecx,%eax,2)
441088:	83 7d f8 02          	cmpl   $0x2,-0x8(%ebp)
44108c:	75 1f                	jne    0x4410ad
44108e:	53                   	push   %ebx
44108f:	ff 37                	push   (%edi)
441091:	8d 45 f0             	lea    -0x10(%ebp),%eax
441094:	50                   	push   %eax
441095:	e8 0b 11 fc ff       	call   0x4021a5
44109a:	8b f0                	mov    %eax,%esi
44109c:	85 f6                	test   %esi,%esi
44109e:	78 0d                	js     0x4410ad
4410a0:	6a 01                	push   $0x1
4410a2:	ff 75 f0             	push   -0x10(%ebp)
4410a5:	57                   	push   %edi
4410a6:	e8 d8 1f fc ff       	call   0x403083
4410ab:	8b f0                	mov    %eax,%esi
4410ad:	39 5d f0             	cmp    %ebx,-0x10(%ebp)
4410b0:	74 08                	je     0x4410ba
4410b2:	ff 75 f0             	push   -0x10(%ebp)
4410b5:	e8 35 44 00 00       	call   0x4454ef
4410ba:	5f                   	pop    %edi
4410bb:	8b c6                	mov    %esi,%eax
4410bd:	5e                   	pop    %esi
4410be:	5b                   	pop    %ebx
4410bf:	8b e5                	mov    %ebp,%esp
4410c1:	5d                   	pop    %ebp
4410c2:	c2 0c 00             	ret    $0xc
4410c5:	55                   	push   %ebp
4410c6:	8b ec                	mov    %esp,%ebp
4410c8:	83 ec 0c             	sub    $0xc,%esp
4410cb:	53                   	push   %ebx
4410cc:	56                   	push   %esi
4410cd:	57                   	push   %edi
4410ce:	33 c9                	xor    %ecx,%ecx
4410d0:	8d 45 f8             	lea    -0x8(%ebp),%eax
4410d3:	50                   	push   %eax
4410d4:	51                   	push   %ecx
4410d5:	8d 45 f4             	lea    -0xc(%ebp),%eax
4410d8:	89 4d f4             	mov    %ecx,-0xc(%ebp)
4410db:	50                   	push   %eax
4410dc:	51                   	push   %ecx
4410dd:	ff 75 0c             	push   0xc(%ebp)
4410e0:	8b d9                	mov    %ecx,%ebx
4410e2:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4410e5:	ff 75 08             	push   0x8(%ebp)
4410e8:	8b f9                	mov    %ecx,%edi
4410ea:	89 4d fc             	mov    %ecx,-0x4(%ebp)
4410ed:	ff 15 60 b6 46 00    	call   *0x46b660
4410f3:	8b 55 f8             	mov    -0x8(%ebp),%edx
4410f6:	8b c8                	mov    %eax,%ecx
4410f8:	85 d2                	test   %edx,%edx
4410fa:	74 35                	je     0x441131
4410fc:	8b fa                	mov    %edx,%edi
4410fe:	8d 45 fc             	lea    -0x4(%ebp),%eax
441101:	d1 ef                	shr    $1,%edi
441103:	57                   	push   %edi
441104:	50                   	push   %eax
441105:	e8 d4 0d fc ff       	call   0x401ede
44110a:	8b f0                	mov    %eax,%esi
44110c:	85 f6                	test   %esi,%esi
44110e:	0f 88 21 01 00 00    	js     0x441235
441114:	8d 45 f8             	lea    -0x8(%ebp),%eax
441117:	50                   	push   %eax
441118:	ff 75 fc             	push   -0x4(%ebp)
44111b:	8d 45 f4             	lea    -0xc(%ebp),%eax
44111e:	50                   	push   %eax
44111f:	53                   	push   %ebx
441120:	ff 75 0c             	push   0xc(%ebp)
441123:	ff 75 08             	push   0x8(%ebp)
441126:	ff 15 60 b6 46 00    	call   *0x46b660
44112c:	8b 55 f8             	mov    -0x8(%ebp),%edx
44112f:	8b c8                	mov    %eax,%ecx
441131:	0f b7 c1             	movzwl %cx,%eax
441134:	be 02 00 07 80       	mov    $0x80070002,%esi
441139:	0d 00 00 07 80       	or     $0x80070000,%eax
44113e:	85 c9                	test   %ecx,%ecx
441140:	0f 4e c1             	cmovle %ecx,%eax
441143:	3b c6                	cmp    %esi,%eax
441145:	0f 84 ea 00 00 00    	je     0x441235