41ac98:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41ac9e:	0f 84 96 01 00 00    	je     0x41ae3a
41aca4:	6a 0f                	push   $0xf
41aca6:	8d 44 24 14          	lea    0x14(%esp),%eax
41acaa:	50                   	push   %eax
41acab:	ff 15 b4 35 42 00    	call   *0x4235b4
41acb1:	84 c0                	test   %al,%al
41acb3:	74 4a                	je     0x41acff
41acb5:	0f b7 43 54          	movzwl 0x54(%ebx),%eax
41acb9:	66 85 c0             	test   %ax,%ax
41acbc:	74 24                	je     0x41ace2
41acbe:	83 c0 02             	add    $0x2,%eax
41acc1:	50                   	push   %eax
41acc2:	ff 73 58             	push   0x58(%ebx)
41acc5:	33 c0                	xor    %eax,%eax
41acc7:	6a 01                	push   $0x1
41acc9:	68 0c 61 40 00       	push   $0x40610c
41acce:	57                   	push   %edi
41accf:	50                   	push   %eax
41acd0:	ff 15 e8 35 42 00    	call   *0x4235e8
41acd6:	8b f0                	mov    %eax,%esi
41acd8:	85 f6                	test   %esi,%esi
41acda:	0f 88 5e 01 00 00    	js     0x41ae3e
41ace0:	eb 1d                	jmp    0x41acff
41ace2:	68 0c 61 40 00       	push   $0x40610c
41ace7:	57                   	push   %edi
41ace8:	33 c0                	xor    %eax,%eax
41acea:	50                   	push   %eax
41aceb:	ff 15 c8 35 42 00    	call   *0x4235c8
41acf1:	8b f0                	mov    %eax,%esi
41acf3:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41acf9:	0f 84 3b 01 00 00    	je     0x41ae3a
41acff:	6a 11                	push   $0x11
41ad01:	8d 44 24 14          	lea    0x14(%esp),%eax
41ad05:	50                   	push   %eax
41ad06:	ff 15 b4 35 42 00    	call   *0x4235b4
41ad0c:	84 c0                	test   %al,%al
41ad0e:	0f 84 84 00 00 00    	je     0x41ad98
41ad14:	8d 4b 5c             	lea    0x5c(%ebx),%ecx
41ad17:	33 d2                	xor    %edx,%edx
41ad19:	39 11                	cmp    %edx,(%ecx)
41ad1b:	75 3e                	jne    0x41ad5b
41ad1d:	39 53 60             	cmp    %edx,0x60(%ebx)
41ad20:	75 39                	jne    0x41ad5b
41ad22:	68 b8 61 40 00       	push   $0x4061b8
41ad27:	57                   	push   %edi
41ad28:	52                   	push   %edx
41ad29:	ff 15 c8 35 42 00    	call   *0x4235c8
41ad2f:	8b f0                	mov    %eax,%esi
41ad31:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41ad37:	0f 84 fd 00 00 00    	je     0x41ae3a
41ad3d:	68 ec 61 40 00       	push   $0x4061ec
41ad42:	57                   	push   %edi
41ad43:	33 c0                	xor    %eax,%eax
41ad45:	50                   	push   %eax
41ad46:	ff 15 c8 35 42 00    	call   *0x4235c8
41ad4c:	8b f0                	mov    %eax,%esi
41ad4e:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41ad54:	75 42                	jne    0x41ad98
41ad56:	e9 0c 01 00 00       	jmp    0x41ae67
41ad5b:	6a 04                	push   $0x4
41ad5d:	51                   	push   %ecx
41ad5e:	6a 04                	push   $0x4
41ad60:	68 b8 61 40 00       	push   $0x4061b8
41ad65:	57                   	push   %edi
41ad66:	52                   	push   %edx
41ad67:	ff 15 e8 35 42 00    	call   *0x4235e8
41ad6d:	8b f0                	mov    %eax,%esi
41ad6f:	85 f6                	test   %esi,%esi
41ad71:	0f 88 c7 00 00 00    	js     0x41ae3e
41ad77:	6a 04                	push   $0x4
41ad79:	8d 43 60             	lea    0x60(%ebx),%eax
41ad7c:	50                   	push   %eax
41ad7d:	6a 04                	push   $0x4
41ad7f:	68 ec 61 40 00       	push   $0x4061ec
41ad84:	57                   	push   %edi
41ad85:	33 c0                	xor    %eax,%eax
41ad87:	50                   	push   %eax
41ad88:	ff 15 e8 35 42 00    	call   *0x4235e8
41ad8e:	8b f0                	mov    %eax,%esi
41ad90:	85 f6                	test   %esi,%esi
41ad92:	0f 88 a6 00 00 00    	js     0x41ae3e
41ad98:	6a 12                	push   $0x12
41ad9a:	8d 44 24 14          	lea    0x14(%esp),%eax
41ad9e:	50                   	push   %eax
41ad9f:	ff 15 b4 35 42 00    	call   *0x4235b4
41ada5:	84 c0                	test   %al,%al
41ada7:	74 3a                	je     0x41ade3
41ada9:	8d 43 64             	lea    0x64(%ebx),%eax
41adac:	33 c9                	xor    %ecx,%ecx
41adae:	39 08                	cmp    %ecx,(%eax)
41adb0:	74 1a                	je     0x41adcc
41adb2:	6a 04                	push   $0x4
41adb4:	50                   	push   %eax
41adb5:	6a 04                	push   $0x4
41adb7:	68 24 62 40 00       	push   $0x406224
41adbc:	57                   	push   %edi
41adbd:	51                   	push   %ecx
41adbe:	ff 15 e8 35 42 00    	call   *0x4235e8
41adc4:	8b f0                	mov    %eax,%esi
41adc6:	85 f6                	test   %esi,%esi
41adc8:	78 74                	js     0x41ae3e
41adca:	eb 17                	jmp    0x41ade3
41adcc:	68 24 62 40 00       	push   $0x406224
41add1:	57                   	push   %edi
41add2:	51                   	push   %ecx
41add3:	ff 15 c8 35 42 00    	call   *0x4235c8
41add9:	8b f0                	mov    %eax,%esi
41addb:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41ade1:	74 57                	je     0x41ae3a
41ade3:	6a 13                	push   $0x13
41ade5:	8d 44 24 14          	lea    0x14(%esp),%eax
41ade9:	50                   	push   %eax
41adea:	ff 15 b4 35 42 00    	call   *0x4235b4
41adf0:	84 c0                	test   %al,%al
41adf2:	74 3a                	je     0x41ae2e
41adf4:	83 c3 68             	add    $0x68,%ebx
41adf7:	33 c0                	xor    %eax,%eax
41adf9:	39 03                	cmp    %eax,(%ebx)
41adfb:	74 1a                	je     0x41ae17
41adfd:	6a 28                	push   $0x28
41adff:	53                   	push   %ebx
41ae00:	6a 03                	push   $0x3
41ae02:	68 fc 5e 40 00       	push   $0x405efc
41ae07:	57                   	push   %edi
41ae08:	50                   	push   %eax
41ae09:	ff 15 e8 35 42 00    	call   *0x4235e8
41ae0f:	8b f0                	mov    %eax,%esi
41ae11:	85 f6                	test   %esi,%esi
41ae13:	78 29                	js     0x41ae3e
41ae15:	eb 17                	jmp    0x41ae2e
41ae17:	68 fc 5e 40 00       	push   $0x405efc
41ae1c:	57                   	push   %edi
41ae1d:	50                   	push   %eax
41ae1e:	ff 15 c8 35 42 00    	call   *0x4235c8
41ae24:	8b f0                	mov    %eax,%esi
41ae26:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41ae2c:	74 0c                	je     0x41ae3a
41ae2e:	8d 86 cc ff ff 3f    	lea    0x3fffffcc(%esi),%eax
41ae34:	f7 d8                	neg    %eax
41ae36:	1b c0                	sbb    %eax,%eax
41ae38:	23 f0                	and    %eax,%esi
41ae3a:	85 f6                	test   %esi,%esi
41ae3c:	79 29                	jns    0x41ae67
41ae3e:	81 fe 22 00 00 c0    	cmp    $0xc0000022,%esi
41ae44:	74 21                	je     0x41ae67
41ae46:	68 90 00 00 00       	push   $0x90
41ae4b:	33 db                	xor    %ebx,%ebx
41ae4d:	8d 44 24 24          	lea    0x24(%esp),%eax
41ae51:	53                   	push   %ebx
41ae52:	50                   	push   %eax
41ae53:	e8 c9 17 00 00       	call   0x41c621
41ae58:	83 c4 0c             	add    $0xc,%esp
41ae5b:	8d 4c 24 20          	lea    0x20(%esp),%ecx
41ae5f:	33 d2                	xor    %edx,%edx
41ae61:	53                   	push   %ebx
41ae62:	e8 a5 f8 ff ff       	call   0x41a70c
41ae67:	8b c6                	mov    %esi,%eax
41ae69:	8b 8c 24 b4 00 00 00 	mov    0xb4(%esp),%ecx
41ae70:	5f                   	pop    %edi
41ae71:	5e                   	pop    %esi
41ae72:	5b                   	pop    %ebx
41ae73:	33 cc                	xor    %esp,%ecx
41ae75:	e8 a6 07 00 00       	call   0x41b620
41ae7a:	8b e5                	mov    %ebp,%esp
41ae7c:	5d                   	pop    %ebp
41ae7d:	c2 04 00             	ret    $0x4
41ae80:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
41ae86:	51                   	push   %ecx
41ae87:	6a 00                	push   $0x0
41ae89:	ff 70 18             	push   0x18(%eax)
41ae8c:	ff 15 cc 35 42 00    	call   *0x4235cc
41ae92:	c3                   	ret
41ae93:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
41ae99:	51                   	push   %ecx
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