4459c3:	8b ce                	mov    %esi,%ecx
4459c5:	e8 32 f6 fb ff       	call   0x404ffc
4459ca:	6a fa                	push   $0xfffffffa
4459cc:	8b ce                	mov    %esi,%ecx
4459ce:	e8 99 f0 ff ff       	call   0x444a6c
4459d3:	f6 c3 10             	test   $0x10,%bl
4459d6:	74 16                	je     0x4459ee
4459d8:	68 00 dc 49 00       	push   $0x49dc00
4459dd:	b9 64 17 4c 00       	mov    $0x4c1764,%ecx
4459e2:	c6 05 11 17 4c 00 00 	movb   $0x0,0x4c1711
4459e9:	e8 75 10 fc ff       	call   0x406a63
4459ee:	33 c0                	xor    %eax,%eax
4459f0:	5e                   	pop    %esi
4459f1:	40                   	inc    %eax
4459f2:	5b                   	pop    %ebx
4459f3:	8b e5                	mov    %ebp,%esp
4459f5:	5d                   	pop    %ebp
4459f6:	c2 04 00             	ret    $0x4
4459f9:	56                   	push   %esi
4459fa:	8b f1                	mov    %ecx,%esi
4459fc:	57                   	push   %edi
4459fd:	8b 7e 04             	mov    0x4(%esi),%edi
445a00:	85 ff                	test   %edi,%edi
445a02:	74 1e                	je     0x445a22
445a04:	e8 65 01 00 00       	call   0x445b6e
445a09:	8b 46 04             	mov    0x4(%esi),%eax
445a0c:	8b 0e                	mov    (%esi),%ecx
445a0e:	2b c7                	sub    %edi,%eax
445a10:	40                   	inc    %eax
445a11:	50                   	push   %eax
445a12:	8d 04 39             	lea    (%ecx,%edi,1),%eax
445a15:	50                   	push   %eax
445a16:	51                   	push   %ecx
445a17:	e8 64 94 fd ff       	call   0x41ee80
445a1c:	83 c4 0c             	add    $0xc,%esp
445a1f:	29 7e 04             	sub    %edi,0x4(%esi)
445a22:	5f                   	pop    %edi
445a23:	5e                   	pop    %esi
445a24:	c2 08 00             	ret    $0x8
445a27:	55                   	push   %ebp
445a28:	8b ec                	mov    %esp,%ebp
445a2a:	51                   	push   %ecx
445a2b:	f6 41 2c 02          	testb  $0x2,0x2c(%ecx)
445a2f:	6a 02                	push   $0x2
445a31:	74 2a                	je     0x445a5d
445a33:	8d 45 fc             	lea    -0x4(%ebp),%eax
445a36:	50                   	push   %eax
445a37:	e8 a4 68 fc ff       	call   0x40c2e0
445a3c:	83 f8 02             	cmp    $0x2,%eax
445a3f:	74 04                	je     0x445a45
445a41:	32 c0                	xor    %al,%al
445a43:	eb 27                	jmp    0x445a6c
445a45:	8a 4d fc             	mov    -0x4(%ebp),%cl
445a48:	8a 45 fd             	mov    -0x3(%ebp),%al
445a4b:	88 4d fd             	mov    %cl,-0x3(%ebp)
445a4e:	8b 4d 08             	mov    0x8(%ebp),%ecx
445a51:	88 45 fc             	mov    %al,-0x4(%ebp)
445a54:	66 8b 45 fc          	mov    -0x4(%ebp),%ax
445a58:	66 89 01             	mov    %ax,(%ecx)
445a5b:	eb 0d                	jmp    0x445a6a
445a5d:	ff 75 08             	push   0x8(%ebp)
445a60:	e8 7b 68 fc ff       	call   0x40c2e0
445a65:	83 f8 02             	cmp    $0x2,%eax
445a68:	75 d7                	jne    0x445a41
445a6a:	b0 01                	mov    $0x1,%al
445a6c:	c9                   	leave
445a6d:	c2 04 00             	ret    $0x4
445a70:	55                   	push   %ebp
445a71:	8b ec                	mov    %esp,%ebp
445a73:	51                   	push   %ecx
445a74:	53                   	push   %ebx
445a75:	56                   	push   %esi
445a76:	57                   	push   %edi
445a77:	8b f9                	mov    %ecx,%edi
445a79:	8b 4d 08             	mov    0x8(%ebp),%ecx
445a7c:	e8 4d 62 fc ff       	call   0x40bcce
445a81:	8b 75 0c             	mov    0xc(%ebp),%esi
445a84:	33 db                	xor    %ebx,%ebx
445a86:	88 5d ff             	mov    %bl,-0x1(%ebp)
445a89:	39 1e                	cmp    %ebx,(%esi)
445a8b:	76 23                	jbe    0x445ab0
445a8d:	8d 45 0c             	lea    0xc(%ebp),%eax
445a90:	50                   	push   %eax
445a91:	8b cf                	mov    %edi,%ecx
445a93:	e8 8f ff ff ff       	call   0x445a27
445a98:	84 c0                	test   %al,%al
445a9a:	74 1f                	je     0x445abb
445a9c:	ff 75 0c             	push   0xc(%ebp)
445a9f:	8b 4d 08             	mov    0x8(%ebp),%ecx
445aa2:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
445aa6:	e8 ee 6c fc ff       	call   0x40c799
445aab:	43                   	inc    %ebx
445aac:	3b 1e                	cmp    (%esi),%ebx
445aae:	72 dd                	jb     0x445a8d
445ab0:	89 1e                	mov    %ebx,(%esi)
445ab2:	b0 01                	mov    $0x1,%al
445ab4:	5f                   	pop    %edi
445ab5:	5e                   	pop    %esi
445ab6:	5b                   	pop    %ebx
445ab7:	c9                   	leave
445ab8:	c2 08 00             	ret    $0x8
445abb:	8a 45 ff             	mov    -0x1(%ebp),%al
445abe:	84 c0                	test   %al,%al
445ac0:	75 ee                	jne    0x445ab0
445ac2:	eb f0                	jmp    0x445ab4
445ac4:	55                   	push   %ebp
445ac5:	8b ec                	mov    %esp,%ebp
445ac7:	51                   	push   %ecx
445ac8:	53                   	push   %ebx
445ac9:	56                   	push   %esi
445aca:	8b f1                	mov    %ecx,%esi
445acc:	8b 4d 08             	mov    0x8(%ebp),%ecx
445acf:	57                   	push   %edi
445ad0:	e8 f9 61 fc ff       	call   0x40bcce
445ad5:	6a 0a                	push   $0xa
445ad7:	32 db                	xor    %bl,%bl
445ad9:	5f                   	pop    %edi
445ada:	8d 45 fc             	lea    -0x4(%ebp),%eax
445add:	50                   	push   %eax
445ade:	8b ce                	mov    %esi,%ecx
445ae0:	e8 42 ff ff ff       	call   0x445a27
445ae5:	84 c0                	test   %al,%al
445ae7:	74 47                	je     0x445b30
445ae9:	66 83 7d fc 0d       	cmpw   $0xd,-0x4(%ebp)
445aee:	b3 01                	mov    $0x1,%bl
445af0:	74 13                	je     0x445b05
445af2:	66 39 7d fc          	cmp    %di,-0x4(%ebp)
445af6:	74 2f                	je     0x445b27
445af8:	ff 75 fc             	push   -0x4(%ebp)
445afb:	8b 4d 08             	mov    0x8(%ebp),%ecx
445afe:	e8 96 6c fc ff       	call   0x40c799
445b03:	eb d5                	jmp    0x445ada
445b05:	8d 45 fc             	lea    -0x4(%ebp),%eax
445b08:	50                   	push   %eax
445b09:	8b ce                	mov    %esi,%ecx
445b0b:	e8 17 ff ff ff       	call   0x445a27
445b10:	84 c0                	test   %al,%al
445b12:	74 13                	je     0x445b27
445b14:	66 39 7d fc          	cmp    %di,-0x4(%ebp)
445b18:	74 0d                	je     0x445b27
445b1a:	6a 01                	push   $0x1
445b1c:	6a ff                	push   $0xffffffff
445b1e:	6a fe                	push   $0xfffffffe
445b20:	8b ce                	mov    %esi,%ecx
445b22:	e8 a7 eb fb ff       	call   0x4046ce
445b27:	b0 01                	mov    $0x1,%al
445b29:	5f                   	pop    %edi
445b2a:	5e                   	pop    %esi
445b2b:	5b                   	pop    %ebx
445b2c:	c9                   	leave
445b2d:	c2 04 00             	ret    $0x4
445b30:	84 db                	test   %bl,%bl
445b32:	75 f3                	jne    0x445b27
445b34:	32 c0                	xor    %al,%al
445b36:	eb f1                	jmp    0x445b29
445b38:	ff 31                	push   (%ecx)
445b3a:	ff 15 d4 d1 48 00    	call   *0x48d1d4
445b40:	85 c0                	test   %eax,%eax
445b42:	0f 95 c0             	setne  %al
445b45:	c3                   	ret
445b46:	8b 41 2c             	mov    0x2c(%ecx),%eax
445b49:	48                   	dec    %eax
445b4a:	74 1e                	je     0x445b6a
445b4c:	48                   	dec    %eax
445b4d:	74 17                	je     0x445b66
445b4f:	48                   	dec    %eax
445b50:	48                   	dec    %eax
445b51:	74 03                	je     0x445b56
445b53:	33 c0                	xor    %eax,%eax
445b55:	c3                   	ret
445b56:	8b 41 30             	mov    0x30(%ecx),%eax
445b59:	f7 d8                	neg    %eax
445b5b:	1b c0                	sbb    %eax,%eax
445b5d:	83 e0 80             	and    $0xffffff80,%eax
445b60:	05 00 01 00 00       	add    $0x100,%eax
445b65:	c3                   	ret
445b66:	6a 40                	push   $0x40
445b68:	58                   	pop    %eax
445b69:	c3                   	ret
445b6a:	6a 20                	push   $0x20
445b6c:	58                   	pop    %eax
445b6d:	c3                   	ret
445b6e:	53                   	push   %ebx
445b6f:	8b d9                	mov    %ecx,%ebx
445b71:	e8 74 0f fc ff       	call   0x406aea
445b76:	84 c0                	test   %al,%al
445b78:	74 33                	je     0x445bad
445b7a:	8b 43 0c             	mov    0xc(%ebx),%eax
445b7d:	56                   	push   %esi
445b7e:	ff 08                	decl   (%eax)
445b80:	57                   	push   %edi
445b81:	8b cb                	mov    %ebx,%ecx
445b83:	e8 c2 0f fc ff       	call   0x406b4a
445b88:	8b 7b 04             	mov    0x4(%ebx),%edi
445b8b:	47                   	inc    %edi
445b8c:	57                   	push   %edi
445b8d:	e8 d8 8b fd ff       	call   0x41e76a
445b92:	50                   	push   %eax
445b93:	89 43 08             	mov    %eax,0x8(%ebx)
445b96:	e8 4f 99 fd ff       	call   0x41f4ea
445b9b:	57                   	push   %edi
445b9c:	ff 33                	push   (%ebx)
445b9e:	8b f0                	mov    %eax,%esi
445ba0:	56                   	push   %esi
445ba1:	e8 da 92 fd ff       	call   0x41ee80
445ba6:	83 c4 10             	add    $0x10,%esp
445ba9:	89 33                	mov    %esi,(%ebx)
445bab:	5f                   	pop    %edi
445bac:	5e                   	pop    %esi
445bad:	5b                   	pop    %ebx
445bae:	c3                   	ret
445baf:	33 c0                	xor    %eax,%eax
445bb1:	39 41 08             	cmp    %eax,0x8(%ecx)
445bb4:	74 0b                	je     0x445bc1
445bb6:	89 41 08             	mov    %eax,0x8(%ecx)
445bb9:	89 41 0c             	mov    %eax,0xc(%ecx)
445bbc:	e9 8a 00 00 00       	jmp    0x445c4b
445bc1:	c3                   	ret
445bc2:	55                   	push   %ebp
445bc3:	8b ec                	mov    %esp,%ebp
445bc5:	83 ec 14             	sub    $0x14,%esp
445bc8:	53                   	push   %ebx
445bc9:	56                   	push   %esi
445bca:	8b f1                	mov    %ecx,%esi
445bcc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
445bcf:	e8 66 8a fd ff       	call   0x41e63a
445bd4:	8d 45 ec             	lea    -0x14(%ebp),%eax
445bd7:	50                   	push   %eax
445bd8:	8b ce                	mov    %esi,%ecx
445bda:	e8 81 64 fc ff       	call   0x40c060
445bdf:	84 c0                	test   %al,%al
445be1:	74 10                	je     0x445bf3
445be3:	ff 75 08             	push   0x8(%ebp)
445be6:	8d 45 ec             	lea    -0x14(%ebp),%eax
445be9:	50                   	push   %eax
445bea:	e8 02 01 00 00       	call   0x445cf1
445bef:	b3 01                	mov    $0x1,%bl
445bf1:	eb 02                	jmp    0x445bf5
445bf3:	32 db                	xor    %bl,%bl
445bf5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
445bf8:	e8 3a 6f fc ff       	call   0x40cb37
445bfd:	5e                   	pop    %esi
445bfe:	8a c3                	mov    %bl,%al
445c00:	5b                   	pop    %ebx
445c01:	c9                   	leave
445c02:	c2 04 00             	ret    $0x4
445c05:	55                   	push   %ebp
445c06:	8b ec                	mov    %esp,%ebp
445c08:	83 ec 10             	sub    $0x10,%esp
445c0b:	53                   	push   %ebx
445c0c:	56                   	push   %esi
445c0d:	8b f1                	mov    %ecx,%esi
445c0f:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445c12:	e8 23 8a fd ff       	call   0x41e63a
445c17:	ff 75 0c             	push   0xc(%ebp)
445c1a:	8d 45 f0             	lea    -0x10(%ebp),%eax
445c1d:	50                   	push   %eax
445c1e:	8b ce                	mov    %esi,%ecx
445c20:	e8 fb 62 fc ff       	call   0x40bf20
445c25:	84 c0                	test   %al,%al
445c27:	74 10                	je     0x445c39
445c29:	ff 75 08             	push   0x8(%ebp)
445c2c:	8d 45 f0             	lea    -0x10(%ebp),%eax
445c2f:	50                   	push   %eax
445c30:	e8 bc 00 00 00       	call   0x445cf1
445c35:	b3 01                	mov    $0x1,%bl
445c37:	eb 02                	jmp    0x445c3b
445c39:	32 db                	xor    %bl,%bl
445c3b:	8d 4d f0             	lea    -0x10(%ebp),%ecx
445c3e:	e8 f4 6e fc ff       	call   0x40cb37
445c43:	5e                   	pop    %esi
445c44:	8a c3                	mov    %bl,%al
445c46:	5b                   	pop    %ebx
445c47:	c9                   	leave
445c48:	c2 08 00             	ret    $0x8
445c4b:	56                   	push   %esi
445c4c:	57                   	push   %edi
445c4d:	8b f9                	mov    %ecx,%edi
445c4f:	83 67 08 00          	andl   $0x0,0x8(%edi)
445c53:	83 67 0c 00          	andl   $0x0,0xc(%edi)
445c57:	e8 3c eb fb ff       	call   0x404798
445c5c:	8b 77 10             	mov    0x10(%edi),%esi
445c5f:	2b f0                	sub    %eax,%esi
445c61:	8b 47 14             	mov    0x14(%edi),%eax
445c64:	6a 01                	push   $0x1
445c66:	6a 00                	push   $0x0
445c68:	1b c2                	sbb    %edx,%eax
445c6a:	50                   	push   %eax
445c6b:	56                   	push   %esi
445c6c:	ff 37                	push   (%edi)
445c6e:	ff 15 c8 d1 48 00    	call   *0x48d1c8
445c74:	8b cf                	mov    %edi,%ecx
445c76:	e8 1d eb fb ff       	call   0x404798
445c7b:	89 47 10             	mov    %eax,0x10(%edi)
445c7e:	89 57 14             	mov    %edx,0x14(%edi)
445c81:	5f                   	pop    %edi
445c82:	5e                   	pop    %esi
445c83:	c3                   	ret
445c84:	55                   	push   %ebp
445c85:	8b ec                	mov    %esp,%ebp
445c87:	53                   	push   %ebx
445c88:	8b 5d 08             	mov    0x8(%ebp),%ebx
445c8b:	57                   	push   %edi
445c8c:	8b 7b 04             	mov    0x4(%ebx),%edi
445c8f:	33 c0                	xor    %eax,%eax
445c91:	50                   	push   %eax
445c92:	50                   	push   %eax
445c93:	50                   	push   %eax
445c94:	50                   	push   %eax
445c95:	47                   	inc    %edi
445c96:	57                   	push   %edi
445c97:	ff 33                	push   (%ebx)
445c99:	50                   	push   %eax
445c9a:	68 e9 fd 00 00       	push   $0xfde9
445c9f:	ff 15 9c d1 48 00    	call   *0x48d19c
445ca5:	89 45 08             	mov    %eax,0x8(%ebp)
445ca8:	85 c0                	test   %eax,%eax
445caa:	75 0a                	jne    0x445cb6
445cac:	8b 4d 0c             	mov    0xc(%ebp),%ecx
445caf:	e8 0e 65 fc ff       	call   0x40c1c2
445cb4:	eb 35                	jmp    0x445ceb
445cb6:	56                   	push   %esi
445cb7:	50                   	push   %eax
445cb8:	e8 2d 98 fd ff       	call   0x41f4ea
445cbd:	59                   	pop    %ecx
445cbe:	8b f0                	mov    %eax,%esi
445cc0:	33 c0                	xor    %eax,%eax
445cc2:	50                   	push   %eax
445cc3:	50                   	push   %eax
445cc4:	ff 75 08             	push   0x8(%ebp)
445cc7:	56                   	push   %esi
445cc8:	57                   	push   %edi
445cc9:	ff 33                	push   (%ebx)
445ccb:	50                   	push   %eax
445ccc:	68 e9 fd 00 00       	push   $0xfde9
445cd1:	ff 15 9c d1 48 00    	call   *0x48d19c
445cd7:	48                   	dec    %eax
445cd8:	50                   	push   %eax
445cd9:	51                   	push   %ecx
445cda:	8b 4d 0c             	mov    0xc(%ebp),%ecx
445cdd:	56                   	push   %esi
445cde:	e8 e0 89 fd ff       	call   0x41e6c3
445ce3:	56                   	push   %esi
445ce4:	e8 75 98 fd ff       	call   0x41f55e
445ce9:	59                   	pop    %ecx
445cea:	5e                   	pop    %esi
445ceb:	5f                   	pop    %edi
445cec:	5b                   	pop    %ebx
445ced:	5d                   	pop    %ebp
445cee:	c2 08 00             	ret    $0x8