46abe1:	0f 90 c1             	seto   %cl
46abe4:	f7 d9                	neg    %ecx
46abe6:	0b c8                	or     %eax,%ecx
46abe8:	51                   	push   %ecx
46abe9:	e8 fc 48 fb ff       	call   0x41f4ea
46abee:	59                   	pop    %ecx
46abef:	8b f0                	mov    %eax,%esi
46abf1:	56                   	push   %esi
46abf2:	53                   	push   %ebx
46abf3:	68 48 01 00 00       	push   $0x148
46abf8:	eb aa                	jmp    0x46aba4
46abfa:	33 ff                	xor    %edi,%edi
46abfc:	57                   	push   %edi
46abfd:	57                   	push   %edi
46abfe:	8b 3d 70 d6 48 00    	mov    0x48d670,%edi
46ac04:	68 0b 13 00 00       	push   $0x130b
46ac09:	56                   	push   %esi
46ac0a:	ff d7                	call   *%edi
46ac0c:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
46ac10:	89 03                	mov    %eax,(%ebx)
46ac12:	0f 84 bd 05 00 00    	je     0x46b1d5
46ac18:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
46ac1e:	51                   	push   %ecx
46ac1f:	50                   	push   %eax
46ac20:	68 3c 13 00 00       	push   $0x133c
46ac25:	56                   	push   %esi
46ac26:	c7 85 6c ff ff ff 08 	movl   $0x8,-0x94(%ebp)
46ac2d:	00 00 00
46ac30:	ff d7                	call   *%edi
46ac32:	8b 45 84             	mov    -0x7c(%ebp),%eax
46ac35:	e9 99 05 00 00       	jmp    0x46b1d3
46ac3a:	83 f8 0c             	cmp    $0xc,%eax
46ac3d:	0f 84 97 01 00 00    	je     0x46adda
46ac43:	83 f8 0d             	cmp    $0xd,%eax
46ac46:	0f 8e 3d 03 00 00    	jle    0x46af89
46ac4c:	83 f8 0f             	cmp    $0xf,%eax
46ac4f:	0f 8e 9b 00 00 00    	jle    0x46acf0
46ac55:	83 f8 10             	cmp    $0x10,%eax
46ac58:	0f 85 2b 03 00 00    	jne    0x46af89
46ac5e:	33 ff                	xor    %edi,%edi
46ac60:	57                   	push   %edi
46ac61:	6a 09                	push   $0x9
46ac63:	68 0a 11 00 00       	push   $0x110a
46ac68:	56                   	push   %esi
46ac69:	89 3b                	mov    %edi,(%ebx)
46ac6b:	ff 15 70 d6 48 00    	call   *0x48d670
46ac71:	85 c0                	test   %eax,%eax
46ac73:	0f 84 5c 05 00 00    	je     0x46b1d5
46ac79:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
46ac7d:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46ac80:	c7 45 d0 04 00 00 00 	movl   $0x4,-0x30(%ebp)
46ac87:	74 46                	je     0x46accf
46ac89:	68 00 20 00 00       	push   $0x2000
46ac8e:	e8 57 48 fb ff       	call   0x41f4ea
46ac93:	59                   	pop    %ecx
46ac94:	8b d8                	mov    %eax,%ebx
46ac96:	8d 45 d0             	lea    -0x30(%ebp),%eax
46ac99:	50                   	push   %eax
46ac9a:	57                   	push   %edi
46ac9b:	68 3e 11 00 00       	push   $0x113e
46aca0:	56                   	push   %esi
46aca1:	c7 45 e4 ff 0f 00 00 	movl   $0xfff,-0x1c(%ebp)
46aca8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
46acab:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
46acb2:	ff 15 70 d6 48 00    	call   *0x48d670
46acb8:	85 c0                	test   %eax,%eax
46acba:	74 07                	je     0x46acc3
46acbc:	8b c3                	mov    %ebx,%eax
46acbe:	e9 14 05 00 00       	jmp    0x46b1d7
46acc3:	53                   	push   %ebx
46acc4:	e8 95 48 fb ff       	call   0x41f55e
46acc9:	59                   	pop    %ecx
46acca:	e9 06 05 00 00       	jmp    0x46b1d5
46accf:	8d 45 d0             	lea    -0x30(%ebp),%eax
46acd2:	50                   	push   %eax
46acd3:	57                   	push   %edi
46acd4:	68 3e 11 00 00       	push   $0x113e
46acd9:	56                   	push   %esi
46acda:	ff 15 70 d6 48 00    	call   *0x48d670
46ace0:	85 c0                	test   %eax,%eax
46ace2:	0f 84 ed 04 00 00    	je     0x46b1d5
46ace8:	8b 45 f4             	mov    -0xc(%ebp),%eax
46aceb:	e9 e3 04 00 00       	jmp    0x46b1d3
46acf0:	ff 71 0c             	push   0xc(%ecx)
46acf3:	ff 15 9c d5 48 00    	call   *0x48d59c
46acf9:	85 c0                	test   %eax,%eax
46acfb:	0f 84 d4 04 00 00    	je     0x46b1d5
46ad01:	68 08 02 00 00       	push   $0x208
46ad06:	e8 df 47 fb ff       	call   0x41f4ea
46ad0b:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
46ad0f:	8b 75 f8             	mov    -0x8(%ebp),%esi
46ad12:	8b f8                	mov    %eax,%edi
46ad14:	59                   	pop    %ecx
46ad15:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
46ad1b:	89 7d 0c             	mov    %edi,0xc(%ebp)
46ad1e:	c7 85 3c ff ff ff 30 	movl   $0x30,-0xc4(%ebp)
46ad25:	00 00 00
46ad28:	50                   	push   %eax
46ad29:	74 3f                	je     0x46ad6a
46ad2b:	89 bd 60 ff ff ff    	mov    %edi,-0xa0(%ebp)
46ad31:	33 ff                	xor    %edi,%edi
46ad33:	57                   	push   %edi
46ad34:	ff 75 08             	push   0x8(%ebp)
46ad37:	c7 85 40 ff ff ff 10 	movl   $0x10,-0xc0(%ebp)
46ad3e:	00 00 00
46ad41:	ff 76 0c             	push   0xc(%esi)
46ad44:	c7 85 64 ff ff ff 04 	movl   $0x104,-0x9c(%ebp)
46ad4b:	01 00 00
46ad4e:	ff 15 bc d5 48 00    	call   *0x48d5bc
46ad54:	85 c0                	test   %eax,%eax
46ad56:	75 0a                	jne    0x46ad62
46ad58:	ff 75 0c             	push   0xc(%ebp)
46ad5b:	89 3b                	mov    %edi,(%ebx)
46ad5d:	e9 62 ff ff ff       	jmp    0x46acc4
46ad62:	8b 45 0c             	mov    0xc(%ebp),%eax
46ad65:	e9 6d 04 00 00       	jmp    0x46b1d7
46ad6a:	6a 00                	push   $0x0
46ad6c:	ff 75 08             	push   0x8(%ebp)
46ad6f:	c7 85 40 ff ff ff 01 	movl   $0x1,-0xc0(%ebp)
46ad76:	00 00 00
46ad79:	ff 76 0c             	push   0xc(%esi)
46ad7c:	ff 15 bc d5 48 00    	call   *0x48d5bc
46ad82:	57                   	push   %edi
46ad83:	85 c0                	test   %eax,%eax
46ad85:	0f 84 39 ff ff ff    	je     0x46acc4
46ad8b:	e8 ce 47 fb ff       	call   0x41f55e
46ad90:	59                   	pop    %ecx
46ad91:	8b 8d 48 ff ff ff    	mov    -0xb8(%ebp),%ecx
46ad97:	8a c1                	mov    %cl,%al
46ad99:	24 03                	and    $0x3,%al
46ad9b:	0f be c0             	movsbl %al,%eax
46ad9e:	f7 d8                	neg    %eax
46ada0:	1b c0                	sbb    %eax,%eax
46ada2:	83 e0 40             	and    $0x40,%eax
46ada5:	83 c0 40             	add    $0x40,%eax
46ada8:	89 0b                	mov    %ecx,(%ebx)
46adaa:	f7 c1 80 80 00 00    	test   $0x8080,%ecx
46adb0:	74 05                	je     0x46adb7
46adb2:	0d 00 01 00 00       	or     $0x100,%eax
46adb7:	f6 c1 08             	test   $0x8,%cl
46adba:	74 05                	je     0x46adc1
46adbc:	83 c8 01             	or     $0x1,%eax
46adbf:	eb 03                	jmp    0x46adc4
46adc1:	83 c8 04             	or     $0x4,%eax
46adc4:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
46adca:	0f 84 03 04 00 00    	je     0x46b1d3
46add0:	0d 00 02 00 00       	or     $0x200,%eax
46add5:	e9 f9 03 00 00       	jmp    0x46b1d3
46adda:	21 3b                	and    %edi,(%ebx)
46addc:	e9 f4 03 00 00       	jmp    0x46b1d5
46ade1:	8b 41 10             	mov    0x10(%ecx),%eax
46ade4:	6a f0                	push   $0xfffffff0
46ade6:	ff 71 34             	push   0x34(%ecx)
46ade9:	33 ff                	xor    %edi,%edi
46adeb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
46adee:	89 3b                	mov    %edi,(%ebx)
46adf0:	ff 15 44 d6 48 00    	call   *0x48d644
46adf6:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
46adfa:	89 45 08             	mov    %eax,0x8(%ebp)
46adfd:	c7 45 d0 08 00 00 00 	movl   $0x8,-0x30(%ebp)
46ae04:	c7 45 dc 00 f0 00 00 	movl   $0xf000,-0x24(%ebp)
46ae0b:	74 22                	je     0x46ae2f
46ae0d:	68 00 20 00 00       	push   $0x2000
46ae12:	e8 d3 46 fb ff       	call   0x41f4ea
46ae17:	8b 75 f8             	mov    -0x8(%ebp),%esi
46ae1a:	59                   	pop    %ecx
46ae1b:	8b d8                	mov    %eax,%ebx
46ae1d:	8d 45 d0             	lea    -0x30(%ebp),%eax
46ae20:	50                   	push   %eax
46ae21:	57                   	push   %edi
46ae22:	68 3e 11 00 00       	push   $0x113e
46ae27:	ff 76 34             	push   0x34(%esi)
46ae2a:	e9 72 fe ff ff       	jmp    0x46aca1
46ae2f:	8b 75 f8             	mov    -0x8(%ebp),%esi
46ae32:	8d 45 d0             	lea    -0x30(%ebp),%eax
46ae35:	50                   	push   %eax
46ae36:	57                   	push   %edi
46ae37:	68 3e 11 00 00       	push   $0x113e
46ae3c:	ff 76 34             	push   0x34(%esi)
46ae3f:	ff 15 70 d6 48 00    	call   *0x48d670
46ae45:	85 c0                	test   %eax,%eax
46ae47:	0f 84 88 03 00 00    	je     0x46b1d5
46ae4d:	8b 4d d8             	mov    -0x28(%ebp),%ecx
46ae50:	ba 00 01 00 00       	mov    $0x100,%edx
46ae55:	85 55 08             	test   %edx,0x8(%ebp)
46ae58:	74 12                	je     0x46ae6c
46ae5a:	8b c1                	mov    %ecx,%eax
46ae5c:	c1 e8 0c             	shr    $0xc,%eax
46ae5f:	48                   	dec    %eax
46ae60:	f7 d8                	neg    %eax
46ae62:	1b c0                	sbb    %eax,%eax
46ae64:	83 e0 fd             	and    $0xfffffffd,%eax
46ae67:	83 c0 04             	add    $0x4,%eax
46ae6a:	89 03                	mov    %eax,(%ebx)
46ae6c:	f6 c1 02             	test   $0x2,%cl
46ae6f:	74 02                	je     0x46ae73
46ae71:	09 13                	or     %edx,(%ebx)
46ae73:	f6 c1 20             	test   $0x20,%cl
46ae76:	74 06                	je     0x46ae7e
46ae78:	81 0b 00 04 00 00    	orl    $0x400,(%ebx)
46ae7e:	f6 c1 10             	test   $0x10,%cl
46ae81:	0f 84 4e 03 00 00    	je     0x46b1d5
46ae87:	81 0b 00 02 00 00    	orl    $0x200,(%ebx)
46ae8d:	e9 43 03 00 00       	jmp    0x46b1d5
46ae92:	83 f8 12             	cmp    $0x12,%eax
46ae95:	0f 84 28 03 00 00    	je     0x46b1c3
46ae9b:	83 f8 13             	cmp    $0x13,%eax
46ae9e:	0f 84 d6 02 00 00    	je     0x46b17a
46aea4:	83 f8 14             	cmp    $0x14,%eax
46aea7:	0f 84 84 01 00 00    	je     0x46b031
46aead:	83 f8 15             	cmp    $0x15,%eax
46aeb0:	0f 84 0a 01 00 00    	je     0x46afc0
46aeb6:	83 f8 18             	cmp    $0x18,%eax
46aeb9:	0f 8e ca 00 00 00    	jle    0x46af89
46aebf:	83 f8 1a             	cmp    $0x1a,%eax
46aec2:	7e 53                	jle    0x46af17
46aec4:	83 f8 1c             	cmp    $0x1c,%eax
46aec7:	0f 85 bc 00 00 00    	jne    0x46af89
46aecd:	8d 45 8c             	lea    -0x74(%ebp),%eax
46aed0:	50                   	push   %eax
46aed1:	33 ff                	xor    %edi,%edi
46aed3:	57                   	push   %edi
46aed4:	68 01 10 00 00       	push   $0x1001
46aed9:	56                   	push   %esi
46aeda:	ff 15 70 d6 48 00    	call   *0x48d670
46aee0:	85 c0                	test   %eax,%eax
46aee2:	74 2c                	je     0x46af10
46aee4:	6a 16                	push   $0x16
46aee6:	e8 ff 45 fb ff       	call   0x41f4ea
46aeeb:	0f b7 4d 92          	movzwl -0x6e(%ebp),%ecx
46aeef:	51                   	push   %ecx
46aef0:	0f b7 4d 8e          	movzwl -0x72(%ebp),%ecx
46aef4:	51                   	push   %ecx
46aef5:	0f b7 4d 8c          	movzwl -0x74(%ebp),%ecx
46aef9:	51                   	push   %ecx
46aefa:	8b f0                	mov    %eax,%esi
46aefc:	68 b8 4a 4b 00       	push   $0x4b4ab8
46af01:	56                   	push   %esi
46af02:	ff 15 48 d5 48 00    	call   *0x48d548
46af08:	83 c4 18             	add    $0x18,%esp
46af0b:	e9 99 fc ff ff       	jmp    0x46aba9
46af10:	89 3b                	mov    %edi,(%ebx)
46af12:	e9 be 02 00 00       	jmp    0x46b1d5
46af17:	33 ff                	xor    %edi,%edi
46af19:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
46af1d:	57                   	push   %edi
46af1e:	57                   	push   %edi
46af1f:	74 47                	je     0x46af68
46af21:	6a 0e                	push   $0xe
46af23:	56                   	push   %esi
46af24:	ff 15 70 d6 48 00    	call   *0x48d670
46af2a:	8d 70 01             	lea    0x1(%eax),%esi
46af2d:	33 c9                	xor    %ecx,%ecx
46af2f:	6a 02                	push   $0x2
46af31:	5a                   	pop    %edx
46af32:	8b c6                	mov    %esi,%eax
46af34:	f7 e2                	mul    %edx
46af36:	0f 90 c1             	seto   %cl
46af39:	f7 d9                	neg    %ecx
46af3b:	0b c8                	or     %eax,%ecx
46af3d:	51                   	push   %ecx
46af3e:	e8 a7 45 fb ff       	call   0x41f4ea
46af43:	59                   	pop    %ecx
46af44:	56                   	push   %esi
46af45:	50                   	push   %eax
46af46:	ff 75 0c             	push   0xc(%ebp)
46af49:	89 45 10             	mov    %eax,0x10(%ebp)
46af4c:	ff 15 30 d7 48 00    	call   *0x48d730
46af52:	85 c0                	test   %eax,%eax
46af54:	75 0a                	jne    0x46af60
46af56:	ff 75 10             	push   0x10(%ebp)
46af59:	89 3b                	mov    %edi,(%ebx)
46af5b:	e9 64 fd ff ff       	jmp    0x46acc4
46af60:	8b 45 10             	mov    0x10(%ebp),%eax
46af63:	e9 6f 02 00 00       	jmp    0x46b1d7
46af68:	68 f0 00 00 00       	push   $0xf0
46af6d:	56                   	push   %esi
46af6e:	ff 15 70 d6 48 00    	call   *0x48d670
46af74:	89 03                	mov    %eax,(%ebx)
46af76:	85 c0                	test   %eax,%eax
46af78:	0f 85 57 02 00 00    	jne    0x46b1d5
46af7e:	c7 03 04 00 00 00    	movl   $0x4,(%ebx)
46af84:	e9 4c 02 00 00       	jmp    0x46b1d5
46af89:	57                   	push   %edi
46af8a:	57                   	push   %edi
46af8b:	6a 0e                	push   $0xe
46af8d:	56                   	push   %esi
46af8e:	ff 15 70 d6 48 00    	call   *0x48d670
46af94:	8d 78 01             	lea    0x1(%eax),%edi
46af97:	33 c9                	xor    %ecx,%ecx
46af99:	6a 02                	push   $0x2
46af9b:	5a                   	pop    %edx
46af9c:	8b c7                	mov    %edi,%eax
46af9e:	f7 e2                	mul    %edx
46afa0:	0f 90 c1             	seto   %cl
46afa3:	f7 d9                	neg    %ecx
46afa5:	0b c8                	or     %eax,%ecx
46afa7:	51                   	push   %ecx
46afa8:	e8 3d 45 fb ff       	call   0x41f4ea
46afad:	59                   	pop    %ecx
46afae:	57                   	push   %edi
46afaf:	8b f0                	mov    %eax,%esi
46afb1:	56                   	push   %esi
46afb2:	ff 75 0c             	push   0xc(%ebp)
46afb5:	ff 15 30 d7 48 00    	call   *0x48d730
46afbb:	e9 e9 fb ff ff       	jmp    0x46aba9
46afc0:	8d 71 70             	lea    0x70(%ecx),%esi
46afc3:	6a 04                	push   $0x4
46afc5:	8b ce                	mov    %esi,%ecx
46afc7:	89 75 10             	mov    %esi,0x10(%ebp)
46afca:	e8 15 26 fa ff       	call   0x40d5e4
46afcf:	8b ce                	mov    %esi,%ecx
46afd1:	84 c0                	test   %al,%al
46afd3:	74 52                	je     0x46b027
46afd5:	e8 92 e3 f9 ff       	call   0x40936c
46afda:	8b 46 08             	mov    0x8(%esi),%eax
46afdd:	33 c9                	xor    %ecx,%ecx
46afdf:	8b 40 04             	mov    0x4(%eax),%eax
46afe2:	6a 02                	push   $0x2
46afe4:	40                   	inc    %eax
46afe5:	5a                   	pop    %edx
46afe6:	f7 e2                	mul    %edx
46afe8:	0f 90 c1             	seto   %cl
46afeb:	f7 d9                	neg    %ecx
46afed:	0b c8                	or     %eax,%ecx
46afef:	51                   	push   %ecx
46aff0:	e8 f5 44 fb ff       	call   0x41f4ea
46aff5:	59                   	pop    %ecx
46aff6:	8b ce                	mov    %esi,%ecx
46aff8:	8b f8                	mov    %eax,%edi
46affa:	e8 6d e3 f9 ff       	call   0x40936c
46afff:	8b 4e 08             	mov    0x8(%esi),%ecx
46b002:	8b 5d 10             	mov    0x10(%ebp),%ebx
46b005:	8b 71 04             	mov    0x4(%ecx),%esi
46b008:	8b cb                	mov    %ebx,%ecx
46b00a:	e8 5d e3 f9 ff       	call   0x40936c
46b00f:	8b 53 08             	mov    0x8(%ebx),%edx
46b012:	8d 4e 01             	lea    0x1(%esi),%ecx
46b015:	8b 12                	mov    (%edx),%edx
46b017:	51                   	push   %ecx
46b018:	8b cf                	mov    %edi,%ecx
46b01a:	e8 c7 a0 f9 ff       	call   0x4050e6
46b01f:	59                   	pop    %ecx
46b020:	8b c7                	mov    %edi,%eax
46b022:	e9 b0 01 00 00       	jmp    0x46b1d7
46b027:	e8 5a 22 fa ff       	call   0x40d286
46b02c:	e9 a2 01 00 00       	jmp    0x46b1d3
46b031:	83 0b ff             	orl    $0xffffffff,(%ebx)
46b034:	6a ec                	push   $0xffffffec
46b036:	ff 71 34             	push   0x34(%ecx)