43e8d3:	e8 ec 7c 01 00       	call   0x4565c4
43e8d8:	e8 07 59 fc ff       	call   0x4041e4
43e8dd:	5f                   	pop    %edi
43e8de:	5e                   	pop    %esi
43e8df:	5b                   	pop    %ebx
43e8e0:	59                   	pop    %ecx
43e8e1:	5d                   	pop    %ebp
43e8e2:	c3                   	ret
43e8e3:	90                   	nop
43e8e4:	55                   	push   %ebp
43e8e5:	8b ec                	mov    %esp,%ebp
43e8e7:	83 c4 e4             	add    $0xffffffe4,%esp
43e8ea:	53                   	push   %ebx
43e8eb:	8b d8                	mov    %eax,%ebx
43e8ed:	8d 4d f4             	lea    -0xc(%ebp),%ecx
43e8f0:	8b 45 08             	mov    0x8(%ebp),%eax
43e8f3:	8b 50 fc             	mov    -0x4(%eax),%edx
43e8f6:	8b 52 04             	mov    0x4(%edx),%edx
43e8f9:	2b 53 44             	sub    0x44(%ebx),%edx
43e8fc:	8b 45 08             	mov    0x8(%ebp),%eax
43e8ff:	8b 40 fc             	mov    -0x4(%eax),%eax
43e902:	8b 00                	mov    (%eax),%eax
43e904:	2b 43 40             	sub    0x40(%ebx),%eax
43e907:	e8 e4 7d fd ff       	call   0x4166f0
43e90c:	8b 45 08             	mov    0x8(%ebp),%eax
43e90f:	8b 55 f4             	mov    -0xc(%ebp),%edx
43e912:	89 50 f4             	mov    %edx,-0xc(%eax)
43e915:	8b 55 f8             	mov    -0x8(%ebp),%edx
43e918:	89 50 f8             	mov    %edx,-0x8(%eax)
43e91b:	8b 45 08             	mov    0x8(%ebp),%eax
43e91e:	ff 70 f8             	push   -0x8(%eax)
43e921:	ff 70 f4             	push   -0xc(%eax)
43e924:	8d 55 e4             	lea    -0x1c(%ebp),%edx
43e927:	8b c3                	mov    %ebx,%eax
43e929:	8b 08                	mov    (%eax),%ecx
43e92b:	ff 51 44             	call   *0x44(%ecx)
43e92e:	8d 45 e4             	lea    -0x1c(%ebp),%eax
43e931:	50                   	push   %eax
43e932:	e8 c1 87 fc ff       	call   0x4070f8
43e937:	85 c0                	test   %eax,%eax
43e939:	74 63                	je     0x43e99e
43e93b:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
43e93f:	74 10                	je     0x43e951
43e941:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
43e945:	75 06                	jne    0x43e94d
43e947:	f6 43 51 04          	testb  $0x4,0x51(%ebx)
43e94b:	75 04                	jne    0x43e951
43e94d:	b0 01                	mov    $0x1,%al
43e94f:	eb 4f                	jmp    0x43e9a0
43e951:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
43e955:	74 43                	je     0x43e99a
43e957:	8b c3                	mov    %ebx,%eax
43e959:	8b 10                	mov    (%eax),%edx
43e95b:	ff 52 50             	call   *0x50(%edx)
43e95e:	84 c0                	test   %al,%al
43e960:	75 09                	jne    0x43e96b
43e962:	8b 45 08             	mov    0x8(%ebp),%eax
43e965:	80 78 f3 00          	cmpb   $0x0,-0xd(%eax)
43e969:	74 2f                	je     0x43e99a
43e96b:	8b 45 08             	mov    0x8(%ebp),%eax
43e96e:	0f b7 40 f4          	movzwl -0xc(%eax),%eax
43e972:	66 89 45 fc          	mov    %ax,-0x4(%ebp)
43e976:	8b 45 08             	mov    0x8(%ebp),%eax
43e979:	0f b7 40 f8          	movzwl -0x8(%eax),%eax
43e97d:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
43e981:	8b 45 fc             	mov    -0x4(%ebp),%eax
43e984:	50                   	push   %eax
43e985:	33 c9                	xor    %ecx,%ecx
43e987:	ba 0a b0 00 00       	mov    $0xb00a,%edx
43e98c:	8b c3                	mov    %ebx,%eax
43e98e:	e8 89 c7 ff ff       	call   0x43b11c
43e993:	85 c0                	test   %eax,%eax
43e995:	0f 95 c0             	setne  %al
43e998:	eb 06                	jmp    0x43e9a0
43e99a:	33 c0                	xor    %eax,%eax
43e99c:	eb 02                	jmp    0x43e9a0
43e99e:	33 c0                	xor    %eax,%eax
43e9a0:	84 c0                	test   %al,%al
43e9a2:	74 06                	je     0x43e9aa
43e9a4:	8b 55 08             	mov    0x8(%ebp),%edx
43e9a7:	89 5a ec             	mov    %ebx,-0x14(%edx)
43e9aa:	5b                   	pop    %ebx
43e9ab:	8b e5                	mov    %ebp,%esp
43e9ad:	5d                   	pop    %ebp
43e9ae:	c3                   	ret
43e9af:	90                   	nop
43e9b0:	55                   	push   %ebp
43e9b1:	8b ec                	mov    %esp,%ebp
43e9b3:	83 c4 ec             	add    $0xffffffec,%esp
43e9b6:	53                   	push   %ebx
43e9b7:	56                   	push   %esi
43e9b8:	57                   	push   %edi
43e9b9:	88 4d f3             	mov    %cl,-0xd(%ebp)
43e9bc:	89 55 fc             	mov    %edx,-0x4(%ebp)
43e9bf:	8b f0                	mov    %eax,%esi
43e9c1:	8b 5d 08             	mov    0x8(%ebp),%ebx
43e9c4:	33 c0                	xor    %eax,%eax
43e9c6:	89 45 ec             	mov    %eax,-0x14(%ebp)
43e9c9:	80 7d 0c 00          	cmpb   $0x0,0xc(%ebp)
43e9cd:	74 60                	je     0x43ea2f
43e9cf:	83 be d0 01 00 00 00 	cmpl   $0x0,0x1d0(%esi)
43e9d6:	74 57                	je     0x43ea2f
43e9d8:	8b 86 d0 01 00 00    	mov    0x1d0(%esi),%eax
43e9de:	8b 78 08             	mov    0x8(%eax),%edi
43e9e1:	4f                   	dec    %edi
43e9e2:	83 ff 00             	cmp    $0x0,%edi
43e9e5:	7c 48                	jl     0x43ea2f
43e9e7:	84 db                	test   %bl,%bl
43e9e9:	74 20                	je     0x43ea0b
43e9eb:	6a 01                	push   $0x1
43e9ed:	6a 01                	push   $0x1
43e9ef:	8b d7                	mov    %edi,%edx
43e9f1:	8b 86 d0 01 00 00    	mov    0x1d0(%esi),%eax
43e9f7:	e8 74 91 fd ff       	call   0x417b70
43e9fc:	8b 55 fc             	mov    -0x4(%ebp),%edx
43e9ff:	0f b6 4d f3          	movzbl -0xd(%ebp),%ecx
43ea03:	e8 a8 ff ff ff       	call   0x43e9b0
43ea08:	89 45 ec             	mov    %eax,-0x14(%ebp)
43ea0b:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
43ea0f:	75 18                	jne    0x43ea29
43ea11:	55                   	push   %ebp
43ea12:	8b d7                	mov    %edi,%edx
43ea14:	8b 86 d0 01 00 00    	mov    0x1d0(%esi),%eax
43ea1a:	e8 51 91 fd ff       	call   0x417b70
43ea1f:	e8 c0 fe ff ff       	call   0x43e8e4
43ea24:	59                   	pop    %ecx
43ea25:	84 c0                	test   %al,%al
43ea27:	75 06                	jne    0x43ea2f
43ea29:	4f                   	dec    %edi
43ea2a:	83 ff ff             	cmp    $0xffffffff,%edi
43ea2d:	75 b8                	jne    0x43e9e7
43ea2f:	8b 86 cc 01 00 00    	mov    0x1cc(%esi),%eax
43ea35:	85 c0                	test   %eax,%eax
43ea37:	74 2d                	je     0x43ea66
43ea39:	83 7d ec 00          	cmpl   $0x0,-0x14(%ebp)
43ea3d:	75 27                	jne    0x43ea66
43ea3f:	8b 78 08             	mov    0x8(%eax),%edi
43ea42:	4f                   	dec    %edi
43ea43:	83 ff 00             	cmp    $0x0,%edi
43ea46:	7c 1e                	jl     0x43ea66
43ea48:	55                   	push   %ebp
43ea49:	8b d7                	mov    %edi,%edx
43ea4b:	8b 86 cc 01 00 00    	mov    0x1cc(%esi),%eax
43ea51:	e8 1a 91 fd ff       	call   0x417b70
43ea56:	e8 89 fe ff ff       	call   0x43e8e4
43ea5b:	59                   	pop    %ecx
43ea5c:	84 c0                	test   %al,%al
43ea5e:	75 06                	jne    0x43ea66
43ea60:	4f                   	dec    %edi
43ea61:	83 ff ff             	cmp    $0xffffffff,%edi
43ea64:	75 e2                	jne    0x43ea48
43ea66:	8b 45 ec             	mov    -0x14(%ebp),%eax
43ea69:	5f                   	pop    %edi
43ea6a:	5e                   	pop    %esi
43ea6b:	5b                   	pop    %ebx
43ea6c:	8b e5                	mov    %ebp,%esp
43ea6e:	5d                   	pop    %ebp
43ea6f:	c2 08 00             	ret    $0x8
43ea72:	8b c0                	mov    %eax,%eax
43ea74:	53                   	push   %ebx
43ea75:	56                   	push   %esi
43ea76:	57                   	push   %edi
43ea77:	81 c4 d8 fe ff ff    	add    $0xfffffed8,%esp
43ea7d:	8b d9                	mov    %ecx,%ebx
43ea7f:	8b fa                	mov    %edx,%edi
43ea81:	8b f0                	mov    %eax,%esi
43ea83:	e8 c8 84 fc ff       	call   0x406f50
43ea88:	e8 63 7d fc ff       	call   0x4067f0
43ea8d:	89 44 24 08          	mov    %eax,0x8(%esp)
43ea91:	0f bf 44 24 08       	movswl 0x8(%esp),%eax
43ea96:	89 44 24 0c          	mov    %eax,0xc(%esp)
43ea9a:	0f bf 44 24 0a       	movswl 0xa(%esp),%eax
43ea9f:	89 44 24 10          	mov    %eax,0x10(%esp)
43eaa3:	8b cc                	mov    %esp,%ecx
43eaa5:	8d 54 24 0c          	lea    0xc(%esp),%edx
43eaa9:	8b c6                	mov    %esi,%eax
43eaab:	e8 2c af ff ff       	call   0x4399dc
43eab0:	85 db                	test   %ebx,%ebx
43eab2:	75 13                	jne    0x43eac7
43eab4:	6a 00                	push   $0x0
43eab6:	6a 00                	push   $0x0
43eab8:	8d 54 24 08          	lea    0x8(%esp),%edx
43eabc:	33 c9                	xor    %ecx,%ecx
43eabe:	8b c6                	mov    %esi,%eax
43eac0:	e8 eb fe ff ff       	call   0x43e9b0
43eac5:	8b d8                	mov    %eax,%ebx
43eac7:	85 db                	test   %ebx,%ebx
43eac9:	0f 84 e3 00 00 00    	je     0x43ebb2
43eacf:	3b f3                	cmp    %ebx,%esi
43ead1:	74 1d                	je     0x43eaf0
43ead3:	8b 04 24             	mov    (%esp),%eax
43ead6:	2b 43 40             	sub    0x40(%ebx),%eax
43ead9:	89 84 24 14 01 00 00 	mov    %eax,0x114(%esp)
43eae0:	8b 44 24 04          	mov    0x4(%esp),%eax
43eae4:	2b 43 44             	sub    0x44(%ebx),%eax
43eae7:	89 84 24 18 01 00 00 	mov    %eax,0x118(%esp)
43eaee:	eb 15                	jmp    0x43eb05
43eaf0:	8b 04 24             	mov    (%esp),%eax
43eaf3:	89 84 24 14 01 00 00 	mov    %eax,0x114(%esp)
43eafa:	8b 44 24 04          	mov    0x4(%esp),%eax
43eafe:	89 84 24 18 01 00 00 	mov    %eax,0x118(%esp)
43eb05:	0f b7 47 08          	movzwl 0x8(%edi),%eax
43eb09:	89 84 24 1c 01 00 00 	mov    %eax,0x11c(%esp)
43eb10:	8b 47 04             	mov    0x4(%edi),%eax
43eb13:	89 84 24 24 01 00 00 	mov    %eax,0x124(%esp)
43eb1a:	0f b7 47 0a          	movzwl 0xa(%edi),%eax
43eb1e:	3d 01 02 00 00       	cmp    $0x201,%eax
43eb23:	7d 18                	jge    0x43eb3d
43eb25:	05 5f ff ff ff       	add    $0xffffff5f,%eax
43eb2a:	83 e8 02             	sub    $0x2,%eax
43eb2d:	72 26                	jb     0x43eb55
43eb2f:	48                   	dec    %eax
43eb30:	83 e8 02             	sub    $0x2,%eax
43eb33:	72 34                	jb     0x43eb69
43eb35:	48                   	dec    %eax
43eb36:	83 e8 02             	sub    $0x2,%eax
43eb39:	72 24                	jb     0x43eb5f
43eb3b:	eb 36                	jmp    0x43eb73
43eb3d:	05 ff fd ff ff       	add    $0xfffffdff,%eax
43eb42:	83 e8 02             	sub    $0x2,%eax
43eb45:	72 0e                	jb     0x43eb55
43eb47:	48                   	dec    %eax
43eb48:	83 e8 02             	sub    $0x2,%eax
43eb4b:	72 1c                	jb     0x43eb69
43eb4d:	48                   	dec    %eax
43eb4e:	83 e8 02             	sub    $0x2,%eax
43eb51:	72 0c                	jb     0x43eb5f
43eb53:	eb 1e                	jmp    0x43eb73
43eb55:	c6 84 24 20 01 00 00 	movb   $0x0,0x120(%esp)
43eb5c:	00
43eb5d:	eb 1c                	jmp    0x43eb7b
43eb5f:	c6 84 24 20 01 00 00 	movb   $0x2,0x120(%esp)
43eb66:	02
43eb67:	eb 12                	jmp    0x43eb7b
43eb69:	c6 84 24 20 01 00 00 	movb   $0x1,0x120(%esp)
43eb70:	01
43eb71:	eb 08                	jmp    0x43eb7b
43eb73:	c6 84 24 20 01 00 00 	movb   $0x0,0x120(%esp)
43eb7a:	00
43eb7b:	8d 44 24 14          	lea    0x14(%esp),%eax
43eb7f:	50                   	push   %eax
43eb80:	e8 8b 83 fc ff       	call   0x406f10
43eb85:	8d 44 24 14          	lea    0x14(%esp),%eax
43eb89:	e8 b2 d6 00 00       	call   0x44c240
43eb8e:	88 84 24 21 01 00 00 	mov    %al,0x121(%esp)
43eb95:	8d 84 24 14 01 00 00 	lea    0x114(%esp),%eax
43eb9c:	50                   	push   %eax
43eb9d:	33 c9                	xor    %ecx,%ecx
43eb9f:	ba 4b b0 00 00       	mov    $0xb04b,%edx
43eba4:	8b c3                	mov    %ebx,%eax
43eba6:	e8 71 c5 ff ff       	call   0x43b11c
43ebab:	89 47 0c             	mov    %eax,0xc(%edi)
43ebae:	b0 01                	mov    $0x1,%al
43ebb0:	eb 02                	jmp    0x43ebb4
43ebb2:	33 c0                	xor    %eax,%eax
43ebb4:	81 c4 28 01 00 00    	add    $0x128,%esp
43ebba:	5f                   	pop    %edi
43ebbb:	5e                   	pop    %esi
43ebbc:	5b                   	pop    %ebx
43ebbd:	c3                   	ret
43ebbe:	8b c0                	mov    %eax,%eax
43ebc0:	53                   	push   %ebx
43ebc1:	56                   	push   %esi
43ebc2:	57                   	push   %edi
43ebc3:	83 c4 e8             	add    $0xffffffe8,%esp
43ebc6:	8b f2                	mov    %edx,%esi
43ebc8:	8b d8                	mov    %eax,%ebx
43ebca:	8b c3                	mov    %ebx,%eax
43ebcc:	e8 df 2c 00 00       	call   0x4418b0
43ebd1:	8b f8                	mov    %eax,%edi
43ebd3:	e8 a8 82 fc ff       	call   0x406e80
43ebd8:	3b f8                	cmp    %eax,%edi
43ebda:	75 1f                	jne    0x43ebfb
43ebdc:	83 3d 1c 15 46 00 00 	cmpl   $0x0,0x46151c
43ebe3:	74 12                	je     0x43ebf7
43ebe5:	a1 1c 15 46 00       	mov    0x46151c,%eax
43ebea:	3b 58 30             	cmp    0x30(%eax),%ebx
43ebed:	75 08                	jne    0x43ebf7
43ebef:	8b 1d 1c 15 46 00    	mov    0x46151c,%ebx
43ebf5:	eb 30                	jmp    0x43ec27
43ebf7:	33 db                	xor    %ebx,%ebx
43ebf9:	eb 2c                	jmp    0x43ec27
43ebfb:	8b 46 08             	mov    0x8(%esi),%eax
43ebfe:	89 44 24 08          	mov    %eax,0x8(%esp)
43ec02:	0f bf 44 24 08       	movswl 0x8(%esp),%eax
43ec07:	89 44 24 0c          	mov    %eax,0xc(%esp)
43ec0b:	0f bf 44 24 0a       	movswl 0xa(%esp),%eax
43ec10:	89 44 24 10          	mov    %eax,0x10(%esp)
43ec14:	6a 00                	push   $0x0
43ec16:	6a 00                	push   $0x0
43ec18:	8d 54 24 14          	lea    0x14(%esp),%edx
43ec1c:	33 c9                	xor    %ecx,%ecx
43ec1e:	8b c3                	mov    %ebx,%eax
43ec20:	e8 8b fd ff ff       	call   0x43e9b0
43ec25:	8b d8                	mov    %eax,%ebx
43ec27:	33 c0                	xor    %eax,%eax
43ec29:	85 db                	test   %ebx,%ebx
43ec2b:	74 3e                	je     0x43ec6b
43ec2d:	0f bf 46 08          	movswl 0x8(%esi),%eax
43ec31:	2b 43 40             	sub    0x40(%ebx),%eax
43ec34:	89 04 24             	mov    %eax,(%esp)
43ec37:	0f bf 46 0a          	movswl 0xa(%esi),%eax
43ec3b:	2b 43 44             	sub    0x44(%ebx),%eax
43ec3e:	89 44 24 04          	mov    %eax,0x4(%esp)
43ec42:	0f b7 04 24          	movzwl (%esp),%eax
43ec46:	66 89 44 24 14       	mov    %ax,0x14(%esp)
43ec4b:	0f b7 44 24 04       	movzwl 0x4(%esp),%eax
43ec50:	66 89 44 24 16       	mov    %ax,0x16(%esp)
43ec55:	8b 44 24 14          	mov    0x14(%esp),%eax
43ec59:	50                   	push   %eax
43ec5a:	8b 4e 04             	mov    0x4(%esi),%ecx
43ec5d:	8b 16                	mov    (%esi),%edx
43ec5f:	8b c3                	mov    %ebx,%eax
43ec61:	e8 b6 c4 ff ff       	call   0x43b11c
43ec66:	89 46 0c             	mov    %eax,0xc(%esi)
43ec69:	b0 01                	mov    $0x1,%al
43ec6b:	83 c4 18             	add    $0x18,%esp
43ec6e:	5f                   	pop    %edi
43ec6f:	5e                   	pop    %esi
43ec70:	5b                   	pop    %ebx
43ec71:	c3                   	ret
43ec72:	8b c0                	mov    %eax,%eax
43ec74:	55                   	push   %ebp
43ec75:	8b ec                	mov    %esp,%ebp
43ec77:	83 c4 cc             	add    $0xffffffcc,%esp
43ec7a:	53                   	push   %ebx
43ec7b:	89 55 f8             	mov    %edx,-0x8(%ebp)
43ec7e:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ec81:	8b 45 f8             	mov    -0x8(%ebp),%eax
43ec84:	8b 00                	mov    (%eax),%eax
43ec86:	8b d0                	mov    %eax,%edx
43ec88:	81 fa 00 01 00 00    	cmp    $0x100,%edx
43ec8e:	7d 37                	jge    0x43ecc7
43ec90:	83 fa 1f             	cmp    $0x1f,%edx
43ec93:	7f 1b                	jg     0x43ecb0
43ec95:	0f 84 a7 03 00 00    	je     0x43f042
43ec9b:	83 ea 07             	sub    $0x7,%edx
43ec9e:	0f 84 a5 00 00 00    	je     0x43ed49
43eca4:	4a                   	dec    %edx
43eca5:	0f 84 dc 00 00 00    	je     0x43ed87
43ecab:	e9 2a 04 00 00       	jmp    0x43f0da
43ecb0:	83 ea 21             	sub    $0x21,%edx
43ecb3:	0f 84 32 03 00 00    	je     0x43efeb
43ecb9:	83 ea 63             	sub    $0x63,%edx
43ecbc:	0f 84 d7 00 00 00    	je     0x43ed99
43ecc2:	e9 13 04 00 00       	jmp    0x43f0da
43ecc7:	81 fa a3 02 00 00    	cmp    $0x2a3,%edx
43eccd:	7f 29                	jg     0x43ecf8
43eccf:	0f 84 29 01 00 00    	je     0x43edfe
43ecd5:	81 c2 00 ff ff ff    	add    $0xffffff00,%edx