444cf7:	33 f6                	xor    %esi,%esi
444cf9:	21 75 fc             	and    %esi,-0x4(%ebp)
444cfc:	57                   	push   %edi
444cfd:	33 ff                	xor    %edi,%edi
444cff:	6a 00                	push   $0x0
444d01:	8d 45 fc             	lea    -0x4(%ebp),%eax
444d04:	50                   	push   %eax
444d05:	8b 45 10             	mov    0x10(%ebp),%eax
444d08:	2b c7                	sub    %edi,%eax
444d0a:	50                   	push   %eax
444d0b:	8d 04 1f             	lea    (%edi,%ebx,1),%eax
444d0e:	50                   	push   %eax
444d0f:	ff 75 08             	push   0x8(%ebp)
444d12:	ff 15 30 b1 44 00    	call   *0x44b130
444d18:	85 c0                	test   %eax,%eax
444d1a:	75 18                	jne    0x444d34
444d1c:	ff 15 e8 b0 44 00    	call   *0x44b0e8
444d22:	0f b7 f0             	movzwl %ax,%esi
444d25:	81 ce 00 00 07 80    	or     $0x80070000,%esi
444d2b:	85 c0                	test   %eax,%eax
444d2d:	0f 4e f0             	cmovle %eax,%esi
444d30:	85 f6                	test   %esi,%esi
444d32:	78 0a                	js     0x444d3e
444d34:	03 7d fc             	add    -0x4(%ebp),%edi
444d37:	3b 7d 10             	cmp    0x10(%ebp),%edi
444d3a:	72 c3                	jb     0x444cff
444d3c:	eb 10                	jmp    0x444d4e
444d3e:	56                   	push   %esi
444d3f:	68 e7 03 00 00       	push   $0x3e7
444d44:	68 8c 67 46 00       	push   $0x46678c
444d49:	e8 85 ea fb ff       	call   0x4037d3
444d4e:	5f                   	pop    %edi
444d4f:	8b c6                	mov    %esi,%eax
444d51:	5e                   	pop    %esi
444d52:	5b                   	pop    %ebx
444d53:	8b e5                	mov    %ebp,%esp
444d55:	5d                   	pop    %ebp
444d56:	c2 0c 00             	ret    $0xc
444d59:	55                   	push   %ebp
444d5a:	8b ec                	mov    %esp,%ebp
444d5c:	56                   	push   %esi
444d5d:	8b 75 0c             	mov    0xc(%ebp),%esi
444d60:	68 05 01 00 00       	push   $0x105
444d65:	56                   	push   %esi
444d66:	e8 73 d1 fb ff       	call   0x401ede
444d6b:	8b c8                	mov    %eax,%ecx
444d6d:	85 c9                	test   %ecx,%ecx
444d6f:	78 27                	js     0x444d98
444d71:	ff 75 08             	push   0x8(%ebp)
444d74:	ff 36                	push   (%esi)
444d76:	ff 15 54 a9 46 00    	call   *0x46a954
444d7c:	85 c0                	test   %eax,%eax
444d7e:	74 04                	je     0x444d84
444d80:	33 c9                	xor    %ecx,%ecx
444d82:	eb 14                	jmp    0x444d98
444d84:	ff 15 e8 b0 44 00    	call   *0x44b0e8
444d8a:	0f b7 c8             	movzwl %ax,%ecx
444d8d:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
444d93:	85 c0                	test   %eax,%eax
444d95:	0f 4e c8             	cmovle %eax,%ecx
444d98:	8b c1                	mov    %ecx,%eax
444d9a:	5e                   	pop    %esi
444d9b:	5d                   	pop    %ebp
444d9c:	c2 08 00             	ret    $0x8
444d9f:	55                   	push   %ebp
444da0:	8b ec                	mov    %esp,%ebp
444da2:	51                   	push   %ecx
444da3:	51                   	push   %ecx
444da4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
444da8:	8d 45 fc             	lea    -0x4(%ebp),%eax
444dab:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
444daf:	53                   	push   %ebx
444db0:	56                   	push   %esi
444db1:	57                   	push   %edi
444db2:	50                   	push   %eax
444db3:	ff 75 0c             	push   0xc(%ebp)
444db6:	e8 9e ff ff ff       	call   0x444d59
444dbb:	8b f0                	mov    %eax,%esi
444dbd:	85 f6                	test   %esi,%esi
444dbf:	78 6a                	js     0x444e2b
444dc1:	8d 45 f8             	lea    -0x8(%ebp),%eax
444dc4:	50                   	push   %eax
444dc5:	ff 75 08             	push   0x8(%ebp)
444dc8:	e8 8c ff ff ff       	call   0x444d59
444dcd:	8b f0                	mov    %eax,%esi
444dcf:	85 f6                	test   %esi,%esi
444dd1:	78 58                	js     0x444e2b
444dd3:	8b 7d fc             	mov    -0x4(%ebp),%edi
444dd6:	85 ff                	test   %edi,%edi
444dd8:	74 4e                	je     0x444e28
444dda:	33 c0                	xor    %eax,%eax
444ddc:	66 39 07             	cmp    %ax,(%edi)
444ddf:	74 47                	je     0x444e28
444de1:	8b 5d f8             	mov    -0x8(%ebp),%ebx
444de4:	85 db                	test   %ebx,%ebx
444de6:	74 40                	je     0x444e28
444de8:	66 39 03             	cmp    %ax,(%ebx)
444deb:	74 3b                	je     0x444e28
444ded:	33 f6                	xor    %esi,%esi
444def:	46                   	inc    %esi
444df0:	66 39 07             	cmp    %ax,(%edi)
444df3:	74 36                	je     0x444e2b
444df5:	56                   	push   %esi
444df6:	57                   	push   %edi
444df7:	56                   	push   %esi
444df8:	53                   	push   %ebx
444df9:	56                   	push   %esi
444dfa:	50                   	push   %eax
444dfb:	ff 15 28 b1 44 00    	call   *0x44b128
444e01:	83 f8 02             	cmp    $0x2,%eax
444e04:	75 25                	jne    0x444e2b
444e06:	03 d8                	add    %eax,%ebx
444e08:	03 f8                	add    %eax,%edi
444e0a:	33 c0                	xor    %eax,%eax
444e0c:	66 39 03             	cmp    %ax,(%ebx)
444e0f:	75 df                	jne    0x444df0
444e11:	6a 5c                	push   $0x5c
444e13:	59                   	pop    %ecx
444e14:	66 3b 4b fe          	cmp    -0x2(%ebx),%cx
444e18:	75 05                	jne    0x444e1f
444e1a:	66 39 07             	cmp    %ax,(%edi)
444e1d:	75 05                	jne    0x444e24
444e1f:	66 3b 0f             	cmp    (%edi),%cx
444e22:	75 07                	jne    0x444e2b
444e24:	8b f0                	mov    %eax,%esi
444e26:	eb 03                	jmp    0x444e2b
444e28:	33 f6                	xor    %esi,%esi
444e2a:	46                   	inc    %esi
444e2b:	8b 7d fc             	mov    -0x4(%ebp),%edi
444e2e:	85 ff                	test   %edi,%edi
444e30:	74 06                	je     0x444e38
444e32:	57                   	push   %edi
444e33:	e8 b7 06 00 00       	call   0x4454ef
444e38:	8b 5d f8             	mov    -0x8(%ebp),%ebx
444e3b:	85 db                	test   %ebx,%ebx
444e3d:	74 06                	je     0x444e45
444e3f:	53                   	push   %ebx
444e40:	e8 aa 06 00 00       	call   0x4454ef
444e45:	5f                   	pop    %edi
444e46:	8b c6                	mov    %esi,%eax
444e48:	5e                   	pop    %esi
444e49:	5b                   	pop    %ebx
444e4a:	8b e5                	mov    %ebp,%esp
444e4c:	5d                   	pop    %ebp
444e4d:	c2 08 00             	ret    $0x8
444e50:	55                   	push   %ebp
444e51:	8b ec                	mov    %esp,%ebp
444e53:	51                   	push   %ecx
444e54:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
444e58:	56                   	push   %esi
444e59:	57                   	push   %edi
444e5a:	8b 7d 08             	mov    0x8(%ebp),%edi
444e5d:	8b 47 08             	mov    0x8(%edi),%eax
444e60:	83 f8 0c             	cmp    $0xc,%eax
444e63:	72 07                	jb     0x444e6c
444e65:	be 57 00 07 80       	mov    $0x80070057,%esi
444e6a:	eb 7d                	jmp    0x444ee9
444e6c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
444e6f:	51                   	push   %ecx
444e70:	ff 75 0c             	push   0xc(%ebp)
444e73:	ff 34 85 b8 67 46 00 	push   0x4667b8(,%eax,4)
444e7a:	57                   	push   %edi
444e7b:	e8 c5 02 00 00       	call   0x445145
444e80:	8b f0                	mov    %eax,%esi
444e82:	85 f6                	test   %esi,%esi
444e84:	78 63                	js     0x444ee9
444e86:	53                   	push   %ebx
444e87:	8b 5d fc             	mov    -0x4(%ebp),%ebx
444e8a:	8b 47 14             	mov    0x14(%edi),%eax
444e8d:	ff 34 98             	push   (%eax,%ebx,4)
444e90:	57                   	push   %edi
444e91:	e8 26 03 00 00       	call   0x4451bc
444e96:	83 3f 01             	cmpl   $0x1,(%edi)
444e99:	75 06                	jne    0x444ea1
444e9b:	8b 4f 10             	mov    0x10(%edi),%ecx
444e9e:	8b 04 08             	mov    (%eax,%ecx,1),%eax
444ea1:	6a ff                	push   $0xffffffff
444ea3:	50                   	push   %eax
444ea4:	8b 47 04             	mov    0x4(%edi),%eax
444ea7:	6a ff                	push   $0xffffffff
444ea9:	ff 75 0c             	push   0xc(%ebp)
444eac:	83 e0 01             	and    $0x1,%eax
444eaf:	50                   	push   %eax
444eb0:	6a 7f                	push   $0x7f
444eb2:	ff 15 28 b1 44 00    	call   *0x44b128
444eb8:	83 f8 02             	cmp    $0x2,%eax
444ebb:	74 26                	je     0x444ee3
444ebd:	8b 47 08             	mov    0x8(%edi),%eax
444ec0:	8d 4b 01             	lea    0x1(%ebx),%ecx
444ec3:	3b 0c 85 b8 67 46 00 	cmp    0x4667b8(,%eax,4),%ecx
444eca:	8b 47 14             	mov    0x14(%edi),%eax
444ecd:	1b db                	sbb    %ebx,%ebx
444ecf:	23 d9                	and    %ecx,%ebx
444ed1:	83 3c 98 00          	cmpl   $0x0,(%eax,%ebx,4)
444ed5:	74 05                	je     0x444edc
444ed7:	3b 5d fc             	cmp    -0x4(%ebp),%ebx
444eda:	75 ae                	jne    0x444e8a
444edc:	be 90 04 07 80       	mov    $0x80070490,%esi
444ee1:	eb 05                	jmp    0x444ee8
444ee3:	8b 45 10             	mov    0x10(%ebp),%eax
444ee6:	89 18                	mov    %ebx,(%eax)
444ee8:	5b                   	pop    %ebx
444ee9:	5f                   	pop    %edi
444eea:	8b c6                	mov    %esi,%eax
444eec:	5e                   	pop    %esi
444eed:	8b e5                	mov    %ebp,%esp
444eef:	5d                   	pop    %ebp
444ef0:	c2 0c 00             	ret    $0xc
444ef3:	55                   	push   %ebp
444ef4:	8b ec                	mov    %esp,%ebp
444ef6:	51                   	push   %ecx
444ef7:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
444efb:	8d 45 fc             	lea    -0x4(%ebp),%eax
444efe:	56                   	push   %esi
444eff:	50                   	push   %eax
444f00:	ff 75 14             	push   0x14(%ebp)
444f03:	ff 75 0c             	push   0xc(%ebp)
444f06:	ff 75 08             	push   0x8(%ebp)
444f09:	e8 37 02 00 00       	call   0x445145
444f0e:	8b f0                	mov    %eax,%esi
444f10:	85 f6                	test   %esi,%esi
444f12:	78 29                	js     0x444f3d
444f14:	8b 55 fc             	mov    -0x4(%ebp),%edx
444f17:	8b ca                	mov    %edx,%ecx
444f19:	57                   	push   %edi
444f1a:	8b 7d 10             	mov    0x10(%ebp),%edi
444f1d:	83 3c 97 00          	cmpl   $0x0,(%edi,%edx,4)
444f21:	74 14                	je     0x444f37
444f23:	8d 41 01             	lea    0x1(%ecx),%eax
444f26:	3b 45 0c             	cmp    0xc(%ebp),%eax
444f29:	1b c9                	sbb    %ecx,%ecx
444f2b:	23 c8                	and    %eax,%ecx
444f2d:	3b ca                	cmp    %edx,%ecx
444f2f:	74 15                	je     0x444f46
444f31:	83 3c 8f 00          	cmpl   $0x0,(%edi,%ecx,4)
444f35:	75 ec                	jne    0x444f23
444f37:	8b 45 18             	mov    0x18(%ebp),%eax
444f3a:	89 08                	mov    %ecx,(%eax)
444f3c:	5f                   	pop    %edi
444f3d:	8b c6                	mov    %esi,%eax
444f3f:	5e                   	pop    %esi
444f40:	8b e5                	mov    %ebp,%esp
444f42:	5d                   	pop    %ebp
444f43:	c2 14 00             	ret    $0x14
444f46:	be da 10 07 80       	mov    $0x800710da,%esi
444f4b:	56                   	push   %esi
444f4c:	68 5f 02 00 00       	push   $0x25f
444f51:	68 e8 67 46 00       	push   $0x4667e8
444f56:	e8 78 e8 fb ff       	call   0x4037d3
444f5b:	eb df                	jmp    0x444f3c
444f5d:	55                   	push   %ebp
444f5e:	8b ec                	mov    %esp,%ebp
444f60:	51                   	push   %ecx
444f61:	51                   	push   %ecx
444f62:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
444f66:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
444f6a:	53                   	push   %ebx
444f6b:	8b 5d 08             	mov    0x8(%ebp),%ebx
444f6e:	56                   	push   %esi
444f6f:	57                   	push   %edi
444f70:	8b 7d 10             	mov    0x10(%ebp),%edi
444f73:	85 db                	test   %ebx,%ebx
444f75:	75 1c                	jne    0x444f93
444f77:	b8 57 00 07 80       	mov    $0x80070057,%eax
444f7c:	50                   	push   %eax
444f7d:	68 0d 02 00 00       	push   $0x20d
444f82:	68 e8 67 46 00       	push   $0x4667e8
444f87:	8b f0                	mov    %eax,%esi
444f89:	e8 45 e8 fb ff       	call   0x4037d3
444f8e:	e9 90 00 00 00       	jmp    0x445023
444f93:	83 7d 0c 00          	cmpl   $0x0,0xc(%ebp)
444f97:	75 0d                	jne    0x444fa6
444f99:	b8 57 00 07 80       	mov    $0x80070057,%eax
444f9e:	50                   	push   %eax
444f9f:	68 0e 02 00 00       	push   $0x20e
444fa4:	eb dc                	jmp    0x444f82
444fa6:	8b 43 08             	mov    0x8(%ebx),%eax
444fa9:	83 f8 0c             	cmp    $0xc,%eax
444fac:	72 07                	jb     0x444fb5
444fae:	be 57 00 07 80       	mov    $0x80070057,%esi
444fb3:	eb 6e                	jmp    0x445023
444fb5:	8d 4d fc             	lea    -0x4(%ebp),%ecx
444fb8:	51                   	push   %ecx
444fb9:	ff 75 0c             	push   0xc(%ebp)
444fbc:	ff 34 85 b8 67 46 00 	push   0x4667b8(,%eax,4)
444fc3:	53                   	push   %ebx
444fc4:	e8 7c 01 00 00       	call   0x445145
444fc9:	8b f0                	mov    %eax,%esi
444fcb:	85 f6                	test   %esi,%esi
444fcd:	78 54                	js     0x445023
444fcf:	8b 4b 14             	mov    0x14(%ebx),%ecx
444fd2:	8b 45 fc             	mov    -0x4(%ebp),%eax
444fd5:	ff 34 81             	push   (%ecx,%eax,4)
444fd8:	53                   	push   %ebx
444fd9:	e8 de 01 00 00       	call   0x4451bc
444fde:	85 c0                	test   %eax,%eax
444fe0:	75 0d                	jne    0x444fef
444fe2:	85 ff                	test   %edi,%edi
444fe4:	74 02                	je     0x444fe8
444fe6:	21 07                	and    %eax,(%edi)
444fe8:	be 90 04 07 80       	mov    $0x80070490,%esi
444fed:	eb 34                	jmp    0x445023
444fef:	8d 45 f8             	lea    -0x8(%ebp),%eax
444ff2:	50                   	push   %eax
444ff3:	ff 75 0c             	push   0xc(%ebp)
444ff6:	53                   	push   %ebx
444ff7:	e8 54 fe ff ff       	call   0x444e50
444ffc:	8b f0                	mov    %eax,%esi
444ffe:	81 fe 90 04 07 80    	cmp    $0x80070490,%esi
445004:	74 19                	je     0x44501f
445006:	85 f6                	test   %esi,%esi
445008:	78 19                	js     0x445023
44500a:	85 ff                	test   %edi,%edi
44500c:	74 11                	je     0x44501f
44500e:	8b 4b 14             	mov    0x14(%ebx),%ecx
445011:	8b 45 f8             	mov    -0x8(%ebp),%eax
445014:	ff 34 81             	push   (%ecx,%eax,4)
445017:	53                   	push   %ebx
445018:	e8 9f 01 00 00       	call   0x4451bc
44501d:	89 07                	mov    %eax,(%edi)
44501f:	85 f6                	test   %esi,%esi
445021:	79 07                	jns    0x44502a
445023:	85 ff                	test   %edi,%edi
445025:	74 03                	je     0x44502a
445027:	83 27 00             	andl   $0x0,(%edi)
44502a:	5f                   	pop    %edi
44502b:	8b c6                	mov    %esi,%eax
44502d:	5e                   	pop    %esi
44502e:	5b                   	pop    %ebx
44502f:	8b e5                	mov    %ebp,%esp
445031:	5d                   	pop    %ebp
445032:	c2 0c 00             	ret    $0xc
445035:	55                   	push   %ebp
445036:	8b ec                	mov    %esp,%ebp
445038:	83 ec 0c             	sub    $0xc,%esp
44503b:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
44503f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
445043:	56                   	push   %esi
445044:	57                   	push   %edi
445045:	8b 7d 08             	mov    0x8(%ebp),%edi
445048:	8b 47 08             	mov    0x8(%edi),%eax
44504b:	40                   	inc    %eax
44504c:	89 45 f4             	mov    %eax,-0xc(%ebp)
44504f:	83 f8 0c             	cmp    $0xc,%eax
445052:	72 0a                	jb     0x44505e
445054:	be da 10 07 80       	mov    $0x800710da,%esi
445059:	e9 c6 00 00 00       	jmp    0x445124
44505e:	8b 04 85 b8 67 46 00 	mov    0x4667b8(,%eax,4),%eax
445065:	8d 4d fc             	lea    -0x4(%ebp),%ecx
445068:	51                   	push   %ecx