459831:	e8 01 33 fb ff       	call   0x40cb37
459836:	8b 4c 24 10          	mov    0x10(%esp),%ecx
45983a:	8d 44 24 28          	lea    0x28(%esp),%eax
45983e:	50                   	push   %eax
45983f:	85 f6                	test   %esi,%esi
459841:	75 03                	jne    0x459846
459843:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459846:	e8 1d d3 fa ff       	call   0x406b68
45984b:	8d 4c 24 28          	lea    0x28(%esp),%ecx
45984f:	e8 e3 32 fb ff       	call   0x40cb37
459854:	eb 2d                	jmp    0x459883
459856:	8b 4c 24 14          	mov    0x14(%esp),%ecx
45985a:	57                   	push   %edi
45985b:	53                   	push   %ebx
45985c:	85 f6                	test   %esi,%esi
45985e:	75 03                	jne    0x459863
459860:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459863:	e8 7b 0b ff ff       	call   0x44a3e3
459868:	50                   	push   %eax
459869:	e8 12 56 fc ff       	call   0x41ee80
45986e:	83 c4 0c             	add    $0xc,%esp
459871:	eb 10                	jmp    0x459883
459873:	6a 00                	push   $0x0
459875:	6a ff                	push   $0xffffffff
459877:	8b 06                	mov    (%esi),%eax
459879:	8b 48 04             	mov    0x4(%eax),%ecx
45987c:	03 ce                	add    %esi,%ecx
45987e:	e8 c9 36 ff ff       	call   0x44cf4c
459883:	8d 4c 24 18          	lea    0x18(%esp),%ecx
459887:	e8 56 af fa ff       	call   0x4047e2
45988c:	5f                   	pop    %edi
45988d:	5e                   	pop    %esi
45988e:	33 c0                	xor    %eax,%eax
459890:	5b                   	pop    %ebx
459891:	8b e5                	mov    %ebp,%esp
459893:	5d                   	pop    %ebp
459894:	c2 08 00             	ret    $0x8
459897:	55                   	push   %ebp
459898:	8b ec                	mov    %esp,%ebp
45989a:	83 ec 10             	sub    $0x10,%esp
45989d:	53                   	push   %ebx
45989e:	56                   	push   %esi
45989f:	8b 75 08             	mov    0x8(%ebp),%esi
4598a2:	57                   	push   %edi
4598a3:	8b 46 04             	mov    0x4(%esi),%eax
4598a6:	6a 00                	push   $0x0
4598a8:	33 ff                	xor    %edi,%edi
4598aa:	47                   	inc    %edi
4598ab:	57                   	push   %edi
4598ac:	57                   	push   %edi
4598ad:	ff 30                	push   (%eax)
4598af:	8b d9                	mov    %ecx,%ebx
4598b1:	e8 da 82 fb ff       	call   0x411b90
4598b6:	83 c4 10             	add    $0x10,%esp
4598b9:	85 c0                	test   %eax,%eax
4598bb:	75 19                	jne    0x4598d6
4598bd:	8b 75 0c             	mov    0xc(%ebp),%esi
4598c0:	8b ce                	mov    %esi,%ecx
4598c2:	e8 59 93 fb ff       	call   0x412c20
4598c7:	83 26 00             	andl   $0x0,(%esi)
4598ca:	6a 00                	push   $0x0
4598cc:	89 7e 0c             	mov    %edi,0xc(%esi)
4598cf:	6a ff                	push   $0xffffffff
4598d1:	e9 e9 00 00 00       	jmp    0x4599bf
4598d6:	8b c8                	mov    %eax,%ecx
4598d8:	e8 a9 39 fb ff       	call   0x40d286
4598dd:	3d d1 94 b5 02       	cmp    $0x2b594d1,%eax
4598e2:	74 19                	je     0x4598fd
4598e4:	8b 75 0c             	mov    0xc(%ebp),%esi
4598e7:	8b ce                	mov    %esi,%ecx
4598e9:	e8 32 93 fb ff       	call   0x412c20
4598ee:	83 26 00             	andl   $0x0,(%esi)
4598f1:	6a 00                	push   $0x0
4598f3:	89 7e 0c             	mov    %edi,0xc(%esi)
4598f6:	6a fe                	push   $0xfffffffe
4598f8:	e9 c2 00 00 00       	jmp    0x4599bf
4598fd:	8b 46 04             	mov    0x4(%esi),%eax
459900:	6a 02                	push   $0x2
459902:	8b 38                	mov    (%eax),%edi
459904:	6a 01                	push   $0x1
459906:	6a 01                	push   $0x1
459908:	57                   	push   %edi
459909:	e8 82 82 fb ff       	call   0x411b90
45990e:	8b f0                	mov    %eax,%esi
459910:	83 c4 10             	add    $0x10,%esp
459913:	8b ce                	mov    %esi,%ecx
459915:	e8 52 fa fa ff       	call   0x40936c
45991a:	8b 76 08             	mov    0x8(%esi),%esi
45991d:	6a 03                	push   $0x3
45991f:	6a 01                	push   $0x1
459921:	6a 01                	push   $0x1
459923:	57                   	push   %edi
459924:	e8 67 82 fb ff       	call   0x411b90
459929:	83 c4 10             	add    $0x10,%esp
45992c:	8b c8                	mov    %eax,%ecx
45992e:	e8 53 39 fb ff       	call   0x40d286
459933:	50                   	push   %eax
459934:	56                   	push   %esi
459935:	8d 45 f0             	lea    -0x10(%ebp),%eax
459938:	50                   	push   %eax
459939:	8b cb                	mov    %ebx,%ecx
45993b:	e8 ec 0e 00 00       	call   0x45a82c
459940:	84 c0                	test   %al,%al
459942:	75 0f                	jne    0x459953
459944:	8b 75 0c             	mov    0xc(%ebp),%esi
459947:	8b ce                	mov    %esi,%ecx
459949:	e8 d2 92 fb ff       	call   0x412c20
45994e:	83 0e ff             	orl    $0xffffffff,(%esi)
459951:	eb 7c                	jmp    0x4599cf
459953:	8b 7d 08             	mov    0x8(%ebp),%edi
459956:	6a 01                	push   $0x1
459958:	8b 47 04             	mov    0x4(%edi),%eax
45995b:	6a 01                	push   $0x1
45995d:	6a 01                	push   $0x1
45995f:	ff 30                	push   (%eax)
459961:	e8 2a 82 fb ff       	call   0x411b90
459966:	83 c4 10             	add    $0x10,%esp
459969:	8b c8                	mov    %eax,%ecx
45996b:	e8 16 39 fb ff       	call   0x40d286
459970:	8b 4f 04             	mov    0x4(%edi),%ecx
459973:	8b f0                	mov    %eax,%esi
459975:	8b 49 04             	mov    0x4(%ecx),%ecx
459978:	e8 de 1b ff ff       	call   0x44b55b
45997d:	8b 4f 04             	mov    0x4(%edi),%ecx
459980:	8b d0                	mov    %eax,%edx
459982:	8b 49 04             	mov    0x4(%ecx),%ecx
459985:	e8 14 1c ff ff       	call   0x44b59e
45998a:	6a 10                	push   $0x10
45998c:	8d 4d f0             	lea    -0x10(%ebp),%ecx
45998f:	51                   	push   %ecx
459990:	6a 00                	push   $0x0
459992:	50                   	push   %eax
459993:	52                   	push   %edx
459994:	56                   	push   %esi
459995:	ff 15 f0 d7 48 00    	call   *0x48d7f0
45999b:	8b 75 0c             	mov    0xc(%ebp),%esi
45999e:	8b ce                	mov    %esi,%ecx
4599a0:	8b f8                	mov    %eax,%edi
4599a2:	e8 79 92 fb ff       	call   0x412c20
4599a7:	83 ff ff             	cmp    $0xffffffff,%edi
4599aa:	75 21                	jne    0x4599cd
4599ac:	83 26 00             	andl   $0x0,(%esi)
4599af:	6a 00                	push   $0x0
4599b1:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4599b8:	ff 15 f4 d7 48 00    	call   *0x48d7f4
4599be:	50                   	push   %eax
4599bf:	8b 03                	mov    (%ebx),%eax
4599c1:	8b 48 04             	mov    0x4(%eax),%ecx
4599c4:	03 cb                	add    %ebx,%ecx
4599c6:	e8 81 35 ff ff       	call   0x44cf4c
4599cb:	eb 09                	jmp    0x4599d6
4599cd:	89 3e                	mov    %edi,(%esi)
4599cf:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
4599d6:	5f                   	pop    %edi
4599d7:	5e                   	pop    %esi
4599d8:	33 c0                	xor    %eax,%eax
4599da:	5b                   	pop    %ebx
4599db:	c9                   	leave
4599dc:	c2 08 00             	ret    $0x8
4599df:	55                   	push   %ebp
4599e0:	8b ec                	mov    %esp,%ebp
4599e2:	8b 45 08             	mov    0x8(%ebp),%eax
4599e5:	8b 40 04             	mov    0x4(%eax),%eax
4599e8:	8b 00                	mov    (%eax),%eax
4599ea:	8b 40 0c             	mov    0xc(%eax),%eax
4599ed:	48                   	dec    %eax
4599ee:	83 f8 0e             	cmp    $0xe,%eax
4599f1:	77 70                	ja     0x459a63
4599f3:	ff 24 85 77 9a 45 00 	jmp    *0x459a77(,%eax,4)
4599fa:	68 f8 3d 4b 00       	push   $0x4b3df8
4599ff:	eb 67                	jmp    0x459a68
459a01:	68 04 3e 4b 00       	push   $0x4b3e04
459a06:	eb 60                	jmp    0x459a68
459a08:	68 10 3e 4b 00       	push   $0x4b3e10
459a0d:	eb 59                	jmp    0x459a68
459a0f:	68 20 3e 4b 00       	push   $0x4b3e20
459a14:	eb 52                	jmp    0x459a68
459a16:	68 30 3e 4b 00       	push   $0x4b3e30
459a1b:	eb 4b                	jmp    0x459a68
459a1d:	68 3c 3e 4b 00       	push   $0x4b3e3c
459a22:	eb 44                	jmp    0x459a68
459a24:	68 50 3e 4b 00       	push   $0x4b3e50
459a29:	eb 3d                	jmp    0x459a68
459a2b:	68 64 3e 4b 00       	push   $0x4b3e64
459a30:	eb 36                	jmp    0x459a68
459a32:	68 6c 3e 4b 00       	push   $0x4b3e6c
459a37:	eb 2f                	jmp    0x459a68
459a39:	68 7c 3e 4b 00       	push   $0x4b3e7c
459a3e:	eb 28                	jmp    0x459a68
459a40:	68 88 3e 4b 00       	push   $0x4b3e88
459a45:	eb 21                	jmp    0x459a68
459a47:	68 98 3e 4b 00       	push   $0x4b3e98
459a4c:	eb 1a                	jmp    0x459a68
459a4e:	68 a8 3e 4b 00       	push   $0x4b3ea8
459a53:	eb 13                	jmp    0x459a68
459a55:	68 bc 3e 4b 00       	push   $0x4b3ebc
459a5a:	eb 0c                	jmp    0x459a68
459a5c:	68 d8 3e 4b 00       	push   $0x4b3ed8
459a61:	eb 05                	jmp    0x459a68
459a63:	68 90 3b 4b 00       	push   $0x4b3b90
459a68:	8b 4d 0c             	mov    0xc(%ebp),%ecx
459a6b:	e8 49 33 fb ff       	call   0x40cdb9
459a70:	33 c0                	xor    %eax,%eax
459a72:	5d                   	pop    %ebp
459a73:	c2 08 00             	ret    $0x8
459a76:	90                   	nop
459a77:	fa                   	cli
459a78:	99                   	cltd
459a79:	45                   	inc    %ebp
459a7a:	00 01                	add    %al,(%ecx)
459a7c:	9a 45 00 08 9a 45 00 	lcall  $0x45,$0x9a080045
459a83:	0f 9a 45 00          	setp   0x0(%ebp)
459a87:	16                   	push   %ss
459a88:	9a 45 00 24 9a 45 00 	lcall  $0x45,$0x9a240045
459a8f:	2b 9a 45 00 32 9a    	sub    -0x65cdffbb(%edx),%ebx
459a95:	45                   	inc    %ebp
459a96:	00 39                	add    %bh,(%ecx)
459a98:	9a 45 00 40 9a 45 00 	lcall  $0x45,$0x9a400045
459a9f:	47                   	inc    %edi
459aa0:	9a 45 00 1d 9a 45 00 	lcall  $0x45,$0x9a1d0045
459aa7:	4e                   	dec    %esi
459aa8:	9a 45 00 55 9a 45 00 	lcall  $0x45,$0x9a550045
459aaf:	5c                   	pop    %esp
459ab0:	9a 45 00 55 8b ec 8b 	lcall  $0x8bec,$0x8b550045
459ab7:	45                   	inc    %ebp
459ab8:	0c 8a                	or     $0x8a,%al
459aba:	4d                   	dec    %ebp
459abb:	08 3a                	or     %bh,(%edx)
459abd:	08 72 0c             	or     %dh,0xc(%edx)
459ac0:	8b 45 10             	mov    0x10(%ebp),%eax
459ac3:	3a 08                	cmp    (%eax),%cl
459ac5:	77 05                	ja     0x459acc
459ac7:	33 c0                	xor    %eax,%eax
459ac9:	40                   	inc    %eax
459aca:	eb 02                	jmp    0x459ace
459acc:	33 c0                	xor    %eax,%eax
459ace:	5d                   	pop    %ebp
459acf:	c2 0c 00             	ret    $0xc
459ad2:	55                   	push   %ebp
459ad3:	8b ec                	mov    %esp,%ebp
459ad5:	8b 55 08             	mov    0x8(%ebp),%edx
459ad8:	56                   	push   %esi
459ad9:	0f b6 02             	movzbl (%edx),%eax
459adc:	50                   	push   %eax
459add:	8b f1                	mov    %ecx,%esi
459adf:	e8 33 00 00 00       	call   0x459b17
459ae4:	84 c0                	test   %al,%al
459ae6:	74 28                	je     0x459b10
459ae8:	0f b6 42 01          	movzbl 0x1(%edx),%eax
459aec:	50                   	push   %eax
459aed:	8b ce                	mov    %esi,%ecx
459aef:	e8 3a 00 00 00       	call   0x459b2e
459af4:	84 c0                	test   %al,%al
459af6:	74 18                	je     0x459b10
459af8:	8d 46 01             	lea    0x1(%esi),%eax
459afb:	50                   	push   %eax
459afc:	0f b6 42 02          	movzbl 0x2(%edx),%eax
459b00:	56                   	push   %esi
459b01:	50                   	push   %eax
459b02:	e8 ac ff ff ff       	call   0x459ab3
459b07:	84 c0                	test   %al,%al
459b09:	74 05                	je     0x459b10
459b0b:	33 c0                	xor    %eax,%eax
459b0d:	40                   	inc    %eax
459b0e:	eb 02                	jmp    0x459b12
459b10:	33 c0                	xor    %eax,%eax
459b12:	5e                   	pop    %esi
459b13:	5d                   	pop    %ebp
459b14:	c2 04 00             	ret    $0x4
459b17:	55                   	push   %ebp
459b18:	8b ec                	mov    %esp,%ebp
459b1a:	8d 41 05             	lea    0x5(%ecx),%eax
459b1d:	50                   	push   %eax
459b1e:	8d 41 04             	lea    0x4(%ecx),%eax
459b21:	50                   	push   %eax
459b22:	ff 75 08             	push   0x8(%ebp)
459b25:	e8 89 ff ff ff       	call   0x459ab3
459b2a:	5d                   	pop    %ebp
459b2b:	c2 04 00             	ret    $0x4
459b2e:	55                   	push   %ebp
459b2f:	8b ec                	mov    %esp,%ebp
459b31:	8d 41 03             	lea    0x3(%ecx),%eax
459b34:	50                   	push   %eax
459b35:	8d 41 02             	lea    0x2(%ecx),%eax
459b38:	50                   	push   %eax
459b39:	ff 75 08             	push   0x8(%ebp)
459b3c:	e8 72 ff ff ff       	call   0x459ab3
459b41:	5d                   	pop    %ebp
459b42:	c2 04 00             	ret    $0x4
459b45:	55                   	push   %ebp
459b46:	8b ec                	mov    %esp,%ebp
459b48:	83 e4 f8             	and    $0xfffffff8,%esp
459b4b:	83 ec 2c             	sub    $0x2c,%esp
459b4e:	53                   	push   %ebx
459b4f:	56                   	push   %esi
459b50:	57                   	push   %edi
459b51:	8b f1                	mov    %ecx,%esi
459b53:	ff 15 1c d7 48 00    	call   *0x48d71c
459b59:	50                   	push   %eax
459b5a:	8d 44 24 1c          	lea    0x1c(%esp),%eax
459b5e:	50                   	push   %eax
459b5f:	ff b6 04 01 00 00    	push   0x104(%esi)
459b65:	e8 da c9 ff ff       	call   0x456544
459b6a:	8b 75 08             	mov    0x8(%ebp),%esi
459b6d:	8b 7d 0c             	mov    0xc(%ebp),%edi
459b70:	03 74 24 18          	add    0x18(%esp),%esi
459b74:	03 7c 24 1c          	add    0x1c(%esp),%edi
459b78:	8d 44 24 28          	lea    0x28(%esp),%eax
459b7c:	50                   	push   %eax
459b7d:	ff 15 2c d6 48 00    	call   *0x48d62c
459b83:	50                   	push   %eax
459b84:	ff 15 7c d6 48 00    	call   *0x48d67c
459b8a:	8d 46 01             	lea    0x1(%esi),%eax
459b8d:	c1 e0 10             	shl    $0x10,%eax
459b90:	99                   	cltd
459b91:	f7 7c 24 30          	idivl  0x30(%esp)
459b95:	8b 75 10             	mov    0x10(%ebp),%esi
459b98:	8d 58 ff             	lea    -0x1(%eax),%ebx
459b9b:	8d 47 01             	lea    0x1(%edi),%eax
459b9e:	c1 e0 10             	shl    $0x10,%eax
459ba1:	99                   	cltd
459ba2:	f7 7c 24 34          	idivl  0x34(%esp)
459ba6:	8d 78 ff             	lea    -0x1(%eax),%edi
459ba9:	85 f6                	test   %esi,%esi
459bab:	75 26                	jne    0x459bd3
459bad:	56                   	push   %esi
459bae:	56                   	push   %esi
459baf:	57                   	push   %edi
459bb0:	53                   	push   %ebx
459bb1:	68 01 80 00 00       	push   $0x8001
459bb6:	ff 15 80 d5 48 00    	call   *0x48d580
459bbc:	80 7d 14 00          	cmpb   $0x0,0x14(%ebp)
459bc0:	74 08                	je     0x459bca
459bc2:	6a 0a                	push   $0xa
459bc4:	59                   	pop    %ecx
459bc5:	e8 8e de fe ff       	call   0x447a58
459bca:	5f                   	pop    %edi
459bcb:	5e                   	pop    %esi
459bcc:	5b                   	pop    %ebx
459bcd:	8b e5                	mov    %ebp,%esp
459bcf:	5d                   	pop    %ebp
459bd0:	c2 10 00             	ret    $0x10
459bd3:	7e 05                	jle    0x459bda
459bd5:	83 fe 64             	cmp    $0x64,%esi
459bd8:	7e 03                	jle    0x459bdd
459bda:	6a 0a                	push   $0xa
459bdc:	5e                   	pop    %esi
459bdd:	8d 44 24 20          	lea    0x20(%esp),%eax
459be1:	50                   	push   %eax
459be2:	ff 15 a4 d5 48 00    	call   *0x48d5a4