41bab9:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
41babf:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41bac3:	75 0c                	jne    0x41bad1
41bac5:	8b ce                	mov    %esi,%ecx
41bac7:	e8 d4 18 00 00       	call   0x41d3a0
41bacc:	8a 53 04             	mov    0x4(%ebx),%dl
41bacf:	8a ca                	mov    %dl,%cl
41bad1:	83 3b 00             	cmpl   $0x0,(%ebx)
41bad4:	8b 06                	mov    (%esi),%eax
41bad6:	c7 85 70 ff ff ff ff 	movl   $0xffff,-0x90(%ebp)
41badd:	ff 00 00
41bae0:	75 0a                	jne    0x41baec
41bae2:	85 c0                	test   %eax,%eax
41bae4:	0f 84 1a 01 00 00    	je     0x41bc04
41baea:	eb 08                	jmp    0x41baf4
41baec:	85 c0                	test   %eax,%eax
41baee:	0f 85 10 01 00 00    	jne    0x41bc04
41baf4:	84 d2                	test   %dl,%dl
41baf6:	75 0c                	jne    0x41bb04
41baf8:	8b cb                	mov    %ebx,%ecx
41bafa:	e8 a1 18 00 00       	call   0x41d3a0
41baff:	8a 4b 04             	mov    0x4(%ebx),%cl
41bb02:	8a d1                	mov    %cl,%dl
41bb04:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
41bb08:	66 3b 45 e6          	cmp    -0x1a(%ebp),%ax
41bb0c:	75 72                	jne    0x41bb80
41bb0e:	8d 47 01             	lea    0x1(%edi),%eax
41bb11:	c6 07 2b             	movb   $0x2b,(%edi)
41bb14:	8b 3b                	mov    (%ebx),%edi
41bb16:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
41bb1c:	85 ff                	test   %edi,%edi
41bb1e:	74 50                	je     0x41bb70
41bb20:	8b 47 1c             	mov    0x1c(%edi),%eax
41bb23:	83 38 00             	cmpl   $0x0,(%eax)
41bb26:	74 1b                	je     0x41bb43
41bb28:	8b 4f 2c             	mov    0x2c(%edi),%ecx
41bb2b:	8b 01                	mov    (%ecx),%eax
41bb2d:	85 c0                	test   %eax,%eax
41bb2f:	7e 12                	jle    0x41bb43
41bb31:	48                   	dec    %eax
41bb32:	89 01                	mov    %eax,(%ecx)
41bb34:	8b 4f 1c             	mov    0x1c(%edi),%ecx
41bb37:	8b 11                	mov    (%ecx),%edx
41bb39:	8d 42 02             	lea    0x2(%edx),%eax
41bb3c:	89 01                	mov    %eax,(%ecx)
41bb3e:	0f b7 02             	movzwl (%edx),%eax
41bb41:	eb 1a                	jmp    0x41bb5d
41bb43:	8b 07                	mov    (%edi),%eax
41bb45:	8b 70 1c             	mov    0x1c(%eax),%esi
41bb48:	8b ce                	mov    %esi,%ecx
41bb4a:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41bb50:	8b cf                	mov    %edi,%ecx
41bb52:	ff d6                	call   *%esi
41bb54:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
41bb5a:	0f b7 c0             	movzwl %ax,%eax
41bb5d:	66 39 85 70 ff ff ff 	cmp    %ax,-0x90(%ebp)
41bb64:	74 0a                	je     0x41bb70
41bb66:	32 c9                	xor    %cl,%cl
41bb68:	88 4b 04             	mov    %cl,0x4(%ebx)
41bb6b:	e9 94 00 00 00       	jmp    0x41bc04
41bb70:	b1 01                	mov    $0x1,%cl
41bb72:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
41bb78:	88 4b 04             	mov    %cl,0x4(%ebx)
41bb7b:	e9 84 00 00 00       	jmp    0x41bc04
41bb80:	84 d2                	test   %dl,%dl
41bb82:	75 0a                	jne    0x41bb8e
41bb84:	8b cb                	mov    %ebx,%ecx
41bb86:	e8 15 18 00 00       	call   0x41d3a0
41bb8b:	8a 4b 04             	mov    0x4(%ebx),%cl
41bb8e:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
41bb92:	66 3b 45 e4          	cmp    -0x1c(%ebp),%ax
41bb96:	75 6c                	jne    0x41bc04
41bb98:	8d 47 01             	lea    0x1(%edi),%eax
41bb9b:	c6 07 2d             	movb   $0x2d,(%edi)
41bb9e:	8b 3b                	mov    (%ebx),%edi
41bba0:	89 85 78 ff ff ff    	mov    %eax,-0x88(%ebp)
41bba6:	85 ff                	test   %edi,%edi
41bba8:	74 4e                	je     0x41bbf8
41bbaa:	8b 47 1c             	mov    0x1c(%edi),%eax
41bbad:	83 38 00             	cmpl   $0x0,(%eax)
41bbb0:	74 1b                	je     0x41bbcd
41bbb2:	8b 4f 2c             	mov    0x2c(%edi),%ecx
41bbb5:	8b 01                	mov    (%ecx),%eax
41bbb7:	85 c0                	test   %eax,%eax
41bbb9:	7e 12                	jle    0x41bbcd
41bbbb:	48                   	dec    %eax
41bbbc:	89 01                	mov    %eax,(%ecx)
41bbbe:	8b 4f 1c             	mov    0x1c(%edi),%ecx
41bbc1:	8b 11                	mov    (%ecx),%edx
41bbc3:	8d 42 02             	lea    0x2(%edx),%eax
41bbc6:	89 01                	mov    %eax,(%ecx)
41bbc8:	0f b7 02             	movzwl (%edx),%eax
41bbcb:	eb 1a                	jmp    0x41bbe7
41bbcd:	8b 07                	mov    (%edi),%eax
41bbcf:	8b 70 1c             	mov    0x1c(%eax),%esi
41bbd2:	8b ce                	mov    %esi,%ecx
41bbd4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41bbda:	8b cf                	mov    %edi,%ecx
41bbdc:	ff d6                	call   *%esi
41bbde:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
41bbe4:	0f b7 c0             	movzwl %ax,%eax
41bbe7:	66 39 85 70 ff ff ff 	cmp    %ax,-0x90(%ebp)
41bbee:	74 08                	je     0x41bbf8
41bbf0:	c6 43 04 00          	movb   $0x0,0x4(%ebx)
41bbf4:	32 c9                	xor    %cl,%cl
41bbf6:	eb 0c                	jmp    0x41bc04
41bbf8:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
41bbfe:	b1 01                	mov    $0x1,%cl
41bc00:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
41bc04:	8b 7d 18             	mov    0x18(%ebp),%edi
41bc07:	81 e7 00 0e 00 00    	and    $0xe00,%edi
41bc0d:	81 ff 00 04 00 00    	cmp    $0x400,%edi
41bc13:	75 07                	jne    0x41bc1c
41bc15:	bf 08 00 00 00       	mov    $0x8,%edi
41bc1a:	eb 16                	jmp    0x41bc32
41bc1c:	81 ff 00 08 00 00    	cmp    $0x800,%edi
41bc22:	75 07                	jne    0x41bc2b
41bc24:	bf 10 00 00 00       	mov    $0x10,%edi
41bc29:	eb 07                	jmp    0x41bc32
41bc2b:	f7 df                	neg    %edi
41bc2d:	1b ff                	sbb    %edi,%edi
41bc2f:	83 e7 0a             	and    $0xa,%edi
41bc32:	c6 45 87 00          	movb   $0x0,-0x79(%ebp)
41bc36:	c6 45 86 00          	movb   $0x0,-0x7a(%ebp)
41bc3a:	84 c9                	test   %cl,%cl
41bc3c:	75 07                	jne    0x41bc45
41bc3e:	8b cb                	mov    %ebx,%ecx
41bc40:	e8 5b 17 00 00       	call   0x41d3a0
41bc45:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41bc49:	75 07                	jne    0x41bc52
41bc4b:	8b ce                	mov    %esi,%ecx
41bc4d:	e8 4e 17 00 00       	call   0x41d3a0
41bc52:	83 3b 00             	cmpl   $0x0,(%ebx)
41bc55:	8b 06                	mov    (%esi),%eax
41bc57:	75 2f                	jne    0x41bc88
41bc59:	85 c0                	test   %eax,%eax
41bc5b:	75 2f                	jne    0x41bc8c
41bc5d:	85 ff                	test   %edi,%edi
41bc5f:	0f 84 7f 01 00 00    	je     0x41bde4
41bc65:	83 ff 0a             	cmp    $0xa,%edi
41bc68:	0f 84 76 01 00 00    	je     0x41bde4
41bc6e:	b8 08 00 00 00       	mov    $0x8,%eax
41bc73:	ba 16 00 00 00       	mov    $0x16,%edx
41bc78:	3b f8                	cmp    %eax,%edi
41bc7a:	0f 44 d0             	cmove  %eax,%edx
41bc7d:	89 95 60 ff ff ff    	mov    %edx,-0xa0(%ebp)
41bc83:	e9 66 01 00 00       	jmp    0x41bdee
41bc88:	85 c0                	test   %eax,%eax
41bc8a:	75 d1                	jne    0x41bc5d
41bc8c:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
41bc90:	75 07                	jne    0x41bc99
41bc92:	8b cb                	mov    %ebx,%ecx
41bc94:	e8 07 17 00 00       	call   0x41d3a0
41bc99:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
41bc9d:	66 3b 45 b8          	cmp    -0x48(%ebp),%ax
41bca1:	75 ba                	jne    0x41bc5d
41bca3:	8b 0b                	mov    (%ebx),%ecx
41bca5:	c6 45 87 01          	movb   $0x1,-0x79(%ebp)
41bca9:	89 4d 80             	mov    %ecx,-0x80(%ebp)
41bcac:	85 c9                	test   %ecx,%ecx
41bcae:	74 54                	je     0x41bd04
41bcb0:	8b 41 1c             	mov    0x1c(%ecx),%eax
41bcb3:	83 38 00             	cmpl   $0x0,(%eax)
41bcb6:	74 1b                	je     0x41bcd3
41bcb8:	8b 51 2c             	mov    0x2c(%ecx),%edx
41bcbb:	8b 02                	mov    (%edx),%eax
41bcbd:	85 c0                	test   %eax,%eax
41bcbf:	7e 12                	jle    0x41bcd3
41bcc1:	48                   	dec    %eax
41bcc2:	89 02                	mov    %eax,(%edx)
41bcc4:	8b 49 1c             	mov    0x1c(%ecx),%ecx
41bcc7:	8b 11                	mov    (%ecx),%edx
41bcc9:	8d 42 02             	lea    0x2(%edx),%eax
41bccc:	89 01                	mov    %eax,(%ecx)
41bcce:	0f b7 02             	movzwl (%edx),%eax
41bcd1:	eb 1b                	jmp    0x41bcee
41bcd3:	8b 01                	mov    (%ecx),%eax
41bcd5:	8b 70 1c             	mov    0x1c(%eax),%esi
41bcd8:	8b ce                	mov    %esi,%ecx
41bcda:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41bce0:	8b 4d 80             	mov    -0x80(%ebp),%ecx
41bce3:	ff d6                	call   *%esi
41bce5:	8b b5 7c ff ff ff    	mov    -0x84(%ebp),%esi
41bceb:	0f b7 c0             	movzwl %ax,%eax
41bcee:	66 39 85 70 ff ff ff 	cmp    %ax,-0x90(%ebp)
41bcf5:	74 0d                	je     0x41bd04
41bcf7:	8b cb                	mov    %ebx,%ecx
41bcf9:	c6 43 04 00          	movb   $0x0,0x4(%ebx)
41bcfd:	e8 9e 16 00 00       	call   0x41d3a0
41bd02:	eb 0a                	jmp    0x41bd0e
41bd04:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
41bd0a:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
41bd0e:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41bd12:	75 07                	jne    0x41bd1b
41bd14:	8b ce                	mov    %esi,%ecx
41bd16:	e8 85 16 00 00       	call   0x41d3a0
41bd1b:	83 3b 00             	cmpl   $0x0,(%ebx)
41bd1e:	8b 06                	mov    (%esi),%eax
41bd20:	75 16                	jne    0x41bd38
41bd22:	85 c0                	test   %eax,%eax
41bd24:	75 16                	jne    0x41bd3c
41bd26:	85 ff                	test   %edi,%edi
41bd28:	0f 85 37 ff ff ff    	jne    0x41bc65
41bd2e:	bf 08 00 00 00       	mov    $0x8,%edi
41bd33:	e9 36 ff ff ff       	jmp    0x41bc6e
41bd38:	85 c0                	test   %eax,%eax
41bd3a:	75 ea                	jne    0x41bd26
41bd3c:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
41bd40:	75 07                	jne    0x41bd49
41bd42:	8b cb                	mov    %ebx,%ecx
41bd44:	e8 57 16 00 00       	call   0x41d3a0
41bd49:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
41bd4d:	66 3b 45 ea          	cmp    -0x16(%ebp),%ax
41bd51:	74 17                	je     0x41bd6a
41bd53:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
41bd57:	75 07                	jne    0x41bd60
41bd59:	8b cb                	mov    %ebx,%ecx
41bd5b:	e8 40 16 00 00       	call   0x41d3a0
41bd60:	0f b7 43 06          	movzwl 0x6(%ebx),%eax
41bd64:	66 3b 45 e8          	cmp    -0x18(%ebp),%ax
41bd68:	75 bc                	jne    0x41bd26
41bd6a:	85 ff                	test   %edi,%edi
41bd6c:	74 09                	je     0x41bd77
41bd6e:	83 ff 10             	cmp    $0x10,%edi
41bd71:	0f 85 ee fe ff ff    	jne    0x41bc65
41bd77:	8b 0b                	mov    (%ebx),%ecx
41bd79:	bf 10 00 00 00       	mov    $0x10,%edi
41bd7e:	c6 45 87 00          	movb   $0x0,-0x79(%ebp)
41bd82:	89 4d 80             	mov    %ecx,-0x80(%ebp)
41bd85:	85 c9                	test   %ecx,%ecx
41bd87:	74 4b                	je     0x41bdd4
41bd89:	8b 41 1c             	mov    0x1c(%ecx),%eax
41bd8c:	83 38 00             	cmpl   $0x0,(%eax)
41bd8f:	74 1b                	je     0x41bdac
41bd91:	8b 51 2c             	mov    0x2c(%ecx),%edx
41bd94:	8b 02                	mov    (%edx),%eax
41bd96:	85 c0                	test   %eax,%eax
41bd98:	7e 12                	jle    0x41bdac
41bd9a:	48                   	dec    %eax
41bd9b:	89 02                	mov    %eax,(%edx)
41bd9d:	8b 49 1c             	mov    0x1c(%ecx),%ecx
41bda0:	8b 11                	mov    (%ecx),%edx
41bda2:	8d 42 02             	lea    0x2(%edx),%eax
41bda5:	89 01                	mov    %eax,(%ecx)
41bda7:	0f b7 02             	movzwl (%edx),%eax
41bdaa:	eb 15                	jmp    0x41bdc1
41bdac:	8b 01                	mov    (%ecx),%eax
41bdae:	8b 70 1c             	mov    0x1c(%eax),%esi
41bdb1:	8b ce                	mov    %esi,%ecx
41bdb3:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41bdb9:	8b 4d 80             	mov    -0x80(%ebp),%ecx
41bdbc:	ff d6                	call   *%esi
41bdbe:	0f b7 c0             	movzwl %ax,%eax
41bdc1:	66 39 85 70 ff ff ff 	cmp    %ax,-0x90(%ebp)
41bdc8:	74 0a                	je     0x41bdd4
41bdca:	32 c0                	xor    %al,%al
41bdcc:	88 43 04             	mov    %al,0x4(%ebx)
41bdcf:	e9 9a fe ff ff       	jmp    0x41bc6e
41bdd4:	b0 01                	mov    $0x1,%al
41bdd6:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
41bddc:	88 43 04             	mov    %al,0x4(%ebx)
41bddf:	e9 8a fe ff ff       	jmp    0x41bc6e
41bde4:	c7 85 60 ff ff ff 0a 	movl   $0xa,-0xa0(%ebp)
41bdeb:	00 00 00
41bdee:	0f b6 4d 87          	movzbl -0x79(%ebp),%ecx
41bdf2:	8b c1                	mov    %ecx,%eax
41bdf4:	c7 45 a0 00 00 00 00 	movl   $0x0,-0x60(%ebp)
41bdfb:	66 c1 e1 08          	shl    $0x8,%cx
41bdff:	66 0b c8             	or     %ax,%cx
41be02:	c7 45 b0 01 00 00 00 	movl   $0x1,-0x50(%ebp)
41be09:	c7 45 b4 0f 00 00 00 	movl   $0xf,-0x4c(%ebp)
41be10:	88 4d a0             	mov    %cl,-0x60(%ebp)
41be13:	c6 45 a1 00          	movb   $0x0,-0x5f(%ebp)
41be17:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41be1b:	33 f6                	xor    %esi,%esi
41be1d:	8b 45 a0             	mov    -0x60(%ebp),%eax
41be20:	89 75 80             	mov    %esi,-0x80(%ebp)
41be23:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41be29:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
41be30:	80 7b 04 00          	cmpb   $0x0,0x4(%ebx)
41be34:	75 07                	jne    0x41be3d
41be36:	8b cb                	mov    %ebx,%ecx
41be38:	e8 63 15 00 00       	call   0x41d3a0
41be3d:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
41be43:	80 78 04 00          	cmpb   $0x0,0x4(%eax)
41be47:	75 0d                	jne    0x41be56
41be49:	8b c8                	mov    %eax,%ecx
41be4b:	e8 50 15 00 00       	call   0x41d3a0
41be50:	8b 85 7c ff ff ff    	mov    -0x84(%ebp),%eax
41be56:	83 3b 00             	cmpl   $0x0,(%ebx)
41be59:	8b 00                	mov    (%eax),%eax
41be5b:	89 bd 6c ff ff ff    	mov    %edi,-0x94(%ebp)
41be61:	0f 85 ea 00 00 00    	jne    0x41bf51
41be67:	85 c0                	test   %eax,%eax
41be69:	0f 85 ea 00 00 00    	jne    0x41bf59
41be6f:	8b 5d b4             	mov    -0x4c(%ebp),%ebx
41be72:	85 f6                	test   %esi,%esi
41be74:	74 15                	je     0x41be8b
41be76:	83 fb 10             	cmp    $0x10,%ebx
41be79:	8d 45 a0             	lea    -0x60(%ebp),%eax
41be7c:	0f 43 45 a0          	cmovae -0x60(%ebp),%eax
41be80:	80 3c 30 00          	cmpb   $0x0,(%eax,%esi,1)
41be84:	0f 8e 5e 02 00 00    	jle    0x41c0e8
41be8a:	46                   	inc    %esi
41be8b:	8a 45 87             	mov    -0x79(%ebp),%al
41be8e:	83 7d 9c 10          	cmpl   $0x10,-0x64(%ebp)
41be92:	8d 55 88             	lea    -0x78(%ebp),%edx
41be95:	0f 43 55 88          	cmovae -0x78(%ebp),%edx
41be99:	84 c0                	test   %al,%al
41be9b:	74 35                	je     0x41bed2
41be9d:	0f 1f 00             	nopl   (%eax)
41bea0:	85 f6                	test   %esi,%esi
41bea2:	0f 84 70 02 00 00    	je     0x41c118
41bea8:	8a 0a                	mov    (%edx),%cl
41beaa:	80 f9 7f             	cmp    $0x7f,%cl
41bead:	0f 84 65 02 00 00    	je     0x41c118
41beb3:	83 ee 01             	sub    $0x1,%esi
41beb6:	0f 84 33 02 00 00    	je     0x41c0ef
41bebc:	83 fb 10             	cmp    $0x10,%ebx
41bebf:	8d 45 a0             	lea    -0x60(%ebp),%eax
41bec2:	0f 43 85 74 ff ff ff 	cmovae -0x8c(%ebp),%eax
41bec9:	3a 0c 30             	cmp    (%eax,%esi,1),%cl
41becc:	0f 84 36 02 00 00    	je     0x41c108
41bed2:	8b 85 64 ff ff ff    	mov    -0x9c(%ebp),%eax
41bed8:	c6 00 00             	movb   $0x0,(%eax)
41bedb:	83 fb 10             	cmp    $0x10,%ebx
41bede:	72 38                	jb     0x41bf18
41bee0:	8b 45 a0             	mov    -0x60(%ebp),%eax
41bee3:	43                   	inc    %ebx
41bee4:	8b c8                	mov    %eax,%ecx
41bee6:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
41beec:	72 20                	jb     0x41bf0e
41beee:	8b 41 fc             	mov    -0x4(%ecx),%eax
41bef1:	83 c3 23             	add    $0x23,%ebx
41bef4:	2b c8                	sub    %eax,%ecx
41bef6:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41befc:	8d 41 fc             	lea    -0x4(%ecx),%eax
41beff:	83 f8 1f             	cmp    $0x1f,%eax
41bf02:	0f 87 51 02 00 00    	ja     0x41c159
41bf08:	8b 85 74 ff ff ff    	mov    -0x8c(%ebp),%eax
41bf0e:	53                   	push   %ebx
41bf0f:	50                   	push   %eax
41bf10:	e8 f3 da 04 00       	call   0x469a08
41bf15:	83 c4 08             	add    $0x8,%esp
41bf18:	8b 45 9c             	mov    -0x64(%ebp),%eax
41bf1b:	8b 55 88             	mov    -0x78(%ebp),%edx
41bf1e:	83 f8 10             	cmp    $0x10,%eax
41bf21:	0f 82 14 02 00 00    	jb     0x41c13b
41bf27:	8d 48 01             	lea    0x1(%eax),%ecx
41bf2a:	8b c2                	mov    %edx,%eax