43fb44:	8b f0                	mov    %eax,%esi
43fb46:	8b c6                	mov    %esi,%eax
43fb48:	e8 e3 ff ff ff       	call   0x43fb30
43fb4d:	3a d8                	cmp    %al,%bl
43fb4f:	74 14                	je     0x43fb65
43fb51:	84 db                	test   %bl,%bl
43fb53:	74 09                	je     0x43fb5e
43fb55:	8b c6                	mov    %esi,%eax
43fb57:	e8 7c cf ff ff       	call   0x43cad8
43fb5c:	eb 07                	jmp    0x43fb65
43fb5e:	33 c0                	xor    %eax,%eax
43fb60:	e8 73 cf ff ff       	call   0x43cad8
43fb65:	5e                   	pop    %esi
43fb66:	5b                   	pop    %ebx
43fb67:	c3                   	ret
43fb68:	56                   	push   %esi
43fb69:	b2 01                	mov    $0x1,%dl
43fb6b:	66 be ce ff          	mov    $0xffce,%si
43fb6f:	e8 d0 38 fc ff       	call   0x403444
43fb74:	5e                   	pop    %esi
43fb75:	c3                   	ret
43fb76:	8b c0                	mov    %eax,%eax
43fb78:	53                   	push   %ebx
43fb79:	56                   	push   %esi
43fb7a:	57                   	push   %edi
43fb7b:	8b f2                	mov    %edx,%esi
43fb7d:	8b d8                	mov    %eax,%ebx
43fb7f:	8b 43 30             	mov    0x30(%ebx),%eax
43fb82:	85 c0                	test   %eax,%eax
43fb84:	74 6c                	je     0x43fbf2
43fb86:	8b 80 98 01 00 00    	mov    0x198(%eax),%eax
43fb8c:	8b d3                	mov    %ebx,%edx
43fb8e:	e8 45 42 fd ff       	call   0x413dd8
43fb93:	85 c0                	test   %eax,%eax
43fb95:	7c 5b                	jl     0x43fbf2
43fb97:	8b 53 30             	mov    0x30(%ebx),%edx
43fb9a:	8b ba 98 01 00 00    	mov    0x198(%edx),%edi
43fba0:	8b 57 08             	mov    0x8(%edi),%edx
43fba3:	85 f6                	test   %esi,%esi
43fba5:	7d 02                	jge    0x43fba9
43fba7:	33 f6                	xor    %esi,%esi
43fba9:	3b d6                	cmp    %esi,%edx
43fbab:	7f 03                	jg     0x43fbb0
43fbad:	8b f2                	mov    %edx,%esi
43fbaf:	4e                   	dec    %esi
43fbb0:	3b c6                	cmp    %esi,%eax
43fbb2:	74 3e                	je     0x43fbf2
43fbb4:	8b d7                	mov    %edi,%edx
43fbb6:	92                   	xchg   %eax,%edx
43fbb7:	e8 b0 40 fd ff       	call   0x413c6c
43fbbc:	8b 43 30             	mov    0x30(%ebx),%eax
43fbbf:	8b 80 98 01 00 00    	mov    0x198(%eax),%eax
43fbc5:	8b cb                	mov    %ebx,%ecx
43fbc7:	8b d6                	mov    %esi,%edx
43fbc9:	e8 2a 42 fd ff       	call   0x413df8
43fbce:	b1 01                	mov    $0x1,%cl
43fbd0:	8a 53 57             	mov    0x57(%ebx),%dl
43fbd3:	8b c3                	mov    %ebx,%eax
43fbd5:	e8 76 01 00 00       	call   0x43fd50
43fbda:	8b c3                	mov    %ebx,%eax
43fbdc:	e8 fb 6c 01 00       	call   0x4568dc
43fbe1:	f6 40 54 04          	testb  $0x4,0x54(%eax)
43fbe5:	74 0b                	je     0x43fbf2
43fbe7:	b2 01                	mov    $0x1,%dl
43fbe9:	66 be d1 ff          	mov    $0xffd1,%si
43fbed:	e8 52 38 fc ff       	call   0x403444
43fbf2:	5f                   	pop    %edi
43fbf3:	5e                   	pop    %esi
43fbf4:	5b                   	pop    %ebx
43fbf5:	c3                   	ret
43fbf6:	8b c0                	mov    %eax,%eax
43fbf8:	8b 48 30             	mov    0x30(%eax),%ecx
43fbfb:	85 c9                	test   %ecx,%ecx
43fbfd:	74 1c                	je     0x43fc1b
43fbff:	84 d2                	test   %dl,%dl
43fc01:	74 11                	je     0x43fc14
43fc03:	8b 91 98 01 00 00    	mov    0x198(%ecx),%edx
43fc09:	8b 52 08             	mov    0x8(%edx),%edx
43fc0c:	4a                   	dec    %edx
43fc0d:	e8 66 ff ff ff       	call   0x43fb78
43fc12:	eb 07                	jmp    0x43fc1b
43fc14:	33 d2                	xor    %edx,%edx
43fc16:	e8 5d ff ff ff       	call   0x43fb78
43fc1b:	c3                   	ret
43fc1c:	55                   	push   %ebp
43fc1d:	8b ec                	mov    %esp,%ebp
43fc1f:	83 c4 f4             	add    $0xfffffff4,%esp
43fc22:	53                   	push   %ebx
43fc23:	56                   	push   %esi
43fc24:	33 c9                	xor    %ecx,%ecx
43fc26:	89 4d f4             	mov    %ecx,-0xc(%ebp)
43fc29:	8b d8                	mov    %eax,%ebx
43fc2b:	33 c0                	xor    %eax,%eax
43fc2d:	55                   	push   %ebp
43fc2e:	68 b2 fc 43 00       	push   $0x43fcb2
43fc33:	64 ff 30             	push   %fs:(%eax)
43fc36:	64 89 20             	mov    %esp,%fs:(%eax)
43fc39:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
43fc3d:	75 31                	jne    0x43fc70
43fc3f:	8b 43 08             	mov    0x8(%ebx),%eax
43fc42:	89 45 f8             	mov    %eax,-0x8(%ebp)
43fc45:	c6 45 fc 0b          	movb   $0xb,-0x4(%ebp)
43fc49:	8d 45 f8             	lea    -0x8(%ebp),%eax
43fc4c:	50                   	push   %eax
43fc4d:	6a 00                	push   $0x0
43fc4f:	8d 55 f4             	lea    -0xc(%ebp),%edx
43fc52:	a1 dc dc 46 00       	mov    0x46dcdc,%eax
43fc57:	e8 a0 5e fc ff       	call   0x405afc
43fc5c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43fc5f:	b2 01                	mov    $0x1,%dl
43fc61:	a1 28 18 41 00       	mov    0x411828,%eax
43fc66:	e8 39 b9 fc ff       	call   0x40b5a4
43fc6b:	e8 64 3d fc ff       	call   0x4039d4
43fc70:	8b 43 30             	mov    0x30(%ebx),%eax
43fc73:	8b 08                	mov    (%eax),%ecx
43fc75:	ff 51 48             	call   *0x48(%ecx)
43fc78:	8b f0                	mov    %eax,%esi
43fc7a:	6a 00                	push   $0x0
43fc7c:	8b 43 44             	mov    0x44(%ebx),%eax
43fc7f:	50                   	push   %eax
43fc80:	8b 43 40             	mov    0x40(%ebx),%eax
43fc83:	50                   	push   %eax
43fc84:	56                   	push   %esi
43fc85:	e8 52 67 fc ff       	call   0x4063dc
43fc8a:	8b 43 4c             	mov    0x4c(%ebx),%eax
43fc8d:	50                   	push   %eax
43fc8e:	8b 43 48             	mov    0x48(%ebx),%eax
43fc91:	50                   	push   %eax
43fc92:	6a 00                	push   $0x0
43fc94:	6a 00                	push   $0x0
43fc96:	56                   	push   %esi
43fc97:	e8 78 66 fc ff       	call   0x406314
43fc9c:	33 c0                	xor    %eax,%eax
43fc9e:	5a                   	pop    %edx
43fc9f:	59                   	pop    %ecx
43fca0:	59                   	pop    %ecx
43fca1:	64 89 10             	mov    %edx,%fs:(%eax)
43fca4:	68 b9 fc 43 00       	push   $0x43fcb9
43fca9:	8d 45 f4             	lea    -0xc(%ebp),%eax
43fcac:	e8 e7 42 fc ff       	call   0x403f98
43fcb1:	c3                   	ret
43fcb2:	e9 e5 3c fc ff       	jmp    0x40399c
43fcb7:	eb f0                	jmp    0x43fca9
43fcb9:	8b c6                	mov    %esi,%eax
43fcbb:	5e                   	pop    %esi
43fcbc:	5b                   	pop    %ebx
43fcbd:	8b e5                	mov    %ebp,%esp
43fcbf:	5d                   	pop    %ebp
43fcc0:	c3                   	ret
43fcc1:	8d 40 00             	lea    0x0(%eax),%eax
43fcc4:	55                   	push   %ebp
43fcc5:	8b ec                	mov    %esp,%ebp
43fcc7:	83 c4 dc             	add    $0xffffffdc,%esp
43fcca:	53                   	push   %ebx
43fccb:	56                   	push   %esi
43fccc:	57                   	push   %edi
43fccd:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
43fcd1:	8b 45 08             	mov    0x8(%ebp),%eax
43fcd4:	8b 40 fc             	mov    -0x4(%eax),%eax
43fcd7:	8b 40 30             	mov    0x30(%eax),%eax
43fcda:	8b b8 98 01 00 00    	mov    0x198(%eax),%edi
43fce0:	8b 45 08             	mov    0x8(%ebp),%eax
43fce3:	8b 50 fc             	mov    -0x4(%eax),%edx
43fce6:	8b c7                	mov    %edi,%eax
43fce8:	e8 eb 40 fd ff       	call   0x413dd8
43fced:	8b f0                	mov    %eax,%esi
43fcef:	85 f6                	test   %esi,%esi
43fcf1:	7e 4e                	jle    0x43fd41
43fcf3:	4e                   	dec    %esi
43fcf4:	8b d6                	mov    %esi,%edx
43fcf6:	8b c7                	mov    %edi,%eax
43fcf8:	e8 7f 40 fd ff       	call   0x413d7c
43fcfd:	8b d8                	mov    %eax,%ebx
43fcff:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
43fd03:	74 38                	je     0x43fd3d
43fd05:	f6 43 50 40          	testb  $0x40,0x50(%ebx)
43fd09:	74 32                	je     0x43fd3d
43fd0b:	8d 55 dc             	lea    -0x24(%ebp),%edx
43fd0e:	8b c3                	mov    %ebx,%eax
43fd10:	e8 93 f5 ff ff       	call   0x43f2a8
43fd15:	8d 45 dc             	lea    -0x24(%ebp),%eax
43fd18:	50                   	push   %eax
43fd19:	8b 45 08             	mov    0x8(%ebp),%eax
43fd1c:	83 c0 ec             	add    $0xffffffec,%eax
43fd1f:	50                   	push   %eax
43fd20:	8d 45 ef             	lea    -0x11(%ebp),%eax
43fd23:	50                   	push   %eax
43fd24:	e8 cb 69 fc ff       	call   0x4066f4
43fd29:	8b 45 08             	mov    0x8(%ebp),%eax
43fd2c:	83 c0 ec             	add    $0xffffffec,%eax
43fd2f:	50                   	push   %eax
43fd30:	8d 45 ef             	lea    -0x11(%ebp),%eax
43fd33:	50                   	push   %eax
43fd34:	e8 03 68 fc ff       	call   0x40653c
43fd39:	85 c0                	test   %eax,%eax
43fd3b:	75 08                	jne    0x43fd45
43fd3d:	85 f6                	test   %esi,%esi
43fd3f:	7f b2                	jg     0x43fcf3
43fd41:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
43fd45:	8a 45 ff             	mov    -0x1(%ebp),%al
43fd48:	5f                   	pop    %edi
43fd49:	5e                   	pop    %esi
43fd4a:	5b                   	pop    %ebx
43fd4b:	8b e5                	mov    %ebp,%esp
43fd4d:	5d                   	pop    %ebp
43fd4e:	c3                   	ret
43fd4f:	90                   	nop
43fd50:	55                   	push   %ebp
43fd51:	8b ec                	mov    %esp,%ebp
43fd53:	83 c4 e8             	add    $0xffffffe8,%esp
43fd56:	53                   	push   %ebx
43fd57:	88 4d eb             	mov    %cl,-0x15(%ebp)
43fd5a:	8b da                	mov    %edx,%ebx
43fd5c:	89 45 fc             	mov    %eax,-0x4(%ebp)
43fd5f:	84 db                	test   %bl,%bl
43fd61:	75 12                	jne    0x43fd75
43fd63:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fd66:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
43fd6a:	74 69                	je     0x43fdd5
43fd6c:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fd6f:	f6 40 51 04          	testb  $0x4,0x51(%eax)
43fd73:	75 60                	jne    0x43fdd5
43fd75:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fd78:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
43fd7c:	74 57                	je     0x43fdd5
43fd7e:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fd81:	8b 40 30             	mov    0x30(%eax),%eax
43fd84:	e8 6b 66 00 00       	call   0x4463f4
43fd89:	84 c0                	test   %al,%al
43fd8b:	74 48                	je     0x43fdd5
43fd8d:	8d 55 ec             	lea    -0x14(%ebp),%edx
43fd90:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fd93:	e8 10 f5 ff ff       	call   0x43f2a8
43fd98:	80 7d eb 00          	cmpb   $0x0,-0x15(%ebp)
43fd9c:	75 17                	jne    0x43fdb5
43fd9e:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fda1:	8b 40 30             	mov    0x30(%eax),%eax
43fda4:	f6 40 50 40          	testb  $0x40,0x50(%eax)
43fda8:	75 0b                	jne    0x43fdb5
43fdaa:	55                   	push   %ebp
43fdab:	e8 14 ff ff ff       	call   0x43fcc4
43fdb0:	59                   	pop    %ecx
43fdb1:	84 c0                	test   %al,%al
43fdb3:	74 04                	je     0x43fdb9
43fdb5:	33 c0                	xor    %eax,%eax
43fdb7:	eb 02                	jmp    0x43fdbb
43fdb9:	b0 01                	mov    $0x1,%al
43fdbb:	f6 d8                	neg    %al
43fdbd:	1b c0                	sbb    %eax,%eax
43fdbf:	50                   	push   %eax
43fdc0:	8d 45 ec             	lea    -0x14(%ebp),%eax
43fdc3:	50                   	push   %eax
43fdc4:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fdc7:	8b 40 30             	mov    0x30(%eax),%eax
43fdca:	e8 21 63 00 00       	call   0x4460f0
43fdcf:	50                   	push   %eax
43fdd0:	e8 27 69 fc ff       	call   0x4066fc
43fdd5:	5b                   	pop    %ebx
43fdd6:	8b e5                	mov    %ebp,%esp
43fdd8:	5d                   	pop    %ebp
43fdd9:	c3                   	ret
43fdda:	8b c0                	mov    %eax,%eax
43fddc:	f6 40 50 40          	testb  $0x40,0x50(%eax)
43fde0:	0f 95 c1             	setne  %cl
43fde3:	8a 50 57             	mov    0x57(%eax),%dl
43fde6:	e8 65 ff ff ff       	call   0x43fd50
43fdeb:	c3                   	ret
43fdec:	53                   	push   %ebx
43fded:	56                   	push   %esi
43fdee:	57                   	push   %edi
43fdef:	8b fa                	mov    %edx,%edi
43fdf1:	8b d8                	mov    %eax,%ebx
43fdf3:	8b c3                	mov    %ebx,%eax
43fdf5:	e8 ba 6a 01 00       	call   0x4568b4
43fdfa:	8b f0                	mov    %eax,%esi
43fdfc:	85 f6                	test   %esi,%esi
43fdfe:	74 13                	je     0x43fe13
43fe00:	3b de                	cmp    %esi,%ebx
43fe02:	74 0f                	je     0x43fe13
43fe04:	8b d7                	mov    %edi,%edx
43fe06:	8b c6                	mov    %esi,%eax
43fe08:	66 be c9 ff          	mov    $0xffc9,%si
43fe0c:	e8 33 36 fc ff       	call   0x403444
43fe11:	eb 16                	jmp    0x43fe29
43fe13:	8b 47 08             	mov    0x8(%edi),%eax
43fe16:	50                   	push   %eax
43fe17:	8b 4f 04             	mov    0x4(%edi),%ecx
43fe1a:	ba 43 b0 00 00       	mov    $0xb043,%edx
43fe1f:	8b c3                	mov    %ebx,%eax
43fe21:	e8 96 0c 00 00       	call   0x440abc
43fe26:	89 47 0c             	mov    %eax,0xc(%edi)
43fe29:	5f                   	pop    %edi
43fe2a:	5e                   	pop    %esi
43fe2b:	5b                   	pop    %ebx
43fe2c:	c3                   	ret
43fe2d:	8d 40 00             	lea    0x0(%eax),%eax
43fe30:	56                   	push   %esi
43fe31:	8b 70 30             	mov    0x30(%eax),%esi
43fe34:	85 f6                	test   %esi,%esi
43fe36:	74 0a                	je     0x43fe42
43fe38:	8b c6                	mov    %esi,%eax
43fe3a:	8b 10                	mov    (%eax),%edx
43fe3c:	ff 92 88 00 00 00    	call   *0x88(%edx)
43fe42:	5e                   	pop    %esi
43fe43:	c3                   	ret
43fe44:	8b 10                	mov    (%eax),%edx
43fe46:	ff 92 80 00 00 00    	call   *0x80(%edx)
43fe4c:	c3                   	ret
43fe4d:	8d 40 00             	lea    0x0(%eax),%eax
43fe50:	55                   	push   %ebp
43fe51:	8b ec                	mov    %esp,%ebp
43fe53:	83 c4 f8             	add    $0xfffffff8,%esp
43fe56:	53                   	push   %ebx
43fe57:	89 45 fc             	mov    %eax,-0x4(%ebp)
43fe5a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fe5d:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
43fe61:	75 1a                	jne    0x43fe7d
43fe63:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fe66:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
43fe6a:	0f 84 d3 00 00 00    	je     0x43ff43
43fe70:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fe73:	f6 40 51 04          	testb  $0x4,0x51(%eax)
43fe77:	0f 85 c6 00 00 00    	jne    0x43ff43
43fe7d:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fe80:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
43fe84:	0f 84 b9 00 00 00    	je     0x43ff43
43fe8a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fe8d:	8b 40 30             	mov    0x30(%eax),%eax
43fe90:	e8 5f 65 00 00       	call   0x4463f4
43fe95:	84 c0                	test   %al,%al
43fe97:	0f 84 a6 00 00 00    	je     0x43ff43
43fe9d:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fea0:	f6 40 50 40          	testb  $0x40,0x50(%eax)
43fea4:	0f 84 86 00 00 00    	je     0x43ff30
43feaa:	8b 45 fc             	mov    -0x4(%ebp),%eax
43fead:	8b 40 30             	mov    0x30(%eax),%eax
43feb0:	e8 3b 62 00 00       	call   0x4460f0
43feb5:	50                   	push   %eax
43feb6:	e8 e1 66 fc ff       	call   0x40659c
43febb:	89 45 f8             	mov    %eax,-0x8(%ebp)
43febe:	33 c9                	xor    %ecx,%ecx
43fec0:	55                   	push   %ebp
43fec1:	68 29 ff 43 00       	push   $0x43ff29
43fec6:	64 ff 31             	push   %fs:(%ecx)
43fec9:	64 89 21             	mov    %esp,%fs:(%ecx)
43fecc:	8b 55 fc             	mov    -0x4(%ebp),%edx
43fecf:	8b 52 44             	mov    0x44(%edx),%edx
43fed2:	8b ca                	mov    %edx,%ecx
43fed4:	8b 5d fc             	mov    -0x4(%ebp),%ebx
43fed7:	03 4b 4c             	add    0x4c(%ebx),%ecx