41ae9a:	6a 00                	push   $0x0
41ae9c:	ff 70 18             	push   0x18(%eax)
41ae9f:	ff 15 d0 35 42 00    	call   *0x4235d0
41aea5:	c3                   	ret
41aea6:	8b ff                	mov    %edi,%edi
41aea8:	53                   	push   %ebx
41aea9:	56                   	push   %esi
41aeaa:	8b f1                	mov    %ecx,%esi
41aeac:	57                   	push   %edi
41aead:	f7 06 40 00 00 c8    	testl  $0xc8000040,(%esi)
41aeb3:	0f 85 f1 00 00 00    	jne    0x41afaa
41aeb9:	f7 06 00 66 00 00    	testl  $0x6600,(%esi)
41aebf:	74 09                	je     0x41aeca
41aec1:	f6 06 10             	testb  $0x10,(%esi)
41aec4:	0f 84 e0 00 00 00    	je     0x41afaa
41aeca:	f7 46 0c 00 f8 ff ff 	testl  $0xfffff800,0xc(%esi)
41aed1:	74 0a                	je     0x41aedd
41aed3:	b8 f0 00 00 c0       	mov    $0xc00000f0,%eax
41aed8:	e9 d2 00 00 00       	jmp    0x41afaf
41aedd:	8d 7e 14             	lea    0x14(%esi),%edi
41aee0:	8b cf                	mov    %edi,%ecx
41aee2:	e8 7d 03 00 00       	call   0x41b264
41aee7:	85 c0                	test   %eax,%eax
41aee9:	0f 88 b4 00 00 00    	js     0x41afa3
41aeef:	33 db                	xor    %ebx,%ebx
41aef1:	f6 46 0c 01          	testb  $0x1,0xc(%esi)
41aef5:	74 1b                	je     0x41af12
41aef7:	6a 01                	push   $0x1
41aef9:	68 a8 2e 40 00       	push   $0x402ea8
41aefe:	57                   	push   %edi
41aeff:	ff 15 d4 35 42 00    	call   *0x4235d4
41af05:	84 c0                	test   %al,%al
41af07:	75 09                	jne    0x41af12
41af09:	39 5e 10             	cmp    %ebx,0x10(%esi)
41af0c:	0f 84 91 00 00 00    	je     0x41afa3
41af12:	8d 7e 1c             	lea    0x1c(%esi),%edi
41af15:	8b cf                	mov    %edi,%ecx
41af17:	e8 48 03 00 00       	call   0x41b264
41af1c:	85 c0                	test   %eax,%eax
41af1e:	78 7c                	js     0x41af9c
41af20:	f6 46 0c 01          	testb  $0x1,0xc(%esi)
41af24:	74 05                	je     0x41af2b
41af26:	66 39 1f             	cmp    %bx,(%edi)
41af29:	74 71                	je     0x41af9c
41af2b:	6a 01                	push   $0x1
41af2d:	68 a8 2e 40 00       	push   $0x402ea8
41af32:	57                   	push   %edi
41af33:	ff 15 d4 35 42 00    	call   *0x4235d4
41af39:	84 c0                	test   %al,%al
41af3b:	75 5f                	jne    0x41af9c
41af3d:	f6 06 04             	testb  $0x4,(%esi)
41af40:	74 43                	je     0x41af85
41af42:	81 7e 28 10 27 00 00 	cmpl   $0x2710,0x28(%esi)
41af49:	76 07                	jbe    0x41af52
41af4b:	b8 f3 00 00 c0       	mov    $0xc00000f3,%eax
41af50:	eb 5d                	jmp    0x41afaf
41af52:	83 7e 2c 3c          	cmpl   $0x3c,0x2c(%esi)
41af56:	76 07                	jbe    0x41af5f
41af58:	b8 f4 00 00 c0       	mov    $0xc00000f4,%eax
41af5d:	eb 50                	jmp    0x41afaf
41af5f:	8d 4e 30             	lea    0x30(%esi),%ecx
41af62:	e8 fd 02 00 00       	call   0x41b264
41af67:	85 c0                	test   %eax,%eax
41af69:	79 07                	jns    0x41af72
41af6b:	b8 f5 00 00 c0       	mov    $0xc00000f5,%eax
41af70:	eb 3d                	jmp    0x41afaf
41af72:	8d 4e 38             	lea    0x38(%esi),%ecx
41af75:	e8 ea 02 00 00       	call   0x41b264
41af7a:	85 c0                	test   %eax,%eax
41af7c:	79 07                	jns    0x41af85
41af7e:	b8 f6 00 00 c0       	mov    $0xc00000f6,%eax
41af83:	eb 2a                	jmp    0x41afaf
41af85:	8d 4e 54             	lea    0x54(%esi),%ecx
41af88:	e8 d7 02 00 00       	call   0x41b264
41af8d:	85 c0                	test   %eax,%eax
41af8f:	79 07                	jns    0x41af98
41af91:	b8 f9 00 00 c0       	mov    $0xc00000f9,%eax
41af96:	eb 17                	jmp    0x41afaf
41af98:	33 c0                	xor    %eax,%eax
41af9a:	eb 13                	jmp    0x41afaf
41af9c:	b8 f2 00 00 c0       	mov    $0xc00000f2,%eax
41afa1:	eb 0c                	jmp    0x41afaf
41afa3:	b8 f1 00 00 c0       	mov    $0xc00000f1,%eax
41afa8:	eb 05                	jmp    0x41afaf
41afaa:	b8 ef 00 00 c0       	mov    $0xc00000ef,%eax
41afaf:	5f                   	pop    %edi
41afb0:	5e                   	pop    %esi
41afb1:	5b                   	pop    %ebx
41afb2:	c3                   	ret
41afb3:	8b ff                	mov    %edi,%edi
41afb5:	53                   	push   %ebx
41afb6:	56                   	push   %esi
41afb7:	57                   	push   %edi
41afb8:	33 ff                	xor    %edi,%edi
41afba:	8b f1                	mov    %ecx,%esi
41afbc:	39 3d ac 2e 40 00    	cmp    %edi,0x402eac
41afc2:	74 2a                	je     0x41afee
41afc4:	6a 04                	push   $0x4
41afc6:	5b                   	pop    %ebx
41afc7:	8b cb                	mov    %ebx,%ecx
41afc9:	e8 b2 fe ff ff       	call   0x41ae80
41afce:	89 46 04             	mov    %eax,0x4(%esi)
41afd1:	85 c0                	test   %eax,%eax
41afd3:	74 12                	je     0x41afe7
41afd5:	68 a8 2e 40 00       	push   $0x402ea8
41afda:	56                   	push   %esi
41afdb:	66 89 5e 02          	mov    %bx,0x2(%esi)
41afdf:	ff 15 d8 35 42 00    	call   *0x4235d8
41afe5:	eb 0c                	jmp    0x41aff3
41afe7:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
41afec:	eb 05                	jmp    0x41aff3
41afee:	89 3e                	mov    %edi,(%esi)
41aff0:	89 7e 04             	mov    %edi,0x4(%esi)
41aff3:	8b c7                	mov    %edi,%eax
41aff5:	5f                   	pop    %edi
41aff6:	5e                   	pop    %esi
41aff7:	5b                   	pop    %ebx
41aff8:	c3                   	ret
41aff9:	8b ff                	mov    %edi,%edi
41affb:	55                   	push   %ebp
41affc:	8b ec                	mov    %esp,%ebp
41affe:	83 ec 1c             	sub    $0x1c,%esp
41b001:	53                   	push   %ebx
41b002:	56                   	push   %esi
41b003:	57                   	push   %edi
41b004:	33 c0                	xor    %eax,%eax
41b006:	c7 45 f0 20 00 00 00 	movl   $0x20,-0x10(%ebp)
41b00d:	68 fe ff 00 00       	push   $0xfffe
41b012:	8b f1                	mov    %ecx,%esi
41b014:	89 45 f4             	mov    %eax,-0xc(%ebp)
41b017:	e8 fc 08 00 00       	call   0x41b918
41b01c:	8b f8                	mov    %eax,%edi
41b01e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
41b021:	59                   	pop    %ecx
41b022:	85 ff                	test   %edi,%edi
41b024:	75 25                	jne    0x41b04b
41b026:	be 17 00 00 c0       	mov    $0xc0000017,%esi
41b02b:	8b 45 10             	mov    0x10(%ebp),%eax
41b02e:	33 c9                	xor    %ecx,%ecx
41b030:	88 08                	mov    %cl,(%eax)
41b032:	8b 45 0c             	mov    0xc(%ebp),%eax
41b035:	89 08                	mov    %ecx,(%eax)
41b037:	85 ff                	test   %edi,%edi
41b039:	74 07                	je     0x41b042
41b03b:	57                   	push   %edi
41b03c:	e8 dd 08 00 00       	call   0x41b91e
41b041:	59                   	pop    %ecx
41b042:	5f                   	pop    %edi
41b043:	8b c6                	mov    %esi,%eax
41b045:	5e                   	pop    %esi
41b046:	5b                   	pop    %ebx
41b047:	c9                   	leave
41b048:	c2 0c 00             	ret    $0xc
41b04b:	6a 05                	push   $0x5
41b04d:	e8 c6 08 00 00       	call   0x41b918
41b052:	89 45 f8             	mov    %eax,-0x8(%ebp)
41b055:	59                   	pop    %ecx
41b056:	85 c0                	test   %eax,%eax
41b058:	74 cc                	je     0x41b026
41b05a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41b05d:	33 c9                	xor    %ecx,%ecx
41b05f:	89 08                	mov    %ecx,(%eax)
41b061:	88 48 04             	mov    %cl,0x4(%eax)
41b064:	33 c0                	xor    %eax,%eax
41b066:	66 89 07             	mov    %ax,(%edi)
41b069:	8b 45 10             	mov    0x10(%ebp),%eax
41b06c:	89 0b                	mov    %ecx,(%ebx)
41b06e:	88 08                	mov    %cl,(%eax)
41b070:	85 f6                	test   %esi,%esi
41b072:	75 3e                	jne    0x41b0b2
41b074:	8b d9                	mov    %ecx,%ebx
41b076:	ff 34 9d 40 00 42 00 	push   0x420040(,%ebx,4)
41b07d:	8b cf                	mov    %edi,%ecx
41b07f:	e8 38 f0 ff ff       	call   0x41a0bc
41b084:	8b f0                	mov    %eax,%esi
41b086:	85 f6                	test   %esi,%esi
41b088:	78 a1                	js     0x41b02b
41b08a:	83 fb 04             	cmp    $0x4,%ebx
41b08d:	73 12                	jae    0x41b0a1
41b08f:	68 b8 57 40 00       	push   $0x4057b8
41b094:	8b cf                	mov    %edi,%ecx
41b096:	e8 21 f0 ff ff       	call   0x41a0bc
41b09b:	8b f0                	mov    %eax,%esi
41b09d:	85 f6                	test   %esi,%esi
41b09f:	78 8a                	js     0x41b02b
41b0a1:	43                   	inc    %ebx
41b0a2:	83 fb 05             	cmp    $0x5,%ebx
41b0a5:	72 cf                	jb     0x41b076
41b0a7:	8b 45 10             	mov    0x10(%ebp),%eax
41b0aa:	c6 00 01             	movb   $0x1,(%eax)
41b0ad:	e9 a0 01 00 00       	jmp    0x41b252
41b0b2:	6a 01                	push   $0x1
41b0b4:	68 e0 43 40 00       	push   $0x4043e0
41b0b9:	56                   	push   %esi
41b0ba:	ff 15 8c 35 42 00    	call   *0x42358c
41b0c0:	83 c4 0c             	add    $0xc,%esp
41b0c3:	85 c0                	test   %eax,%eax
41b0c5:	75 16                	jne    0x41b0dd
41b0c7:	51                   	push   %ecx
41b0c8:	56                   	push   %esi
41b0c9:	51                   	push   %ecx
41b0ca:	ba ff 7f 00 00       	mov    $0x7fff,%edx
41b0cf:	8b cf                	mov    %edi,%ecx
41b0d1:	e8 96 ef ff ff       	call   0x41a06c
41b0d6:	8b f0                	mov    %eax,%esi
41b0d8:	e9 78 01 00 00       	jmp    0x41b255
41b0dd:	8b ce                	mov    %esi,%ecx
41b0df:	33 db                	xor    %ebx,%ebx
41b0e1:	8d 51 02             	lea    0x2(%ecx),%edx
41b0e4:	66 8b 01             	mov    (%ecx),%ax
41b0e7:	83 c1 02             	add    $0x2,%ecx
41b0ea:	66 3b c3             	cmp    %bx,%ax
41b0ed:	75 f5                	jne    0x41b0e4
41b0ef:	2b ca                	sub    %edx,%ecx
41b0f1:	d1 f9                	sar    $1,%ecx
41b0f3:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
41b0f6:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b0f9:	83 c0 02             	add    $0x2,%eax
41b0fc:	50                   	push   %eax
41b0fd:	e8 16 08 00 00       	call   0x41b918
41b102:	8b d8                	mov    %eax,%ebx
41b104:	59                   	pop    %ecx
41b105:	85 db                	test   %ebx,%ebx
41b107:	0f 84 19 ff ff ff    	je     0x41b026
41b10d:	8b 45 fc             	mov    -0x4(%ebp),%eax
41b110:	83 c0 02             	add    $0x2,%eax
41b113:	50                   	push   %eax
41b114:	33 c0                	xor    %eax,%eax
41b116:	50                   	push   %eax
41b117:	53                   	push   %ebx
41b118:	e8 04 15 00 00       	call   0x41c621
41b11d:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b120:	51                   	push   %ecx
41b121:	56                   	push   %esi
41b122:	8d 41 02             	lea    0x2(%ecx),%eax
41b125:	50                   	push   %eax
41b126:	53                   	push   %ebx
41b127:	ff 15 90 35 42 00    	call   *0x423590
41b12d:	83 c4 1c             	add    $0x1c,%esp
41b130:	8b cf                	mov    %edi,%ecx
41b132:	56                   	push   %esi
41b133:	e8 84 ef ff ff       	call   0x41a0bc
41b138:	8b f0                	mov    %eax,%esi
41b13a:	89 75 e8             	mov    %esi,-0x18(%ebp)
41b13d:	85 f6                	test   %esi,%esi
41b13f:	0f 88 e6 fe ff ff    	js     0x41b02b
41b145:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b148:	50                   	push   %eax
41b149:	8d 45 f0             	lea    -0x10(%ebp),%eax
41b14c:	50                   	push   %eax
41b14d:	53                   	push   %ebx
41b14e:	ff 15 94 35 42 00    	call   *0x423594
41b154:	8b d0                	mov    %eax,%edx
41b156:	83 c4 0c             	add    $0xc,%esp
41b159:	89 55 fc             	mov    %edx,-0x4(%ebp)
41b15c:	85 d2                	test   %edx,%edx
41b15e:	0f 84 a4 00 00 00    	je     0x41b208
41b164:	8b 7d f8             	mov    -0x8(%ebp),%edi
41b167:	33 f6                	xor    %esi,%esi
41b169:	8b de                	mov    %esi,%ebx
41b16b:	8b 0c 9d 40 00 42 00 	mov    0x420040(,%ebx,4),%ecx
41b172:	8d 41 02             	lea    0x2(%ecx),%eax
41b175:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b178:	66 8b 01             	mov    (%ecx),%ax
41b17b:	83 c1 02             	add    $0x2,%ecx
41b17e:	66 3b c6             	cmp    %si,%ax
41b181:	75 f5                	jne    0x41b178
41b183:	2b 4d ec             	sub    -0x14(%ebp),%ecx
41b186:	d1 f9                	sar    $1,%ecx
41b188:	51                   	push   %ecx
41b189:	52                   	push   %edx
41b18a:	ff 34 9d 40 00 42 00 	push   0x420040(,%ebx,4)
41b191:	ff 15 8c 35 42 00    	call   *0x42358c
41b197:	83 c4 0c             	add    $0xc,%esp
41b19a:	85 c0                	test   %eax,%eax
41b19c:	75 36                	jne    0x41b1d4
41b19e:	8b 14 9d 40 00 42 00 	mov    0x420040(,%ebx,4),%edx
41b1a5:	8d 4a 02             	lea    0x2(%edx),%ecx
41b1a8:	66 8b 02             	mov    (%edx),%ax
41b1ab:	83 c2 02             	add    $0x2,%edx
41b1ae:	66 3b c6             	cmp    %si,%ax
41b1b1:	75 f5                	jne    0x41b1a8
41b1b3:	2b d1                	sub    %ecx,%edx
41b1b5:	8b 4d fc             	mov    -0x4(%ebp),%ecx
41b1b8:	d1 fa                	sar    $1,%edx
41b1ba:	8d 41 02             	lea    0x2(%ecx),%eax
41b1bd:	89 45 ec             	mov    %eax,-0x14(%ebp)
41b1c0:	66 8b 01             	mov    (%ecx),%ax
41b1c3:	83 c1 02             	add    $0x2,%ecx
41b1c6:	66 3b c6             	cmp    %si,%ax
41b1c9:	75 f5                	jne    0x41b1c0
41b1cb:	2b 4d ec             	sub    -0x14(%ebp),%ecx
41b1ce:	d1 f9                	sar    $1,%ecx
41b1d0:	3b d1                	cmp    %ecx,%edx
41b1d2:	74 0b                	je     0x41b1df
41b1d4:	43                   	inc    %ebx
41b1d5:	83 fb 05             	cmp    $0x5,%ebx
41b1d8:	73 09                	jae    0x41b1e3
41b1da:	8b 55 fc             	mov    -0x4(%ebp),%edx
41b1dd:	eb 8c                	jmp    0x41b16b
41b1df:	c6 04 3b 01          	movb   $0x1,(%ebx,%edi,1)
41b1e3:	8d 45 f4             	lea    -0xc(%ebp),%eax
41b1e6:	50                   	push   %eax
41b1e7:	8d 45 f0             	lea    -0x10(%ebp),%eax
41b1ea:	50                   	push   %eax
41b1eb:	56                   	push   %esi
41b1ec:	ff 15 94 35 42 00    	call   *0x423594
41b1f2:	8b d0                	mov    %eax,%edx
41b1f4:	89 45 fc             	mov    %eax,-0x4(%ebp)
41b1f7:	83 c4 0c             	add    $0xc,%esp
41b1fa:	85 d2                	test   %edx,%edx
41b1fc:	0f 85 67 ff ff ff    	jne    0x41b169
41b202:	8b 75 e8             	mov    -0x18(%ebp),%esi
41b205:	8b 7d e4             	mov    -0x1c(%ebp),%edi
41b208:	33 c0                	xor    %eax,%eax
41b20a:	8b d8                	mov    %eax,%ebx
41b20c:	8b 45 f8             	mov    -0x8(%ebp),%eax
41b20f:	80 3c 03 00          	cmpb   $0x0,(%ebx,%eax,1)
41b213:	75 37                	jne    0x41b24c
41b215:	68 b8 57 40 00       	push   $0x4057b8
41b21a:	8b cf                	mov    %edi,%ecx
41b21c:	e8 9b ee ff ff       	call   0x41a0bc
41b221:	8b f0                	mov    %eax,%esi
41b223:	85 f6                	test   %esi,%esi
41b225:	0f 88 00 fe ff ff    	js     0x41b02b
41b22b:	ff 34 9d 40 00 42 00 	push   0x420040(,%ebx,4)
41b232:	8b cf                	mov    %edi,%ecx
41b234:	e8 83 ee ff ff       	call   0x41a0bc
41b239:	8b f0                	mov    %eax,%esi
41b23b:	85 f6                	test   %esi,%esi
41b23d:	0f 88 e8 fd ff ff    	js     0x41b02b
41b243:	8b 45 10             	mov    0x10(%ebp),%eax
41b246:	c6 00 01             	movb   $0x1,(%eax)
41b249:	8b 45 f8             	mov    -0x8(%ebp),%eax
41b24c:	43                   	inc    %ebx
41b24d:	83 fb 05             	cmp    $0x5,%ebx
41b250:	72 bd                	jb     0x41b20f
41b252:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41b255:	85 f6                	test   %esi,%esi
41b257:	0f 88 ce fd ff ff    	js     0x41b02b
41b25d:	89 3b                	mov    %edi,(%ebx)
41b25f:	e9 de fd ff ff       	jmp    0x41b042
41b264:	8b ff                	mov    %edi,%edi
41b266:	56                   	push   %esi
41b267:	8b f1                	mov    %ecx,%esi
41b269:	33 c0                	xor    %eax,%eax
41b26b:	0f b7 0e             	movzwl (%esi),%ecx
41b26e:	f6 c1 01             	test   $0x1,%cl
41b271:	75 29                	jne    0x41b29c
41b273:	0f b7 56 02          	movzwl 0x2(%esi),%edx