445cf1:	55                   	push   %ebp
445cf2:	8b ec                	mov    %esp,%ebp
445cf4:	53                   	push   %ebx
445cf5:	8b 5d 08             	mov    0x8(%ebp),%ebx
445cf8:	57                   	push   %edi
445cf9:	8b 7b 04             	mov    0x4(%ebx),%edi
445cfc:	33 c0                	xor    %eax,%eax
445cfe:	50                   	push   %eax
445cff:	50                   	push   %eax
445d00:	47                   	inc    %edi
445d01:	57                   	push   %edi
445d02:	ff 33                	push   (%ebx)
445d04:	50                   	push   %eax
445d05:	68 e9 fd 00 00       	push   $0xfde9
445d0a:	ff 15 78 d1 48 00    	call   *0x48d178
445d10:	89 45 08             	mov    %eax,0x8(%ebp)
445d13:	85 c0                	test   %eax,%eax
445d15:	75 0a                	jne    0x445d21
445d17:	8b 4d 0c             	mov    0xc(%ebp),%ecx
445d1a:	e8 af 5f fc ff       	call   0x40bcce
445d1f:	eb 41                	jmp    0x445d62
445d21:	56                   	push   %esi
445d22:	33 c9                	xor    %ecx,%ecx
445d24:	6a 02                	push   $0x2
445d26:	5a                   	pop    %edx
445d27:	f7 e2                	mul    %edx
445d29:	0f 90 c1             	seto   %cl
445d2c:	f7 d9                	neg    %ecx
445d2e:	0b c8                	or     %eax,%ecx
445d30:	51                   	push   %ecx
445d31:	e8 b4 97 fd ff       	call   0x41f4ea
445d36:	59                   	pop    %ecx
445d37:	ff 75 08             	push   0x8(%ebp)
445d3a:	8b f0                	mov    %eax,%esi
445d3c:	56                   	push   %esi
445d3d:	57                   	push   %edi
445d3e:	ff 33                	push   (%ebx)
445d40:	6a 00                	push   $0x0
445d42:	68 e9 fd 00 00       	push   $0xfde9
445d47:	ff 15 78 d1 48 00    	call   *0x48d178
445d4d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
445d50:	48                   	dec    %eax
445d51:	50                   	push   %eax
445d52:	6a 00                	push   $0x0
445d54:	56                   	push   %esi
445d55:	e8 f5 64 fc ff       	call   0x40c24f
445d5a:	56                   	push   %esi
445d5b:	e8 fe 97 fd ff       	call   0x41f55e
445d60:	59                   	pop    %ecx
445d61:	5e                   	pop    %esi
445d62:	5f                   	pop    %edi
445d63:	5b                   	pop    %ebx
445d64:	5d                   	pop    %ebp
445d65:	c2 08 00             	ret    $0x8
445d68:	55                   	push   %ebp
445d69:	8b ec                	mov    %esp,%ebp
445d6b:	83 ec 14             	sub    $0x14,%esp
445d6e:	53                   	push   %ebx
445d6f:	56                   	push   %esi
445d70:	8b f1                	mov    %ecx,%esi
445d72:	f6 46 2c 01          	testb  $0x1,0x2c(%esi)
445d76:	74 0a                	je     0x445d82
445d78:	ff 75 08             	push   0x8(%ebp)
445d7b:	e8 23 01 00 00       	call   0x445ea3
445d80:	eb 0e                	jmp    0x445d90
445d82:	f6 46 2c 02          	testb  $0x2,0x2c(%esi)
445d86:	74 0c                	je     0x445d94
445d88:	ff 75 08             	push   0x8(%ebp)
445d8b:	e8 b5 00 00 00       	call   0x445e45
445d90:	8a d8                	mov    %al,%bl
445d92:	eb 42                	jmp    0x445dd6
445d94:	f6 46 2c 04          	testb  $0x4,0x2c(%esi)
445d98:	8d 4d ec             	lea    -0x14(%ebp),%ecx
445d9b:	74 13                	je     0x445db0
445d9d:	e8 98 88 fd ff       	call   0x41e63a
445da2:	8d 45 ec             	lea    -0x14(%ebp),%eax
445da5:	50                   	push   %eax
445da6:	ff 75 08             	push   0x8(%ebp)
445da9:	e8 d6 fe ff ff       	call   0x445c84
445dae:	eb 11                	jmp    0x445dc1
445db0:	e8 85 88 fd ff       	call   0x41e63a
445db5:	8d 45 ec             	lea    -0x14(%ebp),%eax
445db8:	50                   	push   %eax
445db9:	ff 75 08             	push   0x8(%ebp)
445dbc:	e8 9d 88 fd ff       	call   0x41e65e
445dc1:	8d 45 ec             	lea    -0x14(%ebp),%eax
445dc4:	50                   	push   %eax
445dc5:	8b ce                	mov    %esi,%ecx
445dc7:	e8 41 00 00 00       	call   0x445e0d
445dcc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
445dcf:	8a d8                	mov    %al,%bl
445dd1:	e8 61 6d fc ff       	call   0x40cb37
445dd6:	5e                   	pop    %esi
445dd7:	8a c3                	mov    %bl,%al
445dd9:	5b                   	pop    %ebx
445dda:	c9                   	leave
445ddb:	c2 04 00             	ret    $0x4
445dde:	55                   	push   %ebp
445ddf:	8b ec                	mov    %esp,%ebp
445de1:	51                   	push   %ecx
445de2:	56                   	push   %esi
445de3:	8b f1                	mov    %ecx,%esi
445de5:	e8 c5 fd ff ff       	call   0x445baf
445dea:	6a 00                	push   $0x0
445dec:	8d 45 fc             	lea    -0x4(%ebp),%eax
445def:	50                   	push   %eax
445df0:	ff 75 0c             	push   0xc(%ebp)
445df3:	ff 75 08             	push   0x8(%ebp)
445df6:	ff 36                	push   (%esi)
445df8:	ff 15 d0 d1 48 00    	call   *0x48d1d0
445dfe:	8b 45 fc             	mov    -0x4(%ebp),%eax
445e01:	01 46 10             	add    %eax,0x10(%esi)
445e04:	83 56 14 00          	adcl   $0x0,0x14(%esi)
445e08:	5e                   	pop    %esi
445e09:	c9                   	leave
445e0a:	c2 08 00             	ret    $0x8
445e0d:	55                   	push   %ebp
445e0e:	8b ec                	mov    %esp,%ebp
445e10:	8b 45 08             	mov    0x8(%ebp),%eax
445e13:	56                   	push   %esi
445e14:	8b 70 04             	mov    0x4(%eax),%esi
445e17:	56                   	push   %esi
445e18:	ff 30                	push   (%eax)
445e1a:	e8 bf ff ff ff       	call   0x445dde
445e1f:	2b c6                	sub    %esi,%eax
445e21:	f7 d8                	neg    %eax
445e23:	1b c0                	sbb    %eax,%eax
445e25:	40                   	inc    %eax
445e26:	5e                   	pop    %esi
445e27:	5d                   	pop    %ebp
445e28:	c2 04 00             	ret    $0x4
445e2b:	55                   	push   %ebp
445e2c:	8b ec                	mov    %esp,%ebp
445e2e:	ff 75 0c             	push   0xc(%ebp)
445e31:	ff 75 08             	push   0x8(%ebp)
445e34:	e8 a5 ff ff ff       	call   0x445dde
445e39:	2b 45 0c             	sub    0xc(%ebp),%eax
445e3c:	f7 d8                	neg    %eax
445e3e:	1b c0                	sbb    %eax,%eax
445e40:	40                   	inc    %eax
445e41:	5d                   	pop    %ebp
445e42:	c2 08 00             	ret    $0x8
445e45:	55                   	push   %ebp
445e46:	8b ec                	mov    %esp,%ebp
445e48:	51                   	push   %ecx
445e49:	8b 45 08             	mov    0x8(%ebp),%eax
445e4c:	53                   	push   %ebx
445e4d:	56                   	push   %esi
445e4e:	8b 30                	mov    (%eax),%esi
445e50:	57                   	push   %edi
445e51:	8b 78 04             	mov    0x4(%eax),%edi
445e54:	03 ff                	add    %edi,%edi
445e56:	57                   	push   %edi
445e57:	89 4d fc             	mov    %ecx,-0x4(%ebp)
445e5a:	e8 8b 96 fd ff       	call   0x41f4ea
445e5f:	59                   	pop    %ecx
445e60:	33 c9                	xor    %ecx,%ecx
445e62:	8b d8                	mov    %eax,%ebx
445e64:	85 ff                	test   %edi,%edi
445e66:	74 1a                	je     0x445e82
445e68:	8b d3                	mov    %ebx,%edx
445e6a:	2b d6                	sub    %esi,%edx
445e6c:	8a 46 01             	mov    0x1(%esi),%al
445e6f:	88 04 32             	mov    %al,(%edx,%esi,1)
445e72:	8a 06                	mov    (%esi),%al
445e74:	88 44 0b 01          	mov    %al,0x1(%ebx,%ecx,1)
445e78:	83 c1 02             	add    $0x2,%ecx
445e7b:	8d 76 02             	lea    0x2(%esi),%esi
445e7e:	3b cf                	cmp    %edi,%ecx
445e80:	72 ea                	jb     0x445e6c
445e82:	8b 4d fc             	mov    -0x4(%ebp),%ecx
445e85:	57                   	push   %edi
445e86:	53                   	push   %ebx
445e87:	e8 52 ff ff ff       	call   0x445dde
445e8c:	53                   	push   %ebx
445e8d:	8b f0                	mov    %eax,%esi
445e8f:	e8 ca 96 fd ff       	call   0x41f55e
445e94:	59                   	pop    %ecx
445e95:	33 c0                	xor    %eax,%eax
445e97:	3b f7                	cmp    %edi,%esi
445e99:	5f                   	pop    %edi
445e9a:	5e                   	pop    %esi
445e9b:	0f 94 c0             	sete   %al
445e9e:	5b                   	pop    %ebx
445e9f:	c9                   	leave
445ea0:	c2 04 00             	ret    $0x4
445ea3:	55                   	push   %ebp
445ea4:	8b ec                	mov    %esp,%ebp
445ea6:	8b 45 08             	mov    0x8(%ebp),%eax
445ea9:	56                   	push   %esi
445eaa:	8b 70 04             	mov    0x4(%eax),%esi
445ead:	03 f6                	add    %esi,%esi
445eaf:	56                   	push   %esi
445eb0:	ff 30                	push   (%eax)
445eb2:	e8 27 ff ff ff       	call   0x445dde
445eb7:	2b c6                	sub    %esi,%eax
445eb9:	f7 d8                	neg    %eax
445ebb:	1b c0                	sbb    %eax,%eax
445ebd:	40                   	inc    %eax
445ebe:	5e                   	pop    %esi
445ebf:	5d                   	pop    %ebp
445ec0:	c2 04 00             	ret    $0x4
445ec3:	55                   	push   %ebp
445ec4:	8b ec                	mov    %esp,%ebp
445ec6:	56                   	push   %esi
445ec7:	8b f1                	mov    %ecx,%esi
445ec9:	83 66 08 00          	andl   $0x0,0x8(%esi)
445ecd:	c7 46 04 01 00 00 00 	movl   $0x1,0x4(%esi)
445ed4:	e8 f4 51 ff ff       	call   0x43b0cd
445ed9:	6a 04                	push   $0x4
445edb:	e8 0a 96 fd ff       	call   0x41f4ea
445ee0:	59                   	pop    %ecx
445ee1:	8b 4d 08             	mov    0x8(%ebp),%ecx
445ee4:	89 06                	mov    %eax,(%esi)
445ee6:	89 08                	mov    %ecx,(%eax)
445ee8:	8b c6                	mov    %esi,%eax
445eea:	5e                   	pop    %esi
445eeb:	5d                   	pop    %ebp
445eec:	c2 04 00             	ret    $0x4
445eef:	55                   	push   %ebp
445ef0:	8b ec                	mov    %esp,%ebp
445ef2:	83 ec 14             	sub    $0x14,%esp
445ef5:	53                   	push   %ebx
445ef6:	56                   	push   %esi
445ef7:	8b f1                	mov    %ecx,%esi
445ef9:	57                   	push   %edi
445efa:	8b 5e 04             	mov    0x4(%esi),%ebx
445efd:	53                   	push   %ebx
445efe:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445f01:	e8 09 0c fc ff       	call   0x406b0f
445f06:	33 ff                	xor    %edi,%edi
445f08:	85 db                	test   %ebx,%ebx
445f0a:	74 31                	je     0x445f3d
445f0c:	57                   	push   %edi
445f0d:	8b ce                	mov    %esi,%ecx
445f0f:	e8 92 02 fc ff       	call   0x4061a6
445f14:	66 83 38 0a          	cmpw   $0xa,(%eax)
445f18:	75 0a                	jne    0x445f24
445f1a:	6a 0d                	push   $0xd
445f1c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445f1f:	e8 75 68 fc ff       	call   0x40c799
445f24:	57                   	push   %edi
445f25:	8b ce                	mov    %esi,%ecx
445f27:	e8 7a 02 fc ff       	call   0x4061a6
445f2c:	0f b7 00             	movzwl (%eax),%eax
445f2f:	50                   	push   %eax
445f30:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445f33:	e8 61 68 fc ff       	call   0x40c799
445f38:	47                   	inc    %edi
445f39:	3b fb                	cmp    %ebx,%edi
445f3b:	72 cf                	jb     0x445f0c
445f3d:	8d 45 f0             	lea    -0x10(%ebp),%eax
445f40:	50                   	push   %eax
445f41:	8b ce                	mov    %esi,%ecx
445f43:	e8 a5 0f fc ff       	call   0x406eed
445f48:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445f4b:	e8 e7 6b fc ff       	call   0x40cb37
445f50:	5f                   	pop    %edi
445f51:	5e                   	pop    %esi
445f52:	5b                   	pop    %ebx
445f53:	c9                   	leave
445f54:	c3                   	ret
445f55:	56                   	push   %esi
445f56:	8b f1                	mov    %ecx,%esi
445f58:	80 fa 01             	cmp    $0x1,%dl
445f5b:	75 0d                	jne    0x445f6a
445f5d:	e8 a6 13 00 00       	call   0x447308
445f62:	84 c0                	test   %al,%al
445f64:	75 1d                	jne    0x445f83
445f66:	6a 01                	push   $0x1
445f68:	eb 02                	jmp    0x445f6c
445f6a:	6a 00                	push   $0x0
445f6c:	6a 00                	push   $0x0
445f6e:	56                   	push   %esi
445f6f:	ff 15 48 d6 48 00    	call   *0x48d648
445f75:	50                   	push   %eax
445f76:	ff 15 74 d1 48 00    	call   *0x48d174
445f7c:	50                   	push   %eax
445f7d:	ff 15 4c d6 48 00    	call   *0x48d64c
445f83:	5e                   	pop    %esi
445f84:	c3                   	ret
445f85:	55                   	push   %ebp
445f86:	8b ec                	mov    %esp,%ebp
445f88:	b8 20 00 02 00       	mov    $0x20020,%eax
445f8d:	e8 0e 99 fe ff       	call   0x42f8a0
445f92:	56                   	push   %esi
445f93:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
445f99:	8b f2                	mov    %edx,%esi
445f9b:	50                   	push   %eax
445f9c:	ba ff 7f 00 00       	mov    $0x7fff,%edx
445fa1:	e8 15 0f 00 00       	call   0x446ebb
445fa6:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
445fac:	50                   	push   %eax
445fad:	ba ff 7f 00 00       	mov    $0x7fff,%edx
445fb2:	8b ce                	mov    %esi,%ecx
445fb4:	e8 02 0f 00 00       	call   0x446ebb
445fb9:	59                   	pop    %ecx
445fba:	59                   	pop    %ecx
445fbb:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
445fc1:	50                   	push   %eax
445fc2:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
445fc8:	50                   	push   %eax
445fc9:	ff 15 24 d3 48 00    	call   *0x48d324
445fcf:	5e                   	pop    %esi
445fd0:	85 c0                	test   %eax,%eax
445fd2:	75 3a                	jne    0x44600e
445fd4:	38 45 08             	cmp    %al,0x8(%ebp)
445fd7:	74 31                	je     0x44600a
445fd9:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
445fdf:	50                   	push   %eax
445fe0:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
445fe6:	50                   	push   %eax
445fe7:	e8 f7 b5 fd ff       	call   0x4215e3
445fec:	59                   	pop    %ecx
445fed:	59                   	pop    %ecx
445fee:	85 c0                	test   %eax,%eax
445ff0:	74 14                	je     0x446006
445ff2:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
445ff8:	50                   	push   %eax
445ff9:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
445fff:	50                   	push   %eax
446000:	ff 15 04 d2 48 00    	call   *0x48d204
446006:	b0 01                	mov    $0x1,%al
446008:	c9                   	leave
446009:	c3                   	ret
44600a:	32 c0                	xor    %al,%al
44600c:	c9                   	leave
44600d:	c3                   	ret
44600e:	8d 8d e0 ff fd ff    	lea    -0x20020(%ebp),%ecx
446014:	e8 b2 12 00 00       	call   0x4472cb
446019:	84 c0                	test   %al,%al
44601b:	74 ed                	je     0x44600a
44601d:	8d 8d e0 ff fe ff    	lea    -0x10020(%ebp),%ecx
446023:	e8 a3 12 00 00       	call   0x4472cb
446028:	84 c0                	test   %al,%al
44602a:	0f 84 88 00 00 00    	je     0x4460b8
446030:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
446034:	74 d4                	je     0x44600a
446036:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
44603c:	68 44 37 4b 00       	push   $0x4b3744
446041:	50                   	push   %eax
446042:	e8 ad ac fd ff       	call   0x420cf4
446047:	8d 85 e0 ff fd ff    	lea    -0x20020(%ebp),%eax
44604d:	50                   	push   %eax
44604e:	e8 88 ac fd ff       	call   0x420cdb
446053:	33 c9                	xor    %ecx,%ecx
446055:	66 89 8c 45 e2 ff fd 	mov    %cx,-0x2001e(%ebp,%eax,2)
44605c:	ff
44605d:	8d 85 e0 ff fe ff    	lea    -0x10020(%ebp),%eax
446063:	50                   	push   %eax