46ba9b:	50                   	push   %eax
46ba9c:	ff 75 a4             	push   -0x5c(%ebp)
46ba9f:	89 75 a8             	mov    %esi,-0x58(%ebp)
46baa2:	68 74 10 00 00       	push   $0x1074
46baa7:	53                   	push   %ebx
46baa8:	e9 61 fe ff ff       	jmp    0x46b90e
46baad:	8b 43 10             	mov    0x10(%ebx),%eax
46bab0:	89 85 f8 fe ff ff    	mov    %eax,-0x108(%ebp)
46bab6:	8b 45 0c             	mov    0xc(%ebp),%eax
46bab9:	89 85 04 ff ff ff    	mov    %eax,-0xfc(%ebp)
46babf:	8d 85 f4 fe ff ff    	lea    -0x10c(%ebp),%eax
46bac5:	50                   	push   %eax
46bac6:	56                   	push   %esi
46bac7:	68 3f 11 00 00       	push   $0x113f
46bacc:	ff 73 34             	push   0x34(%ebx)
46bacf:	c7 85 f4 fe ff ff 01 	movl   $0x1,-0x10c(%ebp)
46bad6:	00 00 00
46bad9:	e9 30 fe ff ff       	jmp    0x46b90e
46bade:	8b 45 0c             	mov    0xc(%ebp),%eax
46bae1:	89 85 28 ff ff ff    	mov    %eax,-0xd8(%ebp)
46bae7:	8d 85 1c ff ff ff    	lea    -0xe4(%ebp),%eax
46baed:	50                   	push   %eax
46baee:	0f b6 83 93 00 00 00 	movzbl 0x93(%ebx),%eax
46baf5:	50                   	push   %eax
46baf6:	68 3d 13 00 00       	push   $0x133d
46bafb:	ff b2 88 01 00 00    	push   0x188(%edx)
46bb01:	33 ff                	xor    %edi,%edi
46bb03:	47                   	inc    %edi
46bb04:	89 bd 1c ff ff ff    	mov    %edi,-0xe4(%ebp)
46bb0a:	ff 15 70 d6 48 00    	call   *0x48d670
46bb10:	85 c0                	test   %eax,%eax
46bb12:	0f 84 e3 fb ff ff    	je     0x46b6fb
46bb18:	80 bb 93 00 00 00 ff 	cmpb   $0xff,0x93(%ebx)
46bb1f:	0f 84 cf 00 00 00    	je     0x46bbf4
46bb25:	8b 45 f8             	mov    -0x8(%ebp),%eax
46bb28:	57                   	push   %edi
46bb29:	56                   	push   %esi
46bb2a:	ff 30                	push   (%eax)
46bb2c:	ff 15 40 d6 48 00    	call   *0x48d640
46bb32:	e9 bd 00 00 00       	jmp    0x46bbf4
46bb37:	68 08 02 00 00       	push   $0x208
46bb3c:	e8 a9 39 fb ff       	call   0x41f4ea
46bb41:	59                   	pop    %ecx
46bb42:	8b f8                	mov    %eax,%edi
46bb44:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
46bb4a:	50                   	push   %eax
46bb4b:	56                   	push   %esi
46bb4c:	ff 75 08             	push   0x8(%ebp)
46bb4f:	c7 85 50 ff ff ff 30 	movl   $0x30,-0xb0(%ebp)
46bb56:	00 00 00
46bb59:	ff 73 0c             	push   0xc(%ebx)
46bb5c:	c7 85 54 ff ff ff 10 	movl   $0x10,-0xac(%ebp)
46bb63:	00 00 00
46bb66:	89 bd 74 ff ff ff    	mov    %edi,-0x8c(%ebp)
46bb6c:	c7 85 78 ff ff ff 04 	movl   $0x104,-0x88(%ebp)
46bb73:	01 00 00
46bb76:	ff 15 bc d5 48 00    	call   *0x48d5bc
46bb7c:	85 c0                	test   %eax,%eax
46bb7e:	74 41                	je     0x46bbc1
46bb80:	f7 85 58 ff ff ff 00 	testl  $0x800,-0xa8(%ebp)
46bb87:	08 00 00
46bb8a:	75 35                	jne    0x46bbc1
46bb8c:	8b 45 0c             	mov    0xc(%ebp),%eax
46bb8f:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
46bb95:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
46bb9b:	50                   	push   %eax
46bb9c:	56                   	push   %esi
46bb9d:	ff 75 08             	push   0x8(%ebp)
46bba0:	ff 73 0c             	push   0xc(%ebx)
46bba3:	ff 15 b8 d5 48 00    	call   *0x48d5b8
46bba9:	85 c0                	test   %eax,%eax
46bbab:	74 14                	je     0x46bbc1
46bbad:	8b 45 f8             	mov    -0x8(%ebp),%eax
46bbb0:	ff 30                	push   (%eax)
46bbb2:	ff 15 3c d5 48 00    	call   *0x48d53c
46bbb8:	57                   	push   %edi
46bbb9:	e8 a0 39 fb ff       	call   0x41f55e
46bbbe:	59                   	pop    %ecx
46bbbf:	eb 33                	jmp    0x46bbf4
46bbc1:	57                   	push   %edi
46bbc2:	e8 97 39 fb ff       	call   0x41f55e
46bbc7:	59                   	pop    %ecx
46bbc8:	e9 2e fb ff ff       	jmp    0x46b6fb
46bbcd:	39 75 0c             	cmp    %esi,0xc(%ebp)
46bbd0:	0f 84 cb fb ff ff    	je     0x46b7a1
46bbd6:	ff 75 0c             	push   0xc(%ebp)
46bbd9:	57                   	push   %edi
46bbda:	ff 15 04 d6 48 00    	call   *0x48d604
46bbe0:	85 c0                	test   %eax,%eax
46bbe2:	0f 84 13 fb ff ff    	je     0x46b6fb
46bbe8:	8b 45 f8             	mov    -0x8(%ebp),%eax
46bbeb:	6a 01                	push   $0x1
46bbed:	53                   	push   %ebx
46bbee:	50                   	push   %eax
46bbef:	e8 ea 23 00 00       	call   0x46dfde
46bbf4:	33 c0                	xor    %eax,%eax
46bbf6:	40                   	inc    %eax
46bbf7:	5f                   	pop    %edi
46bbf8:	5e                   	pop    %esi
46bbf9:	5b                   	pop    %ebx
46bbfa:	c9                   	leave
46bbfb:	c2 0c 00             	ret    $0xc
46bbfe:	8b ff                	mov    %edi,%edi
46bc00:	9a b7 46 00 ae b8 46 	lcall  $0x46b8,$0xae0046b7
46bc07:	00 f2                	add    %dh,%dl
46bc09:	b8 46 00 a1 b7       	mov    $0xb7a10046,%eax
46bc0e:	46                   	inc    %esi
46bc0f:	00 5f b8             	add    %bl,-0x48(%edi)
46bc12:	46                   	inc    %esi
46bc13:	00 de                	add    %bl,%dh
46bc15:	ba 46 00 37 bb       	mov    $0xbb370046,%edx
46bc1a:	46                   	inc    %esi
46bc1b:	00 ad ba 46 00 80    	add    %ch,-0x7fffb946(%ebp)
46bc21:	b8 46 00 21 b9       	mov    $0xb9210046,%eax
46bc26:	46                   	inc    %esi
46bc27:	00 c6                	add    %al,%dh
46bc29:	b9 46 00 98 b8       	mov    $0xb8980046,%ecx
46bc2e:	46                   	inc    %esi
46bc2f:	00 cd                	add    %cl,%ch
46bc31:	bb 46 00 00 00       	mov    $0x46,%ebx
46bc36:	01 01                	add    %eax,(%ecx)
46bc38:	0c 02                	or     $0x2,%al
46bc3a:	03 03                	add    (%ebx),%eax
46bc3c:	04 0c                	add    $0xc,%al
46bc3e:	0c 05                	or     $0x5,%al
46bc40:	0c 0c                	or     $0xc,%al
46bc42:	06                   	push   %es
46bc43:	06                   	push   %es
46bc44:	0c 07                	or     $0x7,%al
46bc46:	08 09                	or     %cl,(%ecx)
46bc48:	0a 0b                	or     (%ebx),%cl
46bc4a:	03 0c 0c             	add    (%esp,%ecx,1),%ecx
46bc4d:	0c 0c                	or     $0xc,%al
46bc4f:	0c 02                	or     $0x2,%al
46bc51:	55                   	push   %ebp
46bc52:	8b ec                	mov    %esp,%ebp
46bc54:	83 ec 14             	sub    $0x14,%esp
46bc57:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46bc5a:	56                   	push   %esi
46bc5b:	57                   	push   %edi
46bc5c:	ff 75 10             	push   0x10(%ebp)
46bc5f:	e8 b5 11 fa ff       	call   0x40ce19
46bc64:	8d 45 fc             	lea    -0x4(%ebp),%eax
46bc67:	50                   	push   %eax
46bc68:	8d 45 10             	lea    0x10(%ebp),%eax
46bc6b:	50                   	push   %eax
46bc6c:	ff 75 08             	push   0x8(%ebp)
46bc6f:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46bc74:	e8 85 17 fa ff       	call   0x40d3fe
46bc79:	84 c0                	test   %al,%al
46bc7b:	0f 84 9b 00 00 00    	je     0x46bd1c
46bc81:	8b 4d 10             	mov    0x10(%ebp),%ecx
46bc84:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46bc89:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46bc8c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
46bc8f:	8b 30                	mov    (%eax),%esi
46bc91:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46bc96:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46bc99:	8b 00                	mov    (%eax),%eax
46bc9b:	89 45 08             	mov    %eax,0x8(%ebp)
46bc9e:	f6 80 91 00 00 00 01 	testb  $0x1,0x91(%eax)
46bca5:	75 75                	jne    0x46bd1c
46bca7:	dd 45 1c             	fldl   0x1c(%ebp)
46bcaa:	dd 05 10 6a 4b 00    	fldl   0x4b6a10
46bcb0:	dd e9                	fucomp %st(1)
46bcb2:	df e0                	fnstsw %ax
46bcb4:	f6 c4 44             	test   $0x44,%ah
46bcb7:	7a 07                	jp     0x46bcc0
46bcb9:	8b 46 7c             	mov    0x7c(%esi),%eax
46bcbc:	dd d8                	fstp   %st(0)
46bcbe:	eb 0b                	jmp    0x46bccb
46bcc0:	dc 0d 18 27 4b 00    	fmull  0x4b2718
46bcc6:	e8 05 5c 00 00       	call   0x4718d0
46bccb:	53                   	push   %ebx
46bccc:	8b 5d 0c             	mov    0xc(%ebp),%ebx
46bccf:	89 45 10             	mov    %eax,0x10(%ebp)
46bcd2:	83 fb ff             	cmp    $0xffffffff,%ebx
46bcd5:	75 06                	jne    0x46bcdd
46bcd7:	8b 9e 80 00 00 00    	mov    0x80(%esi),%ebx
46bcdd:	83 7d 14 ff          	cmpl   $0xffffffff,0x14(%ebp)
46bce1:	75 09                	jne    0x46bcec
46bce3:	8b 86 84 00 00 00    	mov    0x84(%esi),%eax
46bce9:	89 45 14             	mov    %eax,0x14(%ebp)
46bcec:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
46bcf0:	75 0c                	jne    0x46bcfe
46bcf2:	8d 46 6c             	lea    0x6c(%esi),%eax
46bcf5:	50                   	push   %eax
46bcf6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46bcf9:	e8 ef b1 f9 ff       	call   0x406eed
46bcfe:	33 ff                	xor    %edi,%edi
46bd00:	47                   	inc    %edi
46bd01:	57                   	push   %edi
46bd02:	ff 75 18             	push   0x18(%ebp)
46bd05:	8d 45 ec             	lea    -0x14(%ebp),%eax
46bd08:	ff 75 14             	push   0x14(%ebp)
46bd0b:	53                   	push   %ebx
46bd0c:	ff 75 10             	push   0x10(%ebp)
46bd0f:	50                   	push   %eax
46bd10:	ff 75 08             	push   0x8(%ebp)
46bd13:	56                   	push   %esi
46bd14:	e8 b3 d1 ff ff       	call   0x468ecc
46bd19:	5b                   	pop    %ebx
46bd1a:	eb 02                	jmp    0x46bd1e
46bd1c:	33 ff                	xor    %edi,%edi
46bd1e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
46bd21:	e8 11 0e fa ff       	call   0x40cb37
46bd26:	8b c7                	mov    %edi,%eax
46bd28:	5f                   	pop    %edi
46bd29:	5e                   	pop    %esi
46bd2a:	c9                   	leave
46bd2b:	c2 1c 00             	ret    $0x1c
46bd2e:	55                   	push   %ebp
46bd2f:	8b ec                	mov    %esp,%ebp
46bd31:	81 ec a8 00 00 00    	sub    $0xa8,%esp
46bd37:	53                   	push   %ebx
46bd38:	56                   	push   %esi
46bd39:	57                   	push   %edi
46bd3a:	8d 4d 14             	lea    0x14(%ebp),%ecx
46bd3d:	e8 44 15 fa ff       	call   0x40d286
46bd42:	89 45 e8             	mov    %eax,-0x18(%ebp)
46bd45:	8d 45 ec             	lea    -0x14(%ebp),%eax
46bd48:	50                   	push   %eax
46bd49:	8d 45 f4             	lea    -0xc(%ebp),%eax
46bd4c:	50                   	push   %eax
46bd4d:	ff 75 08             	push   0x8(%ebp)
46bd50:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46bd55:	e8 a4 16 fa ff       	call   0x40d3fe
46bd5a:	33 ff                	xor    %edi,%edi
46bd5c:	84 c0                	test   %al,%al
46bd5e:	0f 84 67 06 00 00    	je     0x46c3cb
46bd64:	8b 4d f4             	mov    -0xc(%ebp),%ecx
46bd67:	a1 88 16 4c 00       	mov    0x4c1688,%eax
46bd6c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46bd6f:	8b 4d ec             	mov    -0x14(%ebp),%ecx
46bd72:	8b 00                	mov    (%eax),%eax
46bd74:	89 45 e0             	mov    %eax,-0x20(%ebp)
46bd77:	a1 9c 16 4c 00       	mov    0x4c169c,%eax
46bd7c:	8b 04 88             	mov    (%eax,%ecx,4),%eax
46bd7f:	8b 4d e8             	mov    -0x18(%ebp),%ecx
46bd82:	8b 18                	mov    (%eax),%ebx
46bd84:	8b 33                	mov    (%ebx),%esi
46bd86:	8a 93 90 00 00 00    	mov    0x90(%ebx),%dl
46bd8c:	89 75 f4             	mov    %esi,-0xc(%ebp)
46bd8f:	88 55 0b             	mov    %dl,0xb(%ebp)
46bd92:	e8 48 b4 fd ff       	call   0x4471df
46bd97:	89 45 f0             	mov    %eax,-0x10(%ebp)
46bd9a:	0f b6 ca             	movzbl %dl,%ecx
46bd9d:	33 c0                	xor    %eax,%eax
46bd9f:	40                   	inc    %eax
46bda0:	83 f9 11             	cmp    $0x11,%ecx
46bda3:	0f 8f d4 02 00 00    	jg     0x46c07d
46bda9:	83 f9 10             	cmp    $0x10,%ecx
46bdac:	0f 8d 5c 01 00 00    	jge    0x46bf0e
46bdb2:	83 e9 06             	sub    $0x6,%ecx
46bdb5:	0f 84 0b 01 00 00    	je     0x46bec6
46bdbb:	49                   	dec    %ecx
46bdbc:	0f 84 d3 00 00 00    	je     0x46be95
46bdc2:	83 e9 04             	sub    $0x4,%ecx
46bdc5:	0f 85 00 06 00 00    	jne    0x46c3cb
46bdcb:	50                   	push   %eax
46bdcc:	8d 45 f8             	lea    -0x8(%ebp),%eax
46bdcf:	50                   	push   %eax
46bdd0:	57                   	push   %edi
46bdd1:	ff 75 f0             	push   -0x10(%ebp)
46bdd4:	ff 75 0c             	push   0xc(%ebp)
46bdd7:	ff 15 a0 d4 48 00    	call   *0x48d4a0
46bddd:	85 c0                	test   %eax,%eax
46bddf:	0f 8e e6 05 00 00    	jle    0x46c3cb
46bde5:	8b 45 e0             	mov    -0x20(%ebp),%eax
46bde8:	b9 28 16 4c 00       	mov    $0x4c1628,%ecx
46bded:	8b 80 88 01 00 00    	mov    0x188(%eax),%eax
46bdf3:	50                   	push   %eax
46bdf4:	89 45 0c             	mov    %eax,0xc(%ebp)
46bdf7:	e8 2a f7 fa ff       	call   0x41b526
46bdfc:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46be02:	89 45 10             	mov    %eax,0x10(%ebp)
46be05:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
46be08:	8b 09                	mov    (%ecx),%ecx
46be0a:	8b 71 40             	mov    0x40(%ecx),%esi
46be0d:	85 f6                	test   %esi,%esi
46be0f:	75 3f                	jne    0x46be50
46be11:	33 c0                	xor    %eax,%eax
46be13:	40                   	inc    %eax
46be14:	50                   	push   %eax
46be15:	50                   	push   %eax
46be16:	6a 21                	push   $0x21
46be18:	6a 10                	push   $0x10
46be1a:	6a 10                	push   $0x10
46be1c:	ff 15 a8 d0 48 00    	call   *0x48d0a8
46be22:	8b 0d 9c 16 4c 00    	mov    0x4c169c,%ecx
46be28:	8b f0                	mov    %eax,%esi
46be2a:	8b 45 10             	mov    0x10(%ebp),%eax
46be2d:	56                   	push   %esi
46be2e:	8b 0c 81             	mov    (%ecx,%eax,4),%ecx
46be31:	57                   	push   %edi
46be32:	8b 09                	mov    (%ecx),%ecx
46be34:	8b 7d 0c             	mov    0xc(%ebp),%edi
46be37:	68 03 13 00 00       	push   $0x1303
46be3c:	57                   	push   %edi
46be3d:	89 71 40             	mov    %esi,0x40(%ecx)
46be40:	ff 15 70 d6 48 00    	call   *0x48d670
46be46:	85 f6                	test   %esi,%esi
46be48:	0f 84 21 02 00 00    	je     0x46c06f
46be4e:	eb 03                	jmp    0x46be53
46be50:	8b 7d 0c             	mov    0xc(%ebp),%edi
46be53:	ff 75 f8             	push   -0x8(%ebp)
46be56:	0f bf 83 88 00 00 00 	movswl 0x88(%ebx),%eax
46be5d:	50                   	push   %eax
46be5e:	56                   	push   %esi
46be5f:	ff 15 b0 d0 48 00    	call   *0x48d0b0
46be65:	0f b6 8b 93 00 00 00 	movzbl 0x93(%ebx),%ecx
46be6c:	8b f0                	mov    %eax,%esi
46be6e:	8d 45 b4             	lea    -0x4c(%ebp),%eax
46be71:	50                   	push   %eax
46be72:	51                   	push   %ecx
46be73:	68 3d 13 00 00       	push   $0x133d
46be78:	57                   	push   %edi
46be79:	c7 45 b4 02 00 00 00 	movl   $0x2,-0x4c(%ebp)
46be80:	89 75 c8             	mov    %esi,-0x38(%ebp)
46be83:	ff 15 70 d6 48 00    	call   *0x48d670
46be89:	66 89 b3 88 00 00 00 	mov    %si,0x88(%ebx)
46be90:	e9 da 01 00 00       	jmp    0x46c06f
46be95:	83 ec 10             	sub    $0x10,%esp
46be98:	8b cc                	mov    %esp,%ecx
46be9a:	8d 45 14             	lea    0x14(%ebp),%eax
46be9d:	50                   	push   %eax
46be9e:	89 79 08             	mov    %edi,0x8(%ecx)
46bea1:	e8 7a 58 fa ff       	call   0x411720
46bea6:	ff 75 0c             	push   0xc(%ebp)
46bea9:	53                   	push   %ebx
46beaa:	e8 46 26 00 00       	call   0x46e4f5
46beaf:	84 c0                	test   %al,%al
46beb1:	0f 84 14 05 00 00    	je     0x46c3cb
46beb7:	57                   	push   %edi
46beb8:	53                   	push   %ebx
46beb9:	ff 75 e0             	push   -0x20(%ebp)
46bebc:	e8 1d 21 00 00       	call   0x46dfde
46bec1:	e9 00 05 00 00       	jmp    0x46c3c6
46bec6:	8d 45 d0             	lea    -0x30(%ebp),%eax
46bec9:	50                   	push   %eax
46beca:	56                   	push   %esi
46becb:	ff 15 7c d6 48 00    	call   *0x48d67c
46bed1:	8b 45 d8             	mov    -0x28(%ebp),%eax
46bed4:	2b 45 d0             	sub    -0x30(%ebp),%eax
46bed7:	89 45 08             	mov    %eax,0x8(%ebp)
46beda:	8b 45 dc             	mov    -0x24(%ebp),%eax
46bedd:	2b 45 d4             	sub    -0x2c(%ebp),%eax
46bee0:	89 45 10             	mov    %eax,0x10(%ebp)
46bee3:	8d 45 10             	lea    0x10(%ebp),%eax
46bee6:	50                   	push   %eax