43aa30:	e8 13 f7 ff ff       	call   0x43a148
43aa35:	84 c0                	test   %al,%al
43aa37:	74 07                	je     0x43aa40
43aa39:	8b c4                	mov    %esp,%eax
43aa3b:	e8 5c 8f 00 00       	call   0x44399c
43aa40:	8a 04 24             	mov    (%esp),%al
43aa43:	2c 01                	sub    $0x1,%al
43aa45:	72 04                	jb     0x43aa4b
43aa47:	74 0a                	je     0x43aa53
43aa49:	eb 12                	jmp    0x43aa5d
43aa4b:	33 c0                	xor    %eax,%eax
43aa4d:	89 44 24 15          	mov    %eax,0x15(%esp)
43aa51:	eb 12                	jmp    0x43aa65
43aa53:	c7 44 24 15 01 00 00 	movl   $0x1,0x15(%esp)
43aa5a:	00
43aa5b:	eb 08                	jmp    0x43aa65
43aa5d:	c7 44 24 15 02 00 00 	movl   $0x2,0x15(%esp)
43aa64:	00
43aa65:	80 7b 1d 01          	cmpb   $0x1,0x1d(%ebx)
43aa69:	75 0a                	jne    0x43aa75
43aa6b:	81 4c 24 15 00 80 00 	orl    $0x8000,0x15(%esp)
43aa72:	00
43aa73:	eb 08                	jmp    0x43aa7d
43aa75:	81 4c 24 15 00 40 00 	orl    $0x4000,0x15(%esp)
43aa7c:	00
43aa7d:	8b c3                	mov    %ebx,%eax
43aa7f:	e8 ac f6 ff ff       	call   0x43a130
43aa84:	84 c0                	test   %al,%al
43aa86:	74 05                	je     0x43aa8d
43aa88:	83 4c 24 15 04       	orl    $0x4,0x15(%esp)
43aa8d:	83 be 28 02 00 00 00 	cmpl   $0x0,0x228(%esi)
43aa94:	74 1a                	je     0x43aab0
43aa96:	83 7b 20 00          	cmpl   $0x0,0x20(%ebx)
43aa9a:	7c 14                	jl     0x43aab0
43aa9c:	83 4c 24 01 20       	orl    $0x20,0x1(%esp)
43aaa1:	81 4c 24 15 00 08 00 	orl    $0x800,0x15(%esp)
43aaa8:	00
43aaa9:	8b 43 20             	mov    0x20(%ebx),%eax
43aaac:	89 44 24 1d          	mov    %eax,0x1d(%esp)
43aab0:	8d 44 24 01          	lea    0x1(%esp),%eax
43aab4:	50                   	push   %eax
43aab5:	8b c3                	mov    %ebx,%eax
43aab7:	e8 c0 e6 fd ff       	call   0x41917c
43aabc:	50                   	push   %eax
43aabd:	57                   	push   %edi
43aabe:	8b c6                	mov    %esi,%eax
43aac0:	e8 17 29 01 00       	call   0x44d3dc
43aac5:	50                   	push   %eax
43aac6:	e8 f1 bf fc ff       	call   0x406abc
43aacb:	83 c4 28             	add    $0x28,%esp
43aace:	5f                   	pop    %edi
43aacf:	5e                   	pop    %esi
43aad0:	5b                   	pop    %ebx
43aad1:	c3                   	ret
43aad2:	8b c0                	mov    %eax,%eax
43aad4:	53                   	push   %ebx
43aad5:	56                   	push   %esi
43aad6:	8b f2                	mov    %edx,%esi
43aad8:	8b d8                	mov    %eax,%ebx
43aada:	8b c3                	mov    %ebx,%eax
43aadc:	e8 ff 2b 01 00       	call   0x44d6e0
43aae1:	84 c0                	test   %al,%al
43aae3:	74 0e                	je     0x43aaf3
43aae5:	8b ce                	mov    %esi,%ecx
43aae7:	ba 04 12 00 00       	mov    $0x1204,%edx
43aaec:	8b c3                	mov    %ebx,%eax
43aaee:	e8 e5 fe ff ff       	call   0x43a9d8
43aaf3:	5e                   	pop    %esi
43aaf4:	5b                   	pop    %ebx
43aaf5:	c3                   	ret
43aaf6:	8b c0                	mov    %eax,%eax
43aaf8:	53                   	push   %ebx
43aaf9:	56                   	push   %esi
43aafa:	57                   	push   %edi
43aafb:	8b f0                	mov    %eax,%esi
43aafd:	8b c6                	mov    %esi,%eax
43aaff:	e8 dc 2b 01 00       	call   0x44d6e0
43ab04:	84 c0                	test   %al,%al
43ab06:	74 67                	je     0x43ab6f
43ab08:	80 be 10 02 00 00 00 	cmpb   $0x0,0x210(%esi)
43ab0f:	75 5e                	jne    0x43ab6f
43ab11:	6a 00                	push   $0x0
43ab13:	6a 00                	push   $0x0
43ab15:	68 00 12 00 00       	push   $0x1200
43ab1a:	8b c6                	mov    %esi,%eax
43ab1c:	e8 bb 28 01 00       	call   0x44d3dc
43ab21:	50                   	push   %eax
43ab22:	e8 95 bf fc ff       	call   0x406abc
43ab27:	8b d8                	mov    %eax,%ebx
43ab29:	4b                   	dec    %ebx
43ab2a:	85 db                	test   %ebx,%ebx
43ab2c:	7c 1a                	jl     0x43ab48
43ab2e:	43                   	inc    %ebx
43ab2f:	6a 00                	push   $0x0
43ab31:	6a 00                	push   $0x0
43ab33:	68 02 12 00 00       	push   $0x1202
43ab38:	8b c6                	mov    %esi,%eax
43ab3a:	e8 9d 28 01 00       	call   0x44d3dc
43ab3f:	50                   	push   %eax
43ab40:	e8 77 bf fc ff       	call   0x406abc
43ab45:	4b                   	dec    %ebx
43ab46:	75 e7                	jne    0x43ab2f
43ab48:	8b 86 08 02 00 00    	mov    0x208(%esi),%eax
43ab4e:	e8 b9 e9 fd ff       	call   0x41950c
43ab53:	8b d8                	mov    %eax,%ebx
43ab55:	4b                   	dec    %ebx
43ab56:	85 db                	test   %ebx,%ebx
43ab58:	7c 15                	jl     0x43ab6f
43ab5a:	43                   	inc    %ebx
43ab5b:	33 ff                	xor    %edi,%edi
43ab5d:	8b cf                	mov    %edi,%ecx
43ab5f:	ba 01 12 00 00       	mov    $0x1201,%edx
43ab64:	8b c6                	mov    %esi,%eax
43ab66:	e8 6d fe ff ff       	call   0x43a9d8
43ab6b:	47                   	inc    %edi
43ab6c:	4b                   	dec    %ebx
43ab6d:	75 ee                	jne    0x43ab5d
43ab6f:	5f                   	pop    %edi
43ab70:	5e                   	pop    %esi
43ab71:	5b                   	pop    %ebx
43ab72:	c3                   	ret
43ab73:	90                   	nop
43ab74:	55                   	push   %ebp
43ab75:	8b ec                	mov    %esp,%ebp
43ab77:	83 c4 f0             	add    $0xfffffff0,%esp
43ab7a:	56                   	push   %esi
43ab7b:	89 55 f8             	mov    %edx,-0x8(%ebp)
43ab7e:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ab81:	8b 45 f8             	mov    -0x8(%ebp),%eax
43ab84:	8b 40 08             	mov    0x8(%eax),%eax
43ab87:	89 45 f0             	mov    %eax,-0x10(%ebp)
43ab8a:	8b 45 f0             	mov    -0x10(%ebp),%eax
43ab8d:	8b 40 18             	mov    0x18(%eax),%eax
43ab90:	50                   	push   %eax
43ab91:	e8 b6 ba fc ff       	call   0x40664c
43ab96:	89 45 f4             	mov    %eax,-0xc(%ebp)
43ab99:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ab9c:	8b 80 14 02 00 00    	mov    0x214(%eax),%eax
43aba2:	e8 81 9e fe ff       	call   0x424a28
43aba7:	33 c0                	xor    %eax,%eax
43aba9:	55                   	push   %ebp
43abaa:	68 75 ac 43 00       	push   $0x43ac75
43abaf:	64 ff 30             	push   %fs:(%eax)
43abb2:	64 89 20             	mov    %esp,%fs:(%eax)
43abb5:	8b 45 f0             	mov    -0x10(%ebp),%eax
43abb8:	8b 50 18             	mov    0x18(%eax),%edx
43abbb:	8b 45 fc             	mov    -0x4(%ebp),%eax
43abbe:	8b 80 14 02 00 00    	mov    0x214(%eax),%eax
43abc4:	e8 d3 a1 fe ff       	call   0x424d9c
43abc9:	8b 45 fc             	mov    -0x4(%ebp),%eax
43abcc:	8b 50 68             	mov    0x68(%eax),%edx
43abcf:	8b 45 fc             	mov    -0x4(%ebp),%eax
43abd2:	8b 80 14 02 00 00    	mov    0x214(%eax),%eax
43abd8:	e8 5f a0 fe ff       	call   0x424c3c
43abdd:	8b 45 fc             	mov    -0x4(%ebp),%eax
43abe0:	8b 80 14 02 00 00    	mov    0x214(%eax),%eax
43abe6:	8b 40 14             	mov    0x14(%eax),%eax
43abe9:	ba 0f 00 00 ff       	mov    $0xff00000f,%edx
43abee:	e8 1d 9a fe ff       	call   0x424610
43abf3:	8b 45 fc             	mov    -0x4(%ebp),%eax
43abf6:	8b 80 14 02 00 00    	mov    0x214(%eax),%eax
43abfc:	8b 40 14             	mov    0x14(%eax),%eax
43abff:	33 d2                	xor    %edx,%edx
43ac01:	e8 26 9b fe ff       	call   0x42472c
43ac06:	8b 45 f0             	mov    -0x10(%ebp),%eax
43ac09:	f6 40 10 01          	testb  $0x1,0x10(%eax)
43ac0d:	0f 95 c0             	setne  %al
43ac10:	50                   	push   %eax
43ac11:	8b 45 f0             	mov    -0x10(%ebp),%eax
43ac14:	8b 50 08             	mov    0x8(%eax),%edx
43ac17:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ac1a:	8b 80 08 02 00 00    	mov    0x208(%eax),%eax
43ac20:	e8 af f6 ff ff       	call   0x43a2d4
43ac25:	8b d0                	mov    %eax,%edx
43ac27:	8b 45 f0             	mov    -0x10(%ebp),%eax
43ac2a:	8d 48 1c             	lea    0x1c(%eax),%ecx
43ac2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ac30:	66 be b3 ff          	mov    $0xffb3,%si
43ac34:	e8 83 88 fc ff       	call   0x4034bc
43ac39:	33 c0                	xor    %eax,%eax
43ac3b:	5a                   	pop    %edx
43ac3c:	59                   	pop    %ecx
43ac3d:	59                   	pop    %ecx
43ac3e:	64 89 10             	mov    %edx,%fs:(%eax)
43ac41:	68 7c ac 43 00       	push   $0x43ac7c
43ac46:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ac49:	8b 80 14 02 00 00    	mov    0x214(%eax),%eax
43ac4f:	33 d2                	xor    %edx,%edx
43ac51:	e8 46 a1 fe ff       	call   0x424d9c
43ac56:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ac59:	8b 80 14 02 00 00    	mov    0x214(%eax),%eax
43ac5f:	e8 b0 9f fe ff       	call   0x424c14
43ac64:	8b 45 f4             	mov    -0xc(%ebp),%eax
43ac67:	50                   	push   %eax
43ac68:	8b 45 f0             	mov    -0x10(%ebp),%eax
43ac6b:	8b 40 18             	mov    0x18(%eax),%eax
43ac6e:	50                   	push   %eax
43ac6f:	e8 d0 b9 fc ff       	call   0x406644
43ac74:	c3                   	ret
43ac75:	e9 da 8d fc ff       	jmp    0x403a54
43ac7a:	eb ca                	jmp    0x43ac46
43ac7c:	8b 45 f8             	mov    -0x8(%ebp),%eax
43ac7f:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
43ac86:	5e                   	pop    %esi
43ac87:	8b e5                	mov    %ebp,%esp
43ac89:	5d                   	pop    %ebp
43ac8a:	c3                   	ret
43ac8b:	90                   	nop
43ac8c:	55                   	push   %ebp
43ac8d:	8b ec                	mov    %esp,%ebp
43ac8f:	83 c4 c4             	add    $0xffffffc4,%esp
43ac92:	53                   	push   %ebx
43ac93:	56                   	push   %esi
43ac94:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ac97:	8b 72 08             	mov    0x8(%edx),%esi
43ac9a:	8b 46 08             	mov    0x8(%esi),%eax
43ac9d:	3d d2 fe ff ff       	cmp    $0xfffffed2,%eax
43aca2:	7f 1e                	jg     0x43acc2
43aca4:	74 33                	je     0x43acd9
43aca6:	2d c9 fe ff ff       	sub    $0xfffffec9,%eax
43acab:	0f 84 78 01 00 00    	je     0x43ae29
43acb1:	83 c0 fd             	add    $0xfffffffd,%eax
43acb4:	83 e8 03             	sub    $0x3,%eax
43acb7:	0f 82 84 00 00 00    	jb     0x43ad41
43acbd:	e9 8c 02 00 00       	jmp    0x43af4e
43acc2:	2d d3 fe ff ff       	sub    $0xfffffed3,%eax
43acc7:	74 34                	je     0x43acfd
43acc9:	2d 1d 01 00 00       	sub    $0x11d,%eax
43acce:	0f 84 66 02 00 00    	je     0x43af3a
43acd4:	e9 75 02 00 00       	jmp    0x43af4e
43acd9:	8b 56 0c             	mov    0xc(%esi),%edx
43acdc:	8b 45 fc             	mov    -0x4(%ebp),%eax
43acdf:	8b 80 08 02 00 00    	mov    0x208(%eax),%eax
43ace5:	e8 ea f5 ff ff       	call   0x43a2d4
43acea:	8b d0                	mov    %eax,%edx
43acec:	8b 45 fc             	mov    -0x4(%ebp),%eax
43acef:	66 be b2 ff          	mov    $0xffb2,%si
43acf3:	e8 c4 87 fc ff       	call   0x4034bc
43acf8:	e9 51 02 00 00       	jmp    0x43af4e
43acfd:	8b 46 14             	mov    0x14(%esi),%eax
43ad00:	f6 00 01             	testb  $0x1,(%eax)
43ad03:	0f 84 45 02 00 00    	je     0x43af4e
43ad09:	8b 56 0c             	mov    0xc(%esi),%edx
43ad0c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ad0f:	8b 80 08 02 00 00    	mov    0x208(%eax),%eax
43ad15:	e8 ba f5 ff ff       	call   0x43a2d4
43ad1a:	8b d8                	mov    %eax,%ebx
43ad1c:	8b 46 14             	mov    0x14(%esi),%eax
43ad1f:	8b 40 04             	mov    0x4(%eax),%eax
43ad22:	3b 43 10             	cmp    0x10(%ebx),%eax
43ad25:	0f 84 23 02 00 00    	je     0x43af4e
43ad2b:	89 43 10             	mov    %eax,0x10(%ebx)
43ad2e:	8b d3                	mov    %ebx,%edx
43ad30:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ad33:	66 be af ff          	mov    $0xffaf,%si
43ad37:	e8 80 87 fc ff       	call   0x4034bc
43ad3c:	e9 0d 02 00 00       	jmp    0x43af4e
43ad41:	8b 56 0c             	mov    0xc(%esi),%edx
43ad44:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ad47:	8b 80 08 02 00 00    	mov    0x208(%eax),%eax
43ad4d:	e8 82 f5 ff ff       	call   0x43a2d4
43ad52:	8b d8                	mov    %eax,%ebx
43ad54:	8b 46 08             	mov    0x8(%esi),%eax
43ad57:	2d cd fe ff ff       	sub    $0xfffffecd,%eax
43ad5c:	74 09                	je     0x43ad67
43ad5e:	48                   	dec    %eax
43ad5f:	75 0c                	jne    0x43ad6d
43ad61:	c6 45 fb 00          	movb   $0x0,-0x5(%ebp)
43ad65:	eb 0a                	jmp    0x43ad71
43ad67:	c6 45 fb 02          	movb   $0x2,-0x5(%ebp)
43ad6b:	eb 04                	jmp    0x43ad71
43ad6d:	c6 45 fb 01          	movb   $0x1,-0x5(%ebp)
43ad71:	33 d2                	xor    %edx,%edx
43ad73:	55                   	push   %ebp
43ad74:	68 22 ae 43 00       	push   $0x43ae22
43ad79:	64 ff 32             	push   %fs:(%edx)
43ad7c:	64 89 22             	mov    %esp,%fs:(%edx)
43ad7f:	80 7d fb 02          	cmpb   $0x2,-0x5(%ebp)
43ad83:	74 4e                	je     0x43add3
43ad85:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ad88:	89 98 30 02 00 00    	mov    %ebx,0x230(%eax)
43ad8e:	8b 43 10             	mov    0x10(%ebx),%eax
43ad91:	8b 55 fc             	mov    -0x4(%ebp),%edx
43ad94:	89 82 34 02 00 00    	mov    %eax,0x234(%edx)
43ad9a:	e8 45 bb fc ff       	call   0x4068e4
43ad9f:	8b d0                	mov    %eax,%edx
43ada1:	81 e2 ff ff 00 00    	and    $0xffff,%edx
43ada7:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43adaa:	89 91 38 02 00 00    	mov    %edx,0x238(%ecx)
43adb0:	c1 e8 10             	shr    $0x10,%eax
43adb3:	8b 55 fc             	mov    -0x4(%ebp),%edx
43adb6:	89 82 3c 02 00 00    	mov    %eax,0x23c(%edx)
43adbc:	8b 45 fc             	mov    -0x4(%ebp),%eax
43adbf:	05 38 02 00 00       	add    $0x238,%eax
43adc4:	50                   	push   %eax
43adc5:	8b 45 fc             	mov    -0x4(%ebp),%eax
43adc8:	e8 0f 26 01 00       	call   0x44d3dc
43adcd:	50                   	push   %eax
43adce:	e8 d9 bc fc ff       	call   0x406aac
43add3:	8b 46 14             	mov    0x14(%esi),%eax
43add6:	8b f0                	mov    %eax,%esi
43add8:	8b 43 14             	mov    0x14(%ebx),%eax
43addb:	3b 46 04             	cmp    0x4(%esi),%eax
43adde:	7e 03                	jle    0x43ade3
43ade0:	89 46 04             	mov    %eax,0x4(%esi)
43ade3:	8b 43 18             	mov    0x18(%ebx),%eax
43ade6:	3b 46 04             	cmp    0x4(%esi),%eax
43ade9:	7d 03                	jge    0x43adee
43adeb:	89 46 04             	mov    %eax,0x4(%esi)
43adee:	8a 45 fb             	mov    -0x5(%ebp),%al
43adf1:	50                   	push   %eax
43adf2:	8b 4e 04             	mov    0x4(%esi),%ecx
43adf5:	8b d3                	mov    %ebx,%edx
43adf7:	8b 45 fc             	mov    -0x4(%ebp),%eax
43adfa:	66 be ae ff          	mov    $0xffae,%si
43adfe:	e8 b9 86 fc ff       	call   0x4034bc
43ae03:	33 c0                	xor    %eax,%eax
43ae05:	5a                   	pop    %edx
43ae06:	59                   	pop    %ecx
43ae07:	59                   	pop    %ecx
43ae08:	64 89 10             	mov    %edx,%fs:(%eax)
43ae0b:	68 4e af 43 00       	push   $0x43af4e
43ae10:	80 7d fb 02          	cmpb   $0x2,-0x5(%ebp)
43ae14:	75 0b                	jne    0x43ae21
43ae16:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ae19:	33 d2                	xor    %edx,%edx
43ae1b:	89 90 30 02 00 00    	mov    %edx,0x230(%eax)
43ae21:	c3                   	ret
43ae22:	e9 2d 8c fc ff       	jmp    0x403a54
43ae27:	eb e7                	jmp    0x43ae10
43ae29:	33 c0                	xor    %eax,%eax
43ae2b:	89 42 0c             	mov    %eax,0xc(%edx)
43ae2e:	e8 b1 ba fc ff       	call   0x4068e4
43ae33:	25 ff ff 00 00       	and    $0xffff,%eax
43ae38:	89 45 eb             	mov    %eax,-0x15(%ebp)
43ae3b:	8d 45 eb             	lea    -0x15(%ebp),%eax
43ae3e:	50                   	push   %eax
43ae3f:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ae42:	e8 95 25 01 00       	call   0x44d3dc
43ae47:	50                   	push   %eax
43ae48:	e8 5f bc fc ff       	call   0x406aac
43ae4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ae50:	e8 03 b8 00 00       	call   0x446658
43ae55:	d1 f8                	sar    $1,%eax
43ae57:	79 03                	jns    0x43ae5c
43ae59:	83 d0 00             	adc    $0x0,%eax
43ae5c:	89 45 ef             	mov    %eax,-0x11(%ebp)
43ae5f:	8d 45 eb             	lea    -0x15(%ebp),%eax
43ae62:	50                   	push   %eax
43ae63:	6a 00                	push   $0x0