41ae18:	0f b7 c0             	movzwl %ax,%eax
41ae1b:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41ae20:	66 3b c8             	cmp    %ax,%cx
41ae23:	74 06                	je     0x41ae2b
41ae25:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41ae29:	eb 0a                	jmp    0x41ae35
41ae2b:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41ae31:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41ae35:	8b 5d 98             	mov    -0x68(%ebp),%ebx
41ae38:	32 c0                	xor    %al,%al
41ae3a:	88 45 9f             	mov    %al,-0x61(%ebp)
41ae3d:	b9 24 00 00 00       	mov    $0x24,%ecx
41ae42:	33 c0                	xor    %eax,%eax
41ae44:	89 5d 80             	mov    %ebx,-0x80(%ebp)
41ae47:	89 45 84             	mov    %eax,-0x7c(%ebp)
41ae4a:	ba 00 03 00 00       	mov    $0x300,%edx
41ae4f:	89 45 88             	mov    %eax,-0x78(%ebp)
41ae52:	8b 85 70 ff ff ff    	mov    -0x90(%ebp),%eax
41ae58:	c6 03 30             	movb   $0x30,(%ebx)
41ae5b:	43                   	inc    %ebx
41ae5c:	89 5d 98             	mov    %ebx,-0x68(%ebp)
41ae5f:	81 38 00 ca 9a 3b    	cmpl   $0x3b9aca00,(%eax)
41ae65:	8d 45 a0             	lea    -0x60(%ebp),%eax
41ae68:	0f 44 ca             	cmove  %edx,%ecx
41ae6b:	83 7d b4 10          	cmpl   $0x10,-0x4c(%ebp)
41ae6f:	89 8d 54 ff ff ff    	mov    %ecx,-0xac(%ebp)
41ae75:	0f 43 45 a0          	cmovae -0x60(%ebp),%eax
41ae79:	89 85 58 ff ff ff    	mov    %eax,-0xa8(%ebp)
41ae7f:	8a 00                	mov    (%eax),%al
41ae81:	3c 7f                	cmp    $0x7f,%al
41ae83:	0f 84 1a 03 00 00    	je     0x41b1a3
41ae89:	84 c0                	test   %al,%al
41ae8b:	0f 8e 12 03 00 00    	jle    0x41b1a3
41ae91:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
41ae95:	75 0c                	jne    0x41aea3
41ae97:	c7 85 60 ff ff ff 00 	movl   $0x0,-0xa0(%ebp)
41ae9e:	00 00 00
41aea1:	eb 20                	jmp    0x41aec3
41aea3:	8b 9d 68 ff ff ff    	mov    -0x98(%ebp),%ebx
41aea9:	8b 03                	mov    (%ebx),%eax
41aeab:	8b 78 10             	mov    0x10(%eax),%edi
41aeae:	8b cf                	mov    %edi,%ecx
41aeb0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41aeb6:	8b cb                	mov    %ebx,%ecx
41aeb8:	ff d7                	call   *%edi
41aeba:	0f b7 c0             	movzwl %ax,%eax
41aebd:	89 85 60 ff ff ff    	mov    %eax,-0xa0(%ebp)
41aec3:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
41aeca:	c7 45 c8 01 00 00 00 	movl   $0x1,-0x38(%ebp)
41aed1:	c7 45 cc 0f 00 00 00 	movl   $0xf,-0x34(%ebp)
41aed8:	66 c7 45 b8 00 00    	movw   $0x0,-0x48(%ebp)
41aede:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
41aee2:	33 db                	xor    %ebx,%ebx
41aee4:	8b 45 b8             	mov    -0x48(%ebp),%eax
41aee7:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
41aeed:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
41aef3:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41aef7:	75 07                	jne    0x41af00
41aef9:	8b ce                	mov    %esi,%ecx
41aefb:	e8 a0 24 00 00       	call   0x41d3a0
41af00:	8b 7d 90             	mov    -0x70(%ebp),%edi
41af03:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41af07:	75 07                	jne    0x41af10
41af09:	8b cf                	mov    %edi,%ecx
41af0b:	e8 90 24 00 00       	call   0x41d3a0
41af10:	83 3e 00             	cmpl   $0x0,(%esi)
41af13:	8b 07                	mov    (%edi),%eax
41af15:	0f 85 c0 00 00 00    	jne    0x41afdb
41af1b:	85 c0                	test   %eax,%eax
41af1d:	0f 85 c0 00 00 00    	jne    0x41afe3
41af23:	8b 55 cc             	mov    -0x34(%ebp),%edx
41af26:	85 db                	test   %ebx,%ebx
41af28:	74 11                	je     0x41af3b
41af2a:	83 fa 10             	cmp    $0x10,%edx
41af2d:	8d 45 b8             	lea    -0x48(%ebp),%eax
41af30:	0f 43 45 b8          	cmovae -0x48(%ebp),%eax
41af34:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
41af38:	7e 31                	jle    0x41af6b
41af3a:	43                   	inc    %ebx
41af3b:	8b 8d 58 ff ff ff    	mov    -0xa8(%ebp),%ecx
41af41:	85 db                	test   %ebx,%ebx
41af43:	74 2a                	je     0x41af6f
41af45:	8a 09                	mov    (%ecx),%cl
41af47:	80 f9 7f             	cmp    $0x7f,%cl
41af4a:	74 23                	je     0x41af6f
41af4c:	83 eb 01             	sub    $0x1,%ebx
41af4f:	0f 84 16 02 00 00    	je     0x41b16b
41af55:	83 fa 10             	cmp    $0x10,%edx
41af58:	8d 45 b8             	lea    -0x48(%ebp),%eax
41af5b:	0f 43 85 6c ff ff ff 	cmovae -0x94(%ebp),%eax
41af62:	3a 0c 18             	cmp    (%eax,%ebx,1),%cl
41af65:	0f 84 19 02 00 00    	je     0x41b184
41af6b:	c6 45 8f 01          	movb   $0x1,-0x71(%ebp)
41af6f:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
41af73:	83 fa 10             	cmp    $0x10,%edx
41af76:	72 2e                	jb     0x41afa6
41af78:	8d 4a 01             	lea    0x1(%edx),%ecx
41af7b:	8b 55 b8             	mov    -0x48(%ebp),%edx
41af7e:	8b c2                	mov    %edx,%eax
41af80:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
41af86:	72 14                	jb     0x41af9c
41af88:	8b 50 fc             	mov    -0x4(%eax),%edx
41af8b:	83 c1 23             	add    $0x23,%ecx
41af8e:	2b c2                	sub    %edx,%eax
41af90:	83 c0 fc             	add    $0xfffffffc,%eax
41af93:	83 f8 1f             	cmp    $0x1f,%eax
41af96:	0f 87 20 0a 00 00    	ja     0x41b9bc
41af9c:	51                   	push   %ecx
41af9d:	52                   	push   %edx
41af9e:	e8 65 ea 04 00       	call   0x469a08
41afa3:	83 c4 08             	add    $0x8,%esp
41afa6:	8b 5d 98             	mov    -0x68(%ebp),%ebx
41afa9:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41afad:	75 07                	jne    0x41afb6
41afaf:	8b ce                	mov    %esi,%ecx
41afb1:	e8 ea 23 00 00       	call   0x41d3a0
41afb6:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41afba:	75 07                	jne    0x41afc3
41afbc:	8b cf                	mov    %edi,%ecx
41afbe:	e8 dd 23 00 00       	call   0x41d3a0
41afc3:	83 3e 00             	cmpl   $0x0,(%esi)
41afc6:	8b 07                	mov    (%edi),%eax
41afc8:	0f 85 d1 02 00 00    	jne    0x41b29f
41afce:	85 c0                	test   %eax,%eax
41afd0:	0f 84 6b 03 00 00    	je     0x41b341
41afd6:	e9 cc 02 00 00       	jmp    0x41b2a7
41afdb:	85 c0                	test   %eax,%eax
41afdd:	0f 85 40 ff ff ff    	jne    0x41af23
41afe3:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41afe7:	75 07                	jne    0x41aff0
41afe9:	8b ce                	mov    %esi,%ecx
41afeb:	e8 b0 23 00 00       	call   0x41d3a0
41aff0:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41aff4:	50                   	push   %eax
41aff5:	8d 45 ec             	lea    -0x14(%ebp),%eax
41aff8:	50                   	push   %eax
41aff9:	8d 45 d0             	lea    -0x30(%ebp),%eax
41affc:	50                   	push   %eax
41affd:	e8 1e e2 04 00       	call   0x469220
41b002:	8d 4d d0             	lea    -0x30(%ebp),%ecx
41b005:	2b c1                	sub    %ecx,%eax
41b007:	d1 f8                	sar    $1,%eax
41b009:	83 f8 0a             	cmp    $0xa,%eax
41b00c:	73 65                	jae    0x41b073
41b00e:	8b 55 84             	mov    -0x7c(%ebp),%edx
41b011:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
41b015:	39 95 54 ff ff ff    	cmp    %edx,-0xac(%ebp)
41b01b:	7f 11                	jg     0x41b02e
41b01d:	ff 45 88             	incl   -0x78(%ebp)
41b020:	85 c0                	test   %eax,%eax
41b022:	74 25                	je     0x41b049
41b024:	b0 01                	mov    $0x1,%al
41b026:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41b02c:	eb 1b                	jmp    0x41b049
41b02e:	85 c0                	test   %eax,%eax
41b030:	75 04                	jne    0x41b036
41b032:	85 d2                	test   %edx,%edx
41b034:	74 13                	je     0x41b049
41b036:	8b 4d 98             	mov    -0x68(%ebp),%ecx
41b039:	8a 80 9c 32 4b 00    	mov    0x4b329c(%eax),%al
41b03f:	88 01                	mov    %al,(%ecx)
41b041:	41                   	inc    %ecx
41b042:	42                   	inc    %edx
41b043:	89 4d 98             	mov    %ecx,-0x68(%ebp)
41b046:	89 55 84             	mov    %edx,-0x7c(%ebp)
41b049:	8b 4d cc             	mov    -0x34(%ebp),%ecx
41b04c:	8d 45 b8             	lea    -0x48(%ebp),%eax
41b04f:	8b 55 b8             	mov    -0x48(%ebp),%edx
41b052:	83 f9 10             	cmp    $0x10,%ecx
41b055:	0f 43 c2             	cmovae %edx,%eax
41b058:	80 3c 18 7f          	cmpb   $0x7f,(%eax,%ebx,1)
41b05c:	0f 84 9e 00 00 00    	je     0x41b100
41b062:	83 f9 10             	cmp    $0x10,%ecx
41b065:	8d 45 b8             	lea    -0x48(%ebp),%eax
41b068:	0f 43 c2             	cmovae %edx,%eax
41b06b:	fe 04 18             	incb   (%eax,%ebx,1)
41b06e:	e9 84 00 00 00       	jmp    0x41b0f7
41b073:	8b 55 cc             	mov    -0x34(%ebp),%edx
41b076:	8d 45 b8             	lea    -0x48(%ebp),%eax
41b079:	83 fa 10             	cmp    $0x10,%edx
41b07c:	0f 43 45 b8          	cmovae -0x48(%ebp),%eax
41b080:	80 3c 18 00          	cmpb   $0x0,(%eax,%ebx,1)
41b084:	0f 84 99 fe ff ff    	je     0x41af23
41b08a:	66 83 bd 60 ff ff ff 	cmpw   $0x0,-0xa0(%ebp)
41b091:	00
41b092:	0f 84 8b fe ff ff    	je     0x41af23
41b098:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b09c:	75 0a                	jne    0x41b0a8
41b09e:	8b ce                	mov    %esi,%ecx
41b0a0:	e8 fb 22 00 00       	call   0x41d3a0
41b0a5:	8b 55 cc             	mov    -0x34(%ebp),%edx
41b0a8:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41b0ac:	66 3b 85 60 ff ff ff 	cmp    -0xa0(%ebp),%ax
41b0b3:	0f 85 6a fe ff ff    	jne    0x41af23
41b0b9:	8b 4d c8             	mov    -0x38(%ebp),%ecx
41b0bc:	3b ca                	cmp    %edx,%ecx
41b0be:	73 18                	jae    0x41b0d8
41b0c0:	8d 41 01             	lea    0x1(%ecx),%eax
41b0c3:	83 fa 10             	cmp    $0x10,%edx
41b0c6:	89 45 c8             	mov    %eax,-0x38(%ebp)
41b0c9:	8d 45 b8             	lea    -0x48(%ebp),%eax
41b0cc:	0f 43 45 b8          	cmovae -0x48(%ebp),%eax
41b0d0:	66 c7 04 08 00 00    	movw   $0x0,(%eax,%ecx,1)
41b0d6:	eb 18                	jmp    0x41b0f0
41b0d8:	6a 00                	push   $0x0
41b0da:	c6 85 7c ff ff ff 00 	movb   $0x0,-0x84(%ebp)
41b0e1:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
41b0e7:	51                   	push   %ecx
41b0e8:	8d 4d b8             	lea    -0x48(%ebp),%ecx
41b0eb:	e8 d0 6b ff ff       	call   0x411cc0
41b0f0:	43                   	inc    %ebx
41b0f1:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
41b0f7:	8b 45 b8             	mov    -0x48(%ebp),%eax
41b0fa:	89 85 6c ff ff ff    	mov    %eax,-0x94(%ebp)
41b100:	8b 1e                	mov    (%esi),%ebx
41b102:	85 db                	test   %ebx,%ebx
41b104:	74 50                	je     0x41b156
41b106:	8b 43 1c             	mov    0x1c(%ebx),%eax
41b109:	83 38 00             	cmpl   $0x0,(%eax)
41b10c:	74 1b                	je     0x41b129
41b10e:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41b111:	8b 01                	mov    (%ecx),%eax
41b113:	85 c0                	test   %eax,%eax
41b115:	7e 12                	jle    0x41b129
41b117:	48                   	dec    %eax
41b118:	89 01                	mov    %eax,(%ecx)
41b11a:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41b11d:	8b 11                	mov    (%ecx),%edx
41b11f:	8d 42 02             	lea    0x2(%edx),%eax
41b122:	89 01                	mov    %eax,(%ecx)
41b124:	0f b7 02             	movzwl (%edx),%eax
41b127:	eb 14                	jmp    0x41b13d
41b129:	8b 03                	mov    (%ebx),%eax
41b12b:	8b 78 1c             	mov    0x1c(%eax),%edi
41b12e:	8b cf                	mov    %edi,%ecx
41b130:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41b136:	8b cb                	mov    %ebx,%ecx
41b138:	ff d7                	call   *%edi
41b13a:	0f b7 c0             	movzwl %ax,%eax
41b13d:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41b142:	66 3b c8             	cmp    %ax,%cx
41b145:	74 0f                	je     0x41b156
41b147:	8b 9d 5c ff ff ff    	mov    -0xa4(%ebp),%ebx
41b14d:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41b151:	e9 9d fd ff ff       	jmp    0x41aef3
41b156:	8b 9d 5c ff ff ff    	mov    -0xa4(%ebp),%ebx
41b15c:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41b162:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41b166:	e9 88 fd ff ff       	jmp    0x41aef3
41b16b:	85 db                	test   %ebx,%ebx
41b16d:	75 15                	jne    0x41b184
41b16f:	83 fa 10             	cmp    $0x10,%edx
41b172:	8d 45 b8             	lea    -0x48(%ebp),%eax
41b175:	0f 43 85 6c ff ff ff 	cmovae -0x94(%ebp),%eax
41b17c:	3a 08                	cmp    (%eax),%cl
41b17e:	0f 8c e7 fd ff ff    	jl     0x41af6b
41b184:	8b 8d 58 ff ff ff    	mov    -0xa8(%ebp),%ecx
41b18a:	80 79 01 00          	cmpb   $0x0,0x1(%ecx)
41b18e:	0f 8e ad fd ff ff    	jle    0x41af41
41b194:	41                   	inc    %ecx
41b195:	89 8d 58 ff ff ff    	mov    %ecx,-0xa8(%ebp)
41b19b:	e9 a1 fd ff ff       	jmp    0x41af41
41b1a0:	8b 5d 98             	mov    -0x68(%ebp),%ebx
41b1a3:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b1a7:	75 07                	jne    0x41b1b0
41b1a9:	8b ce                	mov    %esi,%ecx
41b1ab:	e8 f0 21 00 00       	call   0x41d3a0
41b1b0:	80 7f 04 00          	cmpb   $0x0,0x4(%edi)
41b1b4:	75 07                	jne    0x41b1bd
41b1b6:	8b cf                	mov    %edi,%ecx
41b1b8:	e8 e3 21 00 00       	call   0x41d3a0
41b1bd:	83 3e 00             	cmpl   $0x0,(%esi)
41b1c0:	8b 07                	mov    (%edi),%eax
41b1c2:	75 0a                	jne    0x41b1ce
41b1c4:	85 c0                	test   %eax,%eax
41b1c6:	0f 84 dd fd ff ff    	je     0x41afa9
41b1cc:	eb 08                	jmp    0x41b1d6
41b1ce:	85 c0                	test   %eax,%eax
41b1d0:	0f 85 d3 fd ff ff    	jne    0x41afa9
41b1d6:	80 7e 04 00          	cmpb   $0x0,0x4(%esi)
41b1da:	75 07                	jne    0x41b1e3
41b1dc:	8b ce                	mov    %esi,%ecx
41b1de:	e8 bd 21 00 00       	call   0x41d3a0
41b1e3:	0f b7 46 06          	movzwl 0x6(%esi),%eax
41b1e7:	50                   	push   %eax
41b1e8:	8d 45 ec             	lea    -0x14(%ebp),%eax
41b1eb:	50                   	push   %eax
41b1ec:	8d 45 d0             	lea    -0x30(%ebp),%eax
41b1ef:	50                   	push   %eax
41b1f0:	e8 2b e0 04 00       	call   0x469220
41b1f5:	8d 4d d0             	lea    -0x30(%ebp),%ecx
41b1f8:	2b c1                	sub    %ecx,%eax
41b1fa:	d1 f8                	sar    $1,%eax
41b1fc:	83 f8 0a             	cmp    $0xa,%eax
41b1ff:	0f 83 a4 fd ff ff    	jae    0x41afa9
41b205:	8b 4d 84             	mov    -0x7c(%ebp),%ecx
41b208:	39 8d 54 ff ff ff    	cmp    %ecx,-0xac(%ebp)
41b20e:	7f 11                	jg     0x41b221
41b210:	ff 45 88             	incl   -0x78(%ebp)
41b213:	85 c0                	test   %eax,%eax
41b215:	74 22                	je     0x41b239
41b217:	b0 01                	mov    $0x1,%al
41b219:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
41b21f:	eb 18                	jmp    0x41b239
41b221:	85 c0                	test   %eax,%eax
41b223:	75 04                	jne    0x41b229
41b225:	85 c9                	test   %ecx,%ecx
41b227:	74 10                	je     0x41b239
41b229:	8a 80 9c 32 4b 00    	mov    0x4b329c(%eax),%al
41b22f:	88 03                	mov    %al,(%ebx)
41b231:	43                   	inc    %ebx
41b232:	41                   	inc    %ecx
41b233:	89 5d 98             	mov    %ebx,-0x68(%ebp)
41b236:	89 4d 84             	mov    %ecx,-0x7c(%ebp)
41b239:	8b 1e                	mov    (%esi),%ebx
41b23b:	c6 45 9f 01          	movb   $0x1,-0x61(%ebp)
41b23f:	85 db                	test   %ebx,%ebx
41b241:	74 4d                	je     0x41b290
41b243:	8b 43 1c             	mov    0x1c(%ebx),%eax
41b246:	83 38 00             	cmpl   $0x0,(%eax)
41b249:	74 1b                	je     0x41b266
41b24b:	8b 4b 2c             	mov    0x2c(%ebx),%ecx
41b24e:	8b 01                	mov    (%ecx),%eax
41b250:	85 c0                	test   %eax,%eax
41b252:	7e 12                	jle    0x41b266
41b254:	48                   	dec    %eax
41b255:	89 01                	mov    %eax,(%ecx)
41b257:	8b 4b 1c             	mov    0x1c(%ebx),%ecx
41b25a:	8b 11                	mov    (%ecx),%edx
41b25c:	8d 42 02             	lea    0x2(%edx),%eax
41b25f:	89 01                	mov    %eax,(%ecx)
41b261:	0f b7 02             	movzwl (%edx),%eax
41b264:	eb 17                	jmp    0x41b27d
41b266:	8b 03                	mov    (%ebx),%eax
41b268:	8b 78 1c             	mov    0x1c(%eax),%edi
41b26b:	8b cf                	mov    %edi,%ecx
41b26d:	ff 15 d4 e2 49 00    	call   *0x49e2d4
41b273:	8b cb                	mov    %ebx,%ecx
41b275:	ff d7                	call   *%edi
41b277:	8b 7d 90             	mov    -0x70(%ebp),%edi
41b27a:	0f b7 c0             	movzwl %ax,%eax
41b27d:	b9 ff ff 00 00       	mov    $0xffff,%ecx
41b282:	66 3b c8             	cmp    %ax,%cx
41b285:	74 09                	je     0x41b290
41b287:	c6 46 04 00          	movb   $0x0,0x4(%esi)
41b28b:	e9 10 ff ff ff       	jmp    0x41b1a0
41b290:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
41b296:	c6 46 04 01          	movb   $0x1,0x4(%esi)
41b29a:	e9 01 ff ff ff       	jmp    0x41b1a0
41b29f:	85 c0                	test   %eax,%eax