43e998:	74 1c                	je     0x43e9b6
43e99a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43e99d:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
43e9a3:	8b 55 fc             	mov    -0x4(%ebp),%edx
43e9a6:	2b 82 88 00 00 00    	sub    0x88(%edx),%eax
43e9ac:	8b 55 e0             	mov    -0x20(%ebp),%edx
43e9af:	2b d0                	sub    %eax,%edx
43e9b1:	89 55 ec             	mov    %edx,-0x14(%ebp)
43e9b4:	eb 51                	jmp    0x43ea07
43e9b6:	8b 45 fc             	mov    -0x4(%ebp),%eax
43e9b9:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
43e9bf:	8b 55 fc             	mov    -0x4(%ebp),%edx
43e9c2:	2b 82 88 00 00 00    	sub    0x88(%edx),%eax
43e9c8:	8b 55 e0             	mov    -0x20(%ebp),%edx
43e9cb:	2b d0                	sub    %eax,%edx
43e9cd:	89 55 f4             	mov    %edx,-0xc(%ebp)
43e9d0:	eb 35                	jmp    0x43ea07
43e9d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
43e9d5:	f6 40 61 01          	testb  $0x1,0x61(%eax)
43e9d9:	75 2c                	jne    0x43ea07
43e9db:	8b 45 fc             	mov    -0x4(%ebp),%eax
43e9de:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
43e9e4:	50                   	push   %eax
43e9e5:	8b 45 e0             	mov    -0x20(%ebp),%eax
43e9e8:	50                   	push   %eax
43e9e9:	8b 45 fc             	mov    -0x4(%ebp),%eax
43e9ec:	8b 80 88 00 00 00    	mov    0x88(%eax),%eax
43e9f2:	50                   	push   %eax
43e9f3:	e8 e0 7e fc ff       	call   0x4068d8
43e9f8:	8b 55 ec             	mov    -0x14(%ebp),%edx
43e9fb:	d1 fa                	sar    $1,%edx
43e9fd:	79 03                	jns    0x43ea02
43e9ff:	83 d2 00             	adc    $0x0,%edx
43ea02:	2b c2                	sub    %edx,%eax
43ea04:	89 45 f4             	mov    %eax,-0xc(%ebp)
43ea07:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ea0a:	f6 40 61 08          	testb  $0x8,0x61(%eax)
43ea0e:	74 41                	je     0x43ea51
43ea10:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ea13:	f6 40 61 02          	testb  $0x2,0x61(%eax)
43ea17:	74 1c                	je     0x43ea35
43ea19:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ea1c:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
43ea22:	8b 55 fc             	mov    -0x4(%ebp),%edx
43ea25:	2b 82 8c 00 00 00    	sub    0x8c(%edx),%eax
43ea2b:	8b 55 e4             	mov    -0x1c(%ebp),%edx
43ea2e:	2b d0                	sub    %eax,%edx
43ea30:	89 55 e8             	mov    %edx,-0x18(%ebp)
43ea33:	eb 51                	jmp    0x43ea86
43ea35:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ea38:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
43ea3e:	8b 55 fc             	mov    -0x4(%ebp),%edx
43ea41:	2b 82 8c 00 00 00    	sub    0x8c(%edx),%eax
43ea47:	8b 55 e4             	mov    -0x1c(%ebp),%edx
43ea4a:	2b d0                	sub    %eax,%edx
43ea4c:	89 55 f0             	mov    %edx,-0x10(%ebp)
43ea4f:	eb 35                	jmp    0x43ea86
43ea51:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ea54:	f6 40 61 02          	testb  $0x2,0x61(%eax)
43ea58:	75 2c                	jne    0x43ea86
43ea5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ea5d:	8b 80 94 00 00 00    	mov    0x94(%eax),%eax
43ea63:	50                   	push   %eax
43ea64:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43ea67:	50                   	push   %eax
43ea68:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ea6b:	8b 80 8c 00 00 00    	mov    0x8c(%eax),%eax
43ea71:	50                   	push   %eax
43ea72:	e8 61 7e fc ff       	call   0x4068d8
43ea77:	8b 55 e8             	mov    -0x18(%ebp),%edx
43ea7a:	d1 fa                	sar    $1,%edx
43ea7c:	79 03                	jns    0x43ea81
43ea7e:	83 d2 00             	adc    $0x0,%edx
43ea81:	2b c2                	sub    %edx,%eax
43ea83:	89 45 f0             	mov    %eax,-0x10(%ebp)
43ea86:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ea89:	c6 40 62 01          	movb   $0x1,0x62(%eax)
43ea8d:	33 c0                	xor    %eax,%eax
43ea8f:	55                   	push   %ebp
43ea90:	68 c9 ea 43 00       	push   $0x43eac9
43ea95:	64 ff 30             	push   %fs:(%eax)
43ea98:	64 89 20             	mov    %esp,%fs:(%eax)
43ea9b:	8b 45 ec             	mov    -0x14(%ebp),%eax
43ea9e:	50                   	push   %eax
43ea9f:	8b 45 e8             	mov    -0x18(%ebp),%eax
43eaa2:	50                   	push   %eax
43eaa3:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43eaa6:	8b 55 f4             	mov    -0xc(%ebp),%edx
43eaa9:	8b 45 fc             	mov    -0x4(%ebp),%eax
43eaac:	8b 18                	mov    (%eax),%ebx
43eaae:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43eab4:	33 c0                	xor    %eax,%eax
43eab6:	5a                   	pop    %edx
43eab7:	59                   	pop    %ecx
43eab8:	59                   	pop    %ecx
43eab9:	64 89 10             	mov    %edx,%fs:(%eax)
43eabc:	68 d0 ea 43 00       	push   $0x43ead0
43eac1:	8b 45 fc             	mov    -0x4(%ebp),%eax
43eac4:	c6 40 62 00          	movb   $0x0,0x62(%eax)
43eac8:	c3                   	ret
43eac9:	e9 9a 50 fc ff       	jmp    0x403b68
43eace:	eb f1                	jmp    0x43eac1
43ead0:	80 7d fb 00          	cmpb   $0x0,-0x5(%ebp)
43ead4:	0f 84 2c 02 00 00    	je     0x43ed06
43eada:	8b 45 08             	mov    0x8(%ebp),%eax
43eadd:	8b 40 f8             	mov    -0x8(%eax),%eax
43eae0:	8b 40 08             	mov    0x8(%eax),%eax
43eae3:	8b 55 08             	mov    0x8(%ebp),%edx
43eae6:	8b 52 f8             	mov    -0x8(%edx),%edx
43eae9:	2b 02                	sub    (%edx),%eax
43eaeb:	89 45 ec             	mov    %eax,-0x14(%ebp)
43eaee:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
43eaf2:	7c 0d                	jl     0x43eb01
43eaf4:	8a 45 fb             	mov    -0x5(%ebp),%al
43eaf7:	04 fd                	add    $0xfd,%al
43eaf9:	2c 02                	sub    $0x2,%al
43eafb:	72 04                	jb     0x43eb01
43eafd:	2c 01                	sub    $0x1,%al
43eaff:	75 09                	jne    0x43eb0a
43eb01:	8b 45 fc             	mov    -0x4(%ebp),%eax
43eb04:	8b 40 48             	mov    0x48(%eax),%eax
43eb07:	89 45 ec             	mov    %eax,-0x14(%ebp)
43eb0a:	8b 45 08             	mov    0x8(%ebp),%eax
43eb0d:	8b 40 f8             	mov    -0x8(%eax),%eax
43eb10:	8b 40 0c             	mov    0xc(%eax),%eax
43eb13:	8b 55 08             	mov    0x8(%ebp),%edx
43eb16:	8b 52 f8             	mov    -0x8(%edx),%edx
43eb19:	2b 42 04             	sub    0x4(%edx),%eax
43eb1c:	89 45 e8             	mov    %eax,-0x18(%ebp)
43eb1f:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
43eb23:	7c 0c                	jl     0x43eb31
43eb25:	8a 45 fb             	mov    -0x5(%ebp),%al
43eb28:	48                   	dec    %eax
43eb29:	2c 02                	sub    $0x2,%al
43eb2b:	72 04                	jb     0x43eb31
43eb2d:	2c 03                	sub    $0x3,%al
43eb2f:	75 09                	jne    0x43eb3a
43eb31:	8b 45 fc             	mov    -0x4(%ebp),%eax
43eb34:	8b 40 4c             	mov    0x4c(%eax),%eax
43eb37:	89 45 e8             	mov    %eax,-0x18(%ebp)
43eb3a:	8b 45 08             	mov    0x8(%ebp),%eax
43eb3d:	8b 40 f8             	mov    -0x8(%eax),%eax
43eb40:	8b 00                	mov    (%eax),%eax
43eb42:	89 45 f4             	mov    %eax,-0xc(%ebp)
43eb45:	8b 45 08             	mov    0x8(%ebp),%eax
43eb48:	8b 40 f8             	mov    -0x8(%eax),%eax
43eb4b:	8b 40 04             	mov    0x4(%eax),%eax
43eb4e:	89 45 f0             	mov    %eax,-0x10(%ebp)
43eb51:	33 c0                	xor    %eax,%eax
43eb53:	8a 45 fb             	mov    -0x5(%ebp),%al
43eb56:	83 f8 06             	cmp    $0x6,%eax
43eb59:	0f 87 af 00 00 00    	ja     0x43ec0e
43eb5f:	ff 24 85 66 eb 43 00 	jmp    *0x43eb66(,%eax,4)
43eb66:	0e                   	push   %cs
43eb67:	ec                   	in     (%dx),%al
43eb68:	43                   	inc    %ebx
43eb69:	00 82 eb 43 00 90    	add    %al,-0x6fffbc15(%edx)
43eb6f:	eb 43                	jmp    0x43ebb4
43eb71:	00 aa eb 43 00 b7    	add    %ch,-0x48ffbc15(%edx)
43eb77:	eb 43                	jmp    0x43ebbc
43eb79:	00 0e                	add    %cl,(%esi)
43eb7b:	ec                   	in     (%dx),%al
43eb7c:	43                   	inc    %ebx
43eb7d:	00 d1                	add    %dl,%cl
43eb7f:	eb 43                	jmp    0x43ebc4
43eb81:	00 8b 45 08 8b 40    	add    %cl,0x408b0845(%ebx)
43eb87:	f8                   	clc
43eb88:	8b 55 e8             	mov    -0x18(%ebp),%edx
43eb8b:	01 50 04             	add    %edx,0x4(%eax)
43eb8e:	eb 7e                	jmp    0x43ec0e
43eb90:	8b 45 08             	mov    0x8(%ebp),%eax
43eb93:	8b 40 f8             	mov    -0x8(%eax),%eax
43eb96:	8b 55 e8             	mov    -0x18(%ebp),%edx
43eb99:	29 50 0c             	sub    %edx,0xc(%eax)
43eb9c:	8b 45 08             	mov    0x8(%ebp),%eax
43eb9f:	8b 40 f8             	mov    -0x8(%eax),%eax
43eba2:	8b 40 0c             	mov    0xc(%eax),%eax
43eba5:	89 45 f0             	mov    %eax,-0x10(%ebp)
43eba8:	eb 64                	jmp    0x43ec0e
43ebaa:	8b 45 08             	mov    0x8(%ebp),%eax
43ebad:	8b 40 f8             	mov    -0x8(%eax),%eax
43ebb0:	8b 55 ec             	mov    -0x14(%ebp),%edx
43ebb3:	01 10                	add    %edx,(%eax)
43ebb5:	eb 57                	jmp    0x43ec0e
43ebb7:	8b 45 08             	mov    0x8(%ebp),%eax
43ebba:	8b 40 f8             	mov    -0x8(%eax),%eax
43ebbd:	8b 55 ec             	mov    -0x14(%ebp),%edx
43ebc0:	29 50 08             	sub    %edx,0x8(%eax)
43ebc3:	8b 45 08             	mov    0x8(%ebp),%eax
43ebc6:	8b 40 f8             	mov    -0x8(%eax),%eax
43ebc9:	8b 40 08             	mov    0x8(%eax),%eax
43ebcc:	89 45 f4             	mov    %eax,-0xc(%ebp)
43ebcf:	eb 3d                	jmp    0x43ec0e
43ebd1:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ebd4:	8b 40 40             	mov    0x40(%eax),%eax
43ebd7:	89 45 f4             	mov    %eax,-0xc(%ebp)
43ebda:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ebdd:	8b 40 44             	mov    0x44(%eax),%eax
43ebe0:	89 45 f0             	mov    %eax,-0x10(%ebp)
43ebe3:	8d 45 f0             	lea    -0x10(%ebp),%eax
43ebe6:	50                   	push   %eax
43ebe7:	8d 45 ec             	lea    -0x14(%ebp),%eax
43ebea:	50                   	push   %eax
43ebeb:	8d 45 e8             	lea    -0x18(%ebp),%eax
43ebee:	50                   	push   %eax
43ebef:	8b 45 08             	mov    0x8(%ebp),%eax
43ebf2:	8b 40 f8             	mov    -0x8(%eax),%eax
43ebf5:	50                   	push   %eax
43ebf6:	8d 45 d0             	lea    -0x30(%ebp),%eax
43ebf9:	50                   	push   %eax
43ebfa:	8d 4d f4             	lea    -0xc(%ebp),%ecx
43ebfd:	8b 45 08             	mov    0x8(%ebp),%eax
43ec00:	8b 40 fc             	mov    -0x4(%eax),%eax
43ec03:	8b 55 fc             	mov    -0x4(%ebp),%edx
43ec06:	8b 18                	mov    (%eax),%ebx
43ec08:	ff 93 a8 00 00 00    	call   *0xa8(%ebx)
43ec0e:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ec11:	c6 40 62 01          	movb   $0x1,0x62(%eax)
43ec15:	33 c0                	xor    %eax,%eax
43ec17:	55                   	push   %ebp
43ec18:	68 51 ec 43 00       	push   $0x43ec51
43ec1d:	64 ff 30             	push   %fs:(%eax)
43ec20:	64 89 20             	mov    %esp,%fs:(%eax)
43ec23:	8b 45 ec             	mov    -0x14(%ebp),%eax
43ec26:	50                   	push   %eax
43ec27:	8b 45 e8             	mov    -0x18(%ebp),%eax
43ec2a:	50                   	push   %eax
43ec2b:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43ec2e:	8b 55 f4             	mov    -0xc(%ebp),%edx
43ec31:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ec34:	8b 18                	mov    (%eax),%ebx
43ec36:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43ec3c:	33 c0                	xor    %eax,%eax
43ec3e:	5a                   	pop    %edx
43ec3f:	59                   	pop    %ecx
43ec40:	59                   	pop    %ecx
43ec41:	64 89 10             	mov    %edx,%fs:(%eax)
43ec44:	68 58 ec 43 00       	push   $0x43ec58
43ec49:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ec4c:	c6 40 62 00          	movb   $0x0,0x62(%eax)
43ec50:	c3                   	ret
43ec51:	e9 12 4f fc ff       	jmp    0x403b68
43ec56:	eb f1                	jmp    0x43ec49
43ec58:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ec5b:	8b 40 48             	mov    0x48(%eax),%eax
43ec5e:	3b 45 ec             	cmp    -0x14(%ebp),%eax
43ec61:	75 0f                	jne    0x43ec72
43ec63:	8b 55 fc             	mov    -0x4(%ebp),%edx
43ec66:	8b 52 4c             	mov    0x4c(%edx),%edx
43ec69:	3b 55 e8             	cmp    -0x18(%ebp),%edx
43ec6c:	0f 84 94 00 00 00    	je     0x43ed06
43ec72:	33 d2                	xor    %edx,%edx
43ec74:	8a 55 fb             	mov    -0x5(%ebp),%dl
43ec77:	83 fa 05             	cmp    $0x5,%edx
43ec7a:	0f 87 86 00 00 00    	ja     0x43ed06
43ec80:	ff 24 95 87 ec 43 00 	jmp    *0x43ec87(,%edx,4)
43ec87:	06                   	push   %es
43ec88:	ed                   	in     (%dx),%eax
43ec89:	43                   	inc    %ebx
43ec8a:	00 9f ec 43 00 b3    	add    %bl,-0x4cffbc14(%edi)
43ec90:	ec                   	in     (%dx),%al
43ec91:	43                   	inc    %ebx
43ec92:	00 c7                	add    %al,%bh
43ec94:	ec                   	in     (%dx),%al
43ec95:	43                   	inc    %ebx
43ec96:	00 d6                	add    %dl,%dh
43ec98:	ec                   	in     (%dx),%al
43ec99:	43                   	inc    %ebx
43ec9a:	00 e6                	add    %ah,%dh
43ec9c:	ec                   	in     (%dx),%al
43ec9d:	43                   	inc    %ebx
43ec9e:	00 8b 45 fc 8b 55    	add    %cl,0x558bfc45(%ebx)
43eca4:	e8 2b 50 4c 8b       	call   0x8b903cd4
43eca9:	45                   	inc    %ebp
43ecaa:	08 8b 40 f8 29 50    	or     %cl,0x5029f840(%ebx)
43ecb0:	04 eb                	add    $0xeb,%al
43ecb2:	53                   	push   %ebx
43ecb3:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ecb6:	8b 55 e8             	mov    -0x18(%ebp),%edx
43ecb9:	2b 50 4c             	sub    0x4c(%eax),%edx
43ecbc:	8b 45 08             	mov    0x8(%ebp),%eax
43ecbf:	8b 40 f8             	mov    -0x8(%eax),%eax
43ecc2:	01 50 0c             	add    %edx,0xc(%eax)
43ecc5:	eb 3f                	jmp    0x43ed06
43ecc7:	8b 55 ec             	mov    -0x14(%ebp),%edx
43ecca:	2b d0                	sub    %eax,%edx
43eccc:	8b 45 08             	mov    0x8(%ebp),%eax
43eccf:	8b 40 f8             	mov    -0x8(%eax),%eax
43ecd2:	29 10                	sub    %edx,(%eax)
43ecd4:	eb 30                	jmp    0x43ed06
43ecd6:	8b 55 ec             	mov    -0x14(%ebp),%edx
43ecd9:	2b d0                	sub    %eax,%edx
43ecdb:	8b 45 08             	mov    0x8(%ebp),%eax
43ecde:	8b 40 f8             	mov    -0x8(%eax),%eax
43ece1:	01 50 08             	add    %edx,0x8(%eax)
43ece4:	eb 20                	jmp    0x43ed06
43ece6:	8b 55 ec             	mov    -0x14(%ebp),%edx
43ece9:	2b d0                	sub    %eax,%edx
43eceb:	8b 45 08             	mov    0x8(%ebp),%eax
43ecee:	8b 40 f8             	mov    -0x8(%eax),%eax
43ecf1:	01 50 08             	add    %edx,0x8(%eax)
43ecf4:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ecf7:	8b 55 e8             	mov    -0x18(%ebp),%edx
43ecfa:	2b 50 4c             	sub    0x4c(%eax),%edx
43ecfd:	8b 45 08             	mov    0x8(%ebp),%eax
43ed00:	8b 40 f8             	mov    -0x8(%eax),%eax
43ed03:	01 50 0c             	add    %edx,0xc(%eax)
43ed06:	5f                   	pop    %edi
43ed07:	5e                   	pop    %esi
43ed08:	5b                   	pop    %ebx
43ed09:	8b e5                	mov    %ebp,%esp
43ed0b:	5d                   	pop    %ebp
43ed0c:	c3                   	ret
43ed0d:	8d 40 00             	lea    0x0(%eax),%eax
43ed10:	55                   	push   %ebp
43ed11:	8b ec                	mov    %esp,%ebp
43ed13:	83 c4 e8             	add    $0xffffffe8,%esp
43ed16:	53                   	push   %ebx
43ed17:	56                   	push   %esi
43ed18:	57                   	push   %edi
43ed19:	8b d8                	mov    %eax,%ebx
43ed1b:	8b 45 08             	mov    0x8(%ebp),%eax
43ed1e:	8b 40 f4             	mov    -0xc(%eax),%eax
43ed21:	8b 10                	mov    (%eax),%edx
43ed23:	ff 52 08             	call   *0x8(%edx)
43ed26:	8b 45 08             	mov    0x8(%ebp),%eax
43ed29:	83 78 f0 00          	cmpl   $0x0,-0x10(%eax)
43ed2d:	74 44                	je     0x43ed73
43ed2f:	84 db                	test   %bl,%bl
43ed31:	74 24                	je     0x43ed57
43ed33:	8b 45 08             	mov    0x8(%ebp),%eax
43ed36:	8b 40 f0             	mov    -0x10(%eax),%eax
43ed39:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
43ed3d:	75 18                	jne    0x43ed57
43ed3f:	8b 45 08             	mov    0x8(%ebp),%eax
43ed42:	8b 40 f0             	mov    -0x10(%eax),%eax
43ed45:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
43ed49:	74 28                	je     0x43ed73
43ed4b:	8b 45 08             	mov    0x8(%ebp),%eax
43ed4e:	8b 40 f0             	mov    -0x10(%eax),%eax
43ed51:	f6 40 51 04          	testb  $0x4,0x51(%eax)
43ed55:	75 1c                	jne    0x43ed73
43ed57:	8b 45 08             	mov    0x8(%ebp),%eax
43ed5a:	8b 40 f0             	mov    -0x10(%eax),%eax
43ed5d:	3a 58 5b             	cmp    0x5b(%eax),%bl
43ed60:	75 11                	jne    0x43ed73
43ed62:	8b 45 08             	mov    0x8(%ebp),%eax
43ed65:	8b 50 f0             	mov    -0x10(%eax),%edx
43ed68:	8b 45 08             	mov    0x8(%ebp),%eax
43ed6b:	8b 40 f4             	mov    -0xc(%eax),%eax