43ab4e:	8b 47 04             	mov    0x4(%edi),%eax
43ab51:	33 c9                	xor    %ecx,%ecx
43ab53:	f7 e3                	mul    %ebx
43ab55:	0f 90 c1             	seto   %cl
43ab58:	f7 d9                	neg    %ecx
43ab5a:	0b c8                	or     %eax,%ecx
43ab5c:	51                   	push   %ecx
43ab5d:	e8 88 49 fe ff       	call   0x41f4ea
43ab62:	59                   	pop    %ecx
43ab63:	89 07                	mov    %eax,(%edi)
43ab65:	39 77 04             	cmp    %esi,0x4(%edi)
43ab68:	76 12                	jbe    0x43ab7c
43ab6a:	8b 0f                	mov    (%edi),%ecx
43ab6c:	8b 04 b5 d0 f7 4b 00 	mov    0x4bf7d0(,%esi,4),%eax
43ab73:	89 04 b1             	mov    %eax,(%ecx,%esi,4)
43ab76:	46                   	inc    %esi
43ab77:	3b 77 04             	cmp    0x4(%edi),%esi
43ab7a:	72 ee                	jb     0x43ab6a
43ab7c:	8b c7                	mov    %edi,%eax
43ab7e:	5f                   	pop    %edi
43ab7f:	5e                   	pop    %esi
43ab80:	5b                   	pop    %ebx
43ab81:	c2 08 00             	ret    $0x8
43ab84:	56                   	push   %esi
43ab85:	8b f1                	mov    %ecx,%esi
43ab87:	83 7e 08 00          	cmpl   $0x0,0x8(%esi)
43ab8b:	74 1b                	je     0x43aba8
43ab8d:	33 c0                	xor    %eax,%eax
43ab8f:	50                   	push   %eax
43ab90:	50                   	push   %eax
43ab91:	50                   	push   %eax
43ab92:	ff 76 08             	push   0x8(%esi)
43ab95:	50                   	push   %eax
43ab96:	ff 76 0c             	push   0xc(%esi)
43ab99:	ff 15 38 d0 48 00    	call   *0x48d038
43ab9f:	ff 76 08             	push   0x8(%esi)
43aba2:	e8 b7 49 fe ff       	call   0x41f55e
43aba7:	59                   	pop    %ecx
43aba8:	ff 76 0c             	push   0xc(%esi)
43abab:	ff 15 0c d3 48 00    	call   *0x48d30c
43abb1:	ff 36                	push   (%esi)
43abb3:	e8 a6 49 fe ff       	call   0x41f55e
43abb8:	59                   	pop    %ecx
43abb9:	5e                   	pop    %esi
43abba:	c3                   	ret
43abbb:	55                   	push   %ebp
43abbc:	8b ec                	mov    %esp,%ebp
43abbe:	51                   	push   %ecx
43abbf:	53                   	push   %ebx
43abc0:	56                   	push   %esi
43abc1:	8b 75 10             	mov    0x10(%ebp),%esi
43abc4:	57                   	push   %edi
43abc5:	56                   	push   %esi
43abc6:	8b c1                	mov    %ecx,%eax
43abc8:	8b 4d 08             	mov    0x8(%ebp),%ecx
43abcb:	33 db                	xor    %ebx,%ebx
43abcd:	53                   	push   %ebx
43abce:	ff 31                	push   (%ecx)
43abd0:	8b fa                	mov    %edx,%edi
43abd2:	57                   	push   %edi
43abd3:	50                   	push   %eax
43abd4:	89 45 fc             	mov    %eax,-0x4(%ebp)
43abd7:	ff 15 9c d6 48 00    	call   *0x48d69c
43abdd:	85 c0                	test   %eax,%eax
43abdf:	75 37                	jne    0x43ac18
43abe1:	ff 15 10 d3 48 00    	call   *0x48d310
43abe7:	83 f8 7a             	cmp    $0x7a,%eax
43abea:	75 2f                	jne    0x43ac1b
43abec:	ff 36                	push   (%esi)
43abee:	6a 08                	push   $0x8
43abf0:	ff 15 68 d1 48 00    	call   *0x48d168
43abf6:	50                   	push   %eax
43abf7:	ff 15 64 d1 48 00    	call   *0x48d164
43abfd:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ac00:	89 01                	mov    %eax,(%ecx)
43ac02:	85 c0                	test   %eax,%eax
43ac04:	74 15                	je     0x43ac1b
43ac06:	56                   	push   %esi
43ac07:	ff 36                	push   (%esi)
43ac09:	50                   	push   %eax
43ac0a:	57                   	push   %edi
43ac0b:	ff 75 fc             	push   -0x4(%ebp)
43ac0e:	ff 15 9c d6 48 00    	call   *0x48d69c
43ac14:	85 c0                	test   %eax,%eax
43ac16:	74 03                	je     0x43ac1b
43ac18:	33 db                	xor    %ebx,%ebx
43ac1a:	43                   	inc    %ebx
43ac1b:	5f                   	pop    %edi
43ac1c:	5e                   	pop    %esi
43ac1d:	8a c3                	mov    %bl,%al
43ac1f:	5b                   	pop    %ebx
43ac20:	c9                   	leave
43ac21:	c3                   	ret
43ac22:	56                   	push   %esi
43ac23:	57                   	push   %edi
43ac24:	8b fa                	mov    %edx,%edi
43ac26:	57                   	push   %edi
43ac27:	6a 08                	push   $0x8
43ac29:	8b f1                	mov    %ecx,%esi
43ac2b:	ff 15 68 d1 48 00    	call   *0x48d168
43ac31:	50                   	push   %eax
43ac32:	ff 15 64 d1 48 00    	call   *0x48d164
43ac38:	89 06                	mov    %eax,(%esi)
43ac3a:	85 c0                	test   %eax,%eax
43ac3c:	74 13                	je     0x43ac51
43ac3e:	6a 02                	push   $0x2
43ac40:	57                   	push   %edi
43ac41:	50                   	push   %eax
43ac42:	ff 15 34 d0 48 00    	call   *0x48d034
43ac48:	85 c0                	test   %eax,%eax
43ac4a:	74 05                	je     0x43ac51
43ac4c:	33 c0                	xor    %eax,%eax
43ac4e:	40                   	inc    %eax
43ac4f:	eb 02                	jmp    0x43ac53
43ac51:	33 c0                	xor    %eax,%eax
43ac53:	5f                   	pop    %edi
43ac54:	5e                   	pop    %esi
43ac55:	c3                   	ret
43ac56:	55                   	push   %ebp
43ac57:	8b ec                	mov    %esp,%ebp
43ac59:	53                   	push   %ebx
43ac5a:	56                   	push   %esi
43ac5b:	ff 75 08             	push   0x8(%ebp)
43ac5e:	8b f1                	mov    %ecx,%esi
43ac60:	6a 08                	push   $0x8
43ac62:	ff 15 68 d1 48 00    	call   *0x48d168
43ac68:	50                   	push   %eax
43ac69:	ff 15 64 d1 48 00    	call   *0x48d164
43ac6f:	89 06                	mov    %eax,(%esi)
43ac71:	85 c0                	test   %eax,%eax
43ac73:	74 0f                	je     0x43ac84
43ac75:	33 db                	xor    %ebx,%ebx
43ac77:	43                   	inc    %ebx
43ac78:	53                   	push   %ebx
43ac79:	50                   	push   %eax
43ac7a:	ff 15 30 d0 48 00    	call   *0x48d030
43ac80:	85 c0                	test   %eax,%eax
43ac82:	75 02                	jne    0x43ac86
43ac84:	33 db                	xor    %ebx,%ebx
43ac86:	5e                   	pop    %esi
43ac87:	8a c3                	mov    %bl,%al
43ac89:	5b                   	pop    %ebx
43ac8a:	5d                   	pop    %ebp
43ac8b:	c3                   	ret
43ac8c:	55                   	push   %ebp
43ac8d:	8b ec                	mov    %esp,%ebp
43ac8f:	83 ec 14             	sub    $0x14,%esp
43ac92:	53                   	push   %ebx
43ac93:	51                   	push   %ecx
43ac94:	51                   	push   %ecx
43ac95:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43ac98:	e8 9c fe ff ff       	call   0x43ab39
43ac9d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43aca0:	e8 7b 03 00 00       	call   0x43b020
43aca5:	84 c0                	test   %al,%al
43aca7:	74 0d                	je     0x43acb6
43aca9:	e8 4c c5 00 00       	call   0x4471fa
43acae:	84 c0                	test   %al,%al
43acb0:	74 04                	je     0x43acb6
43acb2:	b3 01                	mov    $0x1,%bl
43acb4:	eb 02                	jmp    0x43acb8
43acb6:	32 db                	xor    %bl,%bl
43acb8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
43acbb:	e8 c4 fe ff ff       	call   0x43ab84
43acc0:	8a c3                	mov    %bl,%al
43acc2:	5b                   	pop    %ebx
43acc3:	c9                   	leave
43acc4:	c3                   	ret
43acc5:	55                   	push   %ebp
43acc6:	8b ec                	mov    %esp,%ebp
43acc8:	83 ec 5c             	sub    $0x5c,%esp
43accb:	53                   	push   %ebx
43accc:	56                   	push   %esi
43accd:	57                   	push   %edi
43acce:	51                   	push   %ecx
43accf:	51                   	push   %ecx
43acd0:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
43acd3:	e8 61 fe ff ff       	call   0x43ab39
43acd8:	51                   	push   %ecx
43acd9:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
43acdc:	e8 53 04 00 00       	call   0x43b134
43ace1:	84 c0                	test   %al,%al
43ace3:	75 07                	jne    0x43acec
43ace5:	32 db                	xor    %bl,%bl
43ace7:	e9 67 02 00 00       	jmp    0x43af53
43acec:	33 db                	xor    %ebx,%ebx
43acee:	6a 20                	push   $0x20
43acf0:	8d 45 a4             	lea    -0x5c(%ebp),%eax
43acf3:	53                   	push   %ebx
43acf4:	50                   	push   %eax
43acf5:	89 5d fc             	mov    %ebx,-0x4(%ebp)
43acf8:	8b f3                	mov    %ebx,%esi
43acfa:	8b fb                	mov    %ebx,%edi
43acfc:	89 5d f8             	mov    %ebx,-0x8(%ebp)
43acff:	89 5d ec             	mov    %ebx,-0x14(%ebp)
43ad02:	89 5d f0             	mov    %ebx,-0x10(%ebp)
43ad05:	89 5d f4             	mov    %ebx,-0xc(%ebp)
43ad08:	e8 43 60 fe ff       	call   0x420d50
43ad0d:	8b 45 08             	mov    0x8(%ebp),%eax
43ad10:	83 c4 0c             	add    $0xc,%esp
43ad13:	f6 45 14 01          	testb  $0x1,0x14(%ebp)
43ad17:	c7 45 a4 20 00 00 00 	movl   $0x20,-0x5c(%ebp)
43ad1e:	89 45 ac             	mov    %eax,-0x54(%ebp)
43ad21:	88 5d 0b             	mov    %bl,0xb(%ebp)
43ad24:	74 04                	je     0x43ad2a
43ad26:	c6 45 0b 01          	movb   $0x1,0xb(%ebp)
43ad2a:	8d 4d fc             	lea    -0x4(%ebp),%ecx
43ad2d:	51                   	push   %ecx
43ad2e:	51                   	push   %ecx
43ad2f:	ff 75 14             	push   0x14(%ebp)
43ad32:	ff 75 10             	push   0x10(%ebp)
43ad35:	ff 75 0c             	push   0xc(%ebp)
43ad38:	50                   	push   %eax
43ad39:	e8 c8 03 00 00       	call   0x43b106
43ad3e:	84 c0                	test   %al,%al
43ad40:	0f 84 af 01 00 00    	je     0x43aef5
43ad46:	6a 02                	push   $0x2
43ad48:	59                   	pop    %ecx
43ad49:	84 4d 14             	test   %cl,0x14(%ebp)
43ad4c:	74 29                	je     0x43ad77
43ad4e:	8d 45 10             	lea    0x10(%ebp),%eax
43ad51:	50                   	push   %eax
43ad52:	6a 01                	push   $0x1
43ad54:	51                   	push   %ecx
43ad55:	53                   	push   %ebx
43ad56:	53                   	push   %ebx
43ad57:	ff 75 fc             	push   -0x4(%ebp)
43ad5a:	ff 15 48 d0 48 00    	call   *0x48d048
43ad60:	85 c0                	test   %eax,%eax
43ad62:	0f 84 8d 01 00 00    	je     0x43aef5
43ad68:	ff 75 fc             	push   -0x4(%ebp)
43ad6b:	ff 15 0c d3 48 00    	call   *0x48d30c
43ad71:	8b 45 10             	mov    0x10(%ebp),%eax
43ad74:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ad77:	68 00 00 06 00       	push   $0x60000
43ad7c:	53                   	push   %ebx
43ad7d:	68 28 2a 4b 00       	push   $0x4b2a28
43ad82:	ff 15 98 d6 48 00    	call   *0x48d698
43ad88:	8b f0                	mov    %eax,%esi
43ad8a:	85 f6                	test   %esi,%esi
43ad8c:	0f 84 63 01 00 00    	je     0x43aef5
43ad92:	83 fe ff             	cmp    $0xffffffff,%esi
43ad95:	0f 84 5a 01 00 00    	je     0x43aef5
43ad9b:	ff 15 94 d6 48 00    	call   *0x48d694
43ada1:	56                   	push   %esi
43ada2:	89 45 ec             	mov    %eax,-0x14(%ebp)
43ada5:	ff 15 90 d6 48 00    	call   *0x48d690
43adab:	85 c0                	test   %eax,%eax
43adad:	0f 84 42 01 00 00    	je     0x43aef5
43adb3:	68 81 00 06 00       	push   $0x60081
43adb8:	53                   	push   %ebx
43adb9:	53                   	push   %ebx
43adba:	68 38 2a 4b 00       	push   $0x4b2a38
43adbf:	ff 15 8c d6 48 00    	call   *0x48d68c
43adc5:	8b f8                	mov    %eax,%edi
43adc7:	85 ff                	test   %edi,%edi
43adc9:	0f 84 26 01 00 00    	je     0x43aef5
43adcf:	83 ff ff             	cmp    $0xffffffff,%edi
43add2:	0f 84 1d 01 00 00    	je     0x43aef5
43add8:	8d 45 f8             	lea    -0x8(%ebp),%eax
43addb:	50                   	push   %eax
43addc:	ff 75 fc             	push   -0x4(%ebp)
43addf:	e8 e8 03 00 00       	call   0x43b1cc
43ade4:	84 c0                	test   %al,%al
43ade6:	0f 84 09 01 00 00    	je     0x43aef5
43adec:	51                   	push   %ecx
43aded:	8d 45 d4             	lea    -0x2c(%ebp),%eax
43adf0:	50                   	push   %eax
43adf1:	ff 75 f8             	push   -0x8(%ebp)
43adf4:	66 c7 45 d4 00 0b    	movw   $0xb00,-0x2c(%ebp)
43adfa:	56                   	push   %esi
43adfb:	c7 45 d8 00 00 00 f0 	movl   $0xf0000000,-0x28(%ebp)
43ae02:	66 c7 45 e0 00 04    	movw   $0x400,-0x20(%ebp)
43ae08:	c7 45 e4 7f 03 0f 00 	movl   $0xf037f,-0x1c(%ebp)
43ae0f:	e8 53 fa ff ff       	call   0x43a867
43ae14:	84 c0                	test   %al,%al
43ae16:	0f 84 d9 00 00 00    	je     0x43aef5
43ae1c:	51                   	push   %ecx
43ae1d:	8d 45 e0             	lea    -0x20(%ebp),%eax
43ae20:	50                   	push   %eax
43ae21:	ff 75 f8             	push   -0x8(%ebp)
43ae24:	66 89 5d e0          	mov    %bx,-0x20(%ebp)
43ae28:	57                   	push   %edi
43ae29:	c7 45 e4 ff 01 0f 00 	movl   $0xf01ff,-0x1c(%ebp)
43ae30:	e8 37 f8 ff ff       	call   0x43a66c
43ae35:	84 c0                	test   %al,%al
43ae37:	0f 84 b8 00 00 00    	je     0x43aef5
43ae3d:	8b 45 28             	mov    0x28(%ebp),%eax
43ae40:	c7 40 08 48 2a 4b 00 	movl   $0x4b2a48,0x8(%eax)
43ae47:	8b 40 2c             	mov    0x2c(%eax),%eax
43ae4a:	25 00 01 00 00       	and    $0x100,%eax
43ae4f:	89 45 10             	mov    %eax,0x10(%ebp)
43ae52:	39 5d 1c             	cmp    %ebx,0x1c(%ebp)
43ae55:	74 2c                	je     0x43ae83
43ae57:	ff 75 1c             	push   0x1c(%ebp)
43ae5a:	e8 7c 5e fe ff       	call   0x420cdb
43ae5f:	33 c9                	xor    %ecx,%ecx
43ae61:	6a 02                	push   $0x2
43ae63:	40                   	inc    %eax
43ae64:	5a                   	pop    %edx
43ae65:	f7 e2                	mul    %edx
43ae67:	0f 90 c1             	seto   %cl
43ae6a:	f7 d9                	neg    %ecx
43ae6c:	0b c8                	or     %eax,%ecx
43ae6e:	51                   	push   %ecx
43ae6f:	e8 76 46 fe ff       	call   0x41f4ea
43ae74:	ff 75 1c             	push   0x1c(%ebp)
43ae77:	89 45 f0             	mov    %eax,-0x10(%ebp)
43ae7a:	50                   	push   %eax
43ae7b:	e8 a3 5e fe ff       	call   0x420d23
43ae80:	83 c4 10             	add    $0x10,%esp
43ae83:	38 5d 0b             	cmp    %bl,0xb(%ebp)
43ae86:	74 11                	je     0x43ae99
43ae88:	8d 45 a4             	lea    -0x5c(%ebp),%eax
43ae8b:	50                   	push   %eax
43ae8c:	ff 75 fc             	push   -0x4(%ebp)
43ae8f:	ff 15 44 d7 48 00    	call   *0x48d744
43ae95:	85 c0                	test   %eax,%eax
43ae97:	74 5c                	je     0x43aef5
43ae99:	f6 45 14 04          	testb  $0x4,0x14(%ebp)
43ae9d:	75 12                	jne    0x43aeb1
43ae9f:	53                   	push   %ebx
43aea0:	ff 75 fc             	push   -0x4(%ebp)
43aea3:	8d 45 f4             	lea    -0xc(%ebp),%eax
43aea6:	50                   	push   %eax
43aea7:	ff 15 40 d7 48 00    	call   *0x48d740
43aead:	85 c0                	test   %eax,%eax
43aeaf:	74 44                	je     0x43aef5
43aeb1:	ff 75 2c             	push   0x2c(%ebp)
43aeb4:	8b 45 20             	mov    0x20(%ebp),%eax
43aeb7:	ff 75 28             	push   0x28(%ebp)
43aeba:	0d 00 04 00 00       	or     $0x400,%eax
43aebf:	ff 75 24             	push   0x24(%ebp)
43aec2:	ff 75 f4             	push   -0xc(%ebp)
43aec5:	50                   	push   %eax
43aec6:	ff 75 10             	push   0x10(%ebp)
43aec9:	53                   	push   %ebx
43aeca:	53                   	push   %ebx
43aecb:	ff 75 f0             	push   -0x10(%ebp)
43aece:	53                   	push   %ebx
43aecf:	ff 75 fc             	push   -0x4(%ebp)
43aed2:	ff 15 4c d0 48 00    	call   *0x48d04c
43aed8:	85 c0                	test   %eax,%eax
43aeda:	74 19                	je     0x43aef5
43aedc:	38 5d 0b             	cmp    %bl,0xb(%ebp)
43aedf:	74 10                	je     0x43aef1
43aee1:	8d 45 fc             	lea    -0x4(%ebp),%eax
43aee4:	50                   	push   %eax
43aee5:	8d 45 c0             	lea    -0x40(%ebp),%eax
43aee8:	50                   	push   %eax