43a6f5:	0b d0                	or     %eax,%edx
43a6f7:	8b c1                	mov    %ecx,%eax
43a6f9:	83 e0 04             	and    $0x4,%eax
43a6fc:	f7 d8                	neg    %eax
43a6fe:	1b c0                	sbb    %eax,%eax
43a700:	83 e0 08             	and    $0x8,%eax
43a703:	0b d0                	or     %eax,%edx
43a705:	8b c1                	mov    %ecx,%eax
43a707:	83 e0 08             	and    $0x8,%eax
43a70a:	f7 d8                	neg    %eax
43a70c:	1b c0                	sbb    %eax,%eax
43a70e:	83 e0 04             	and    $0x4,%eax
43a711:	0b d0                	or     %eax,%edx
43a713:	f7 c1 10 00 00 00    	test   $0x10,%ecx
43a719:	58                   	pop    %eax
43a71a:	0f 95 c0             	setne  %al
43a71d:	83 e1 20             	and    $0x20,%ecx
43a720:	0b d0                	or     %eax,%edx
43a722:	f7 d9                	neg    %ecx
43a724:	6a 07                	push   $0x7
43a726:	1b c9                	sbb    %ecx,%ecx
43a728:	33 c0                	xor    %eax,%eax
43a72a:	83 e1 02             	and    $0x2,%ecx
43a72d:	0b d1                	or     %ecx,%edx
43a72f:	59                   	pop    %ecx
43a730:	f3 ab                	rep stos %eax,%es:(%edi)
43a732:	d9 75 e0             	fnstenv -0x20(%ebp)
43a735:	8b 45 e4             	mov    -0x1c(%ebp),%eax
43a738:	83 e2 3f             	and    $0x3f,%edx
43a73b:	83 e0 c0             	and    $0xffffffc0,%eax
43a73e:	0b c2                	or     %edx,%eax
43a740:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43a743:	d9 65 e0             	fldenv -0x20(%ebp)
43a746:	c1 ee 18             	shr    $0x18,%esi
43a749:	83 e6 3f             	and    $0x3f,%esi
43a74c:	8b ce                	mov    %esi,%ecx
43a74e:	8b c6                	mov    %esi,%eax
43a750:	83 e1 01             	and    $0x1,%ecx
43a753:	f7 d9                	neg    %ecx
43a755:	6a 00                	push   $0x0
43a757:	1b c9                	sbb    %ecx,%ecx
43a759:	83 e0 02             	and    $0x2,%eax
43a75c:	83 e1 20             	and    $0x20,%ecx
43a75f:	f7 d8                	neg    %eax
43a761:	1b c0                	sbb    %eax,%eax
43a763:	83 e0 10             	and    $0x10,%eax
43a766:	0b c8                	or     %eax,%ecx
43a768:	8b c6                	mov    %esi,%eax
43a76a:	83 e0 04             	and    $0x4,%eax
43a76d:	f7 d8                	neg    %eax
43a76f:	1b c0                	sbb    %eax,%eax
43a771:	83 e0 08             	and    $0x8,%eax
43a774:	0b c8                	or     %eax,%ecx
43a776:	8b c6                	mov    %esi,%eax
43a778:	83 e0 08             	and    $0x8,%eax
43a77b:	f7 d8                	neg    %eax
43a77d:	1b c0                	sbb    %eax,%eax
43a77f:	83 e0 04             	and    $0x4,%eax
43a782:	0b c8                	or     %eax,%ecx
43a784:	f7 c6 10 00 00 00    	test   $0x10,%esi
43a78a:	58                   	pop    %eax
43a78b:	0f 95 c0             	setne  %al
43a78e:	0b c8                	or     %eax,%ecx
43a790:	83 e6 20             	and    $0x20,%esi
43a793:	f7 de                	neg    %esi
43a795:	5f                   	pop    %edi
43a796:	1b f6                	sbb    %esi,%esi
43a798:	83 e6 02             	and    $0x2,%esi
43a79b:	0b ce                	or     %esi,%ecx
43a79d:	83 3d 44 58 45 00 01 	cmpl   $0x1,0x455844
43a7a4:	5e                   	pop    %esi
43a7a5:	7c 16                	jl     0x43a7bd
43a7a7:	0f ae 5d fc          	stmxcsr -0x4(%ebp)
43a7ab:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a7ae:	83 e1 3f             	and    $0x3f,%ecx
43a7b1:	83 e0 c0             	and    $0xffffffc0,%eax
43a7b4:	0b c1                	or     %ecx,%eax
43a7b6:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a7b9:	0f ae 55 fc          	ldmxcsr -0x4(%ebp)
43a7bd:	c9                   	leave
43a7be:	c3                   	ret
43a7bf:	8b ff                	mov    %edi,%edi
43a7c1:	55                   	push   %ebp
43a7c2:	8b ec                	mov    %esp,%ebp
43a7c4:	83 ec 24             	sub    $0x24,%esp
43a7c7:	a1 14 40 45 00       	mov    0x454014,%eax
43a7cc:	33 c5                	xor    %ebp,%eax
43a7ce:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a7d1:	8b 45 0c             	mov    0xc(%ebp),%eax
43a7d4:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a7d7:	8b 55 18             	mov    0x18(%ebp),%edx
43a7da:	89 4d dc             	mov    %ecx,-0x24(%ebp)
43a7dd:	89 45 e8             	mov    %eax,-0x18(%ebp)
43a7e0:	89 55 e4             	mov    %edx,-0x1c(%ebp)
43a7e3:	53                   	push   %ebx
43a7e4:	8b 5d 14             	mov    0x14(%ebp),%ebx
43a7e7:	89 5d e0             	mov    %ebx,-0x20(%ebp)
43a7ea:	56                   	push   %esi
43a7eb:	57                   	push   %edi
43a7ec:	8b 38                	mov    (%eax),%edi
43a7ee:	85 c9                	test   %ecx,%ecx
43a7f0:	0f 84 96 00 00 00    	je     0x43a88c
43a7f6:	8b 45 10             	mov    0x10(%ebp),%eax
43a7f9:	8b f1                	mov    %ecx,%esi
43a7fb:	89 7d f0             	mov    %edi,-0x10(%ebp)
43a7fe:	83 f8 04             	cmp    $0x4,%eax
43a801:	73 08                	jae    0x43a80b
43a803:	8d 4d f4             	lea    -0xc(%ebp),%ecx
43a806:	89 4d ec             	mov    %ecx,-0x14(%ebp)
43a809:	eb 05                	jmp    0x43a810
43a80b:	8b ce                	mov    %esi,%ecx
43a80d:	89 75 ec             	mov    %esi,-0x14(%ebp)
43a810:	0f b7 07             	movzwl (%edi),%eax
43a813:	52                   	push   %edx
43a814:	53                   	push   %ebx
43a815:	50                   	push   %eax
43a816:	51                   	push   %ecx
43a817:	e8 92 12 00 00       	call   0x43baae
43a81c:	8b d8                	mov    %eax,%ebx
43a81e:	83 c4 10             	add    $0x10,%esp
43a821:	83 fb ff             	cmp    $0xffffffff,%ebx
43a824:	74 59                	je     0x43a87f
43a826:	8b 45 ec             	mov    -0x14(%ebp),%eax
43a829:	3b c6                	cmp    %esi,%eax
43a82b:	74 10                	je     0x43a83d
43a82d:	39 5d 10             	cmp    %ebx,0x10(%ebp)
43a830:	72 48                	jb     0x43a87a
43a832:	53                   	push   %ebx
43a833:	50                   	push   %eax
43a834:	56                   	push   %esi
43a835:	e8 16 2c fe ff       	call   0x41d450
43a83a:	83 c4 0c             	add    $0xc,%esp
43a83d:	85 db                	test   %ebx,%ebx
43a83f:	74 1d                	je     0x43a85e
43a841:	8d 04 33             	lea    (%ebx,%esi,1),%eax
43a844:	8d 48 ff             	lea    -0x1(%eax),%ecx
43a847:	8b f0                	mov    %eax,%esi
43a849:	80 39 00             	cmpb   $0x0,(%ecx)
43a84c:	75 12                	jne    0x43a860
43a84e:	33 c0                	xor    %eax,%eax
43a850:	8b f1                	mov    %ecx,%esi
43a852:	8b 55 e8             	mov    -0x18(%ebp),%edx
43a855:	2b 75 dc             	sub    -0x24(%ebp),%esi
43a858:	89 02                	mov    %eax,(%edx)
43a85a:	8b c6                	mov    %esi,%eax
43a85c:	eb 61                	jmp    0x43a8bf
43a85e:	03 f3                	add    %ebx,%esi
43a860:	83 c7 02             	add    $0x2,%edi
43a863:	85 db                	test   %ebx,%ebx
43a865:	74 03                	je     0x43a86a
43a867:	89 7d f0             	mov    %edi,-0x10(%ebp)
43a86a:	8b 45 10             	mov    0x10(%ebp),%eax
43a86d:	8b 55 e4             	mov    -0x1c(%ebp),%edx
43a870:	2b c3                	sub    %ebx,%eax
43a872:	8b 5d e0             	mov    -0x20(%ebp),%ebx
43a875:	89 45 10             	mov    %eax,0x10(%ebp)
43a878:	eb 84                	jmp    0x43a7fe
43a87a:	8b 45 f0             	mov    -0x10(%ebp),%eax
43a87d:	eb d3                	jmp    0x43a852
43a87f:	8b 55 e8             	mov    -0x18(%ebp),%edx
43a882:	83 c8 ff             	or     $0xffffffff,%eax
43a885:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a888:	89 0a                	mov    %ecx,(%edx)
43a88a:	eb 33                	jmp    0x43a8bf
43a88c:	33 f6                	xor    %esi,%esi
43a88e:	52                   	push   %edx
43a88f:	eb 13                	jmp    0x43a8a4
43a891:	85 c0                	test   %eax,%eax
43a893:	74 07                	je     0x43a89c
43a895:	80 7c 05 f3 00       	cmpb   $0x0,-0xd(%ebp,%eax,1)
43a89a:	74 20                	je     0x43a8bc
43a89c:	ff 75 e4             	push   -0x1c(%ebp)
43a89f:	03 f0                	add    %eax,%esi
43a8a1:	83 c7 02             	add    $0x2,%edi
43a8a4:	0f b7 07             	movzwl (%edi),%eax
43a8a7:	53                   	push   %ebx
43a8a8:	50                   	push   %eax
43a8a9:	8d 45 f4             	lea    -0xc(%ebp),%eax
43a8ac:	50                   	push   %eax
43a8ad:	e8 fc 11 00 00       	call   0x43baae
43a8b2:	83 c4 10             	add    $0x10,%esp
43a8b5:	83 f8 ff             	cmp    $0xffffffff,%eax
43a8b8:	75 d7                	jne    0x43a891
43a8ba:	eb 03                	jmp    0x43a8bf
43a8bc:	48                   	dec    %eax
43a8bd:	03 c6                	add    %esi,%eax
43a8bf:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43a8c2:	5f                   	pop    %edi
43a8c3:	5e                   	pop    %esi
43a8c4:	33 cd                	xor    %ebp,%ecx
43a8c6:	5b                   	pop    %ebx
43a8c7:	e8 04 10 fe ff       	call   0x41b8d0
43a8cc:	c9                   	leave
43a8cd:	c3                   	ret
43a8ce:	8b ff                	mov    %edi,%edi
43a8d0:	55                   	push   %ebp
43a8d1:	8b ec                	mov    %esp,%ebp
43a8d3:	51                   	push   %ecx
43a8d4:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a8d7:	53                   	push   %ebx
43a8d8:	8b 5d 10             	mov    0x10(%ebp),%ebx
43a8db:	56                   	push   %esi
43a8dc:	8b 75 14             	mov    0x14(%ebp),%esi
43a8df:	57                   	push   %edi
43a8e0:	85 f6                	test   %esi,%esi
43a8e2:	75 1f                	jne    0x43a903
43a8e4:	85 c9                	test   %ecx,%ecx
43a8e6:	75 1f                	jne    0x43a907
43a8e8:	39 75 0c             	cmp    %esi,0xc(%ebp)
43a8eb:	74 28                	je     0x43a915
43a8ed:	e8 4e bd fe ff       	call   0x426640
43a8f2:	6a 16                	push   $0x16
43a8f4:	5e                   	pop    %esi
43a8f5:	89 30                	mov    %esi,(%eax)
43a8f7:	e8 73 61 fe ff       	call   0x420a6f
43a8fc:	8b c6                	mov    %esi,%eax
43a8fe:	5f                   	pop    %edi
43a8ff:	5e                   	pop    %esi
43a900:	5b                   	pop    %ebx
43a901:	c9                   	leave
43a902:	c3                   	ret
43a903:	85 c9                	test   %ecx,%ecx
43a905:	74 e6                	je     0x43a8ed
43a907:	8b 45 0c             	mov    0xc(%ebp),%eax
43a90a:	85 c0                	test   %eax,%eax
43a90c:	74 df                	je     0x43a8ed
43a90e:	85 f6                	test   %esi,%esi
43a910:	75 07                	jne    0x43a919
43a912:	c6 01 00             	movb   $0x0,(%ecx)
43a915:	33 c0                	xor    %eax,%eax
43a917:	eb e5                	jmp    0x43a8fe
43a919:	85 db                	test   %ebx,%ebx
43a91b:	75 04                	jne    0x43a921
43a91d:	88 19                	mov    %bl,(%ecx)
43a91f:	eb cc                	jmp    0x43a8ed
43a921:	2b d9                	sub    %ecx,%ebx
43a923:	89 75 fc             	mov    %esi,-0x4(%ebp)
43a926:	8b d1                	mov    %ecx,%edx
43a928:	8b f8                	mov    %eax,%edi
43a92a:	83 fe ff             	cmp    $0xffffffff,%esi
43a92d:	75 11                	jne    0x43a940
43a92f:	8a 04 13             	mov    (%ebx,%edx,1),%al
43a932:	88 02                	mov    %al,(%edx)
43a934:	42                   	inc    %edx
43a935:	84 c0                	test   %al,%al
43a937:	74 dc                	je     0x43a915
43a939:	83 ef 01             	sub    $0x1,%edi
43a93c:	75 f1                	jne    0x43a92f
43a93e:	eb 20                	jmp    0x43a960
43a940:	8a 04 13             	mov    (%ebx,%edx,1),%al
43a943:	88 02                	mov    %al,(%edx)
43a945:	42                   	inc    %edx
43a946:	84 c0                	test   %al,%al
43a948:	74 cb                	je     0x43a915
43a94a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43a94d:	83 ef 01             	sub    $0x1,%edi
43a950:	74 08                	je     0x43a95a
43a952:	83 e8 01             	sub    $0x1,%eax
43a955:	89 45 fc             	mov    %eax,-0x4(%ebp)
43a958:	75 e6                	jne    0x43a940
43a95a:	85 c0                	test   %eax,%eax
43a95c:	75 02                	jne    0x43a960
43a95e:	88 02                	mov    %al,(%edx)
43a960:	85 ff                	test   %edi,%edi
43a962:	75 b1                	jne    0x43a915
43a964:	83 fe ff             	cmp    $0xffffffff,%esi
43a967:	75 0d                	jne    0x43a976
43a969:	8b 45 0c             	mov    0xc(%ebp),%eax
43a96c:	6a 50                	push   $0x50
43a96e:	c6 44 01 ff 00       	movb   $0x0,-0x1(%ecx,%eax,1)
43a973:	58                   	pop    %eax
43a974:	eb 88                	jmp    0x43a8fe
43a976:	c6 01 00             	movb   $0x0,(%ecx)
43a979:	e8 c2 bc fe ff       	call   0x426640
43a97e:	6a 22                	push   $0x22
43a980:	e9 6f ff ff ff       	jmp    0x43a8f4
43a985:	8b ff                	mov    %edi,%edi
43a987:	55                   	push   %ebp
43a988:	8b ec                	mov    %esp,%ebp
43a98a:	5d                   	pop    %ebp
43a98b:	e9 3e ff ff ff       	jmp    0x43a8ce
43a990:	8b ff                	mov    %edi,%edi
43a992:	55                   	push   %ebp
43a993:	8b ec                	mov    %esp,%ebp
43a995:	83 ec 20             	sub    $0x20,%esp
43a998:	83 3d 40 61 45 00 00 	cmpl   $0x0,0x456140
43a99f:	56                   	push   %esi
43a9a0:	57                   	push   %edi
43a9a1:	74 10                	je     0x43a9b3
43a9a3:	ff 35 68 62 45 00    	push   0x456268
43a9a9:	ff 15 84 f0 43 00    	call   *0x43f084
43a9af:	8b f8                	mov    %eax,%edi
43a9b1:	eb 05                	jmp    0x43a9b8
43a9b3:	bf 00 95 42 00       	mov    $0x429500,%edi
43a9b8:	8b 45 14             	mov    0x14(%ebp),%eax
43a9bb:	83 f8 1a             	cmp    $0x1a,%eax
43a9be:	0f 8f de 00 00 00    	jg     0x43aaa2
43a9c4:	0f 84 cc 00 00 00    	je     0x43aa96
43a9ca:	83 f8 0e             	cmp    $0xe,%eax
43a9cd:	7f 65                	jg     0x43aa34
43a9cf:	74 50                	je     0x43aa21
43a9d1:	6a 02                	push   $0x2
43a9d3:	59                   	pop    %ecx
43a9d4:	2b c1                	sub    %ecx,%eax
43a9d6:	74 3a                	je     0x43aa12
43a9d8:	83 e8 01             	sub    $0x1,%eax
43a9db:	74 29                	je     0x43aa06
43a9dd:	83 e8 05             	sub    $0x5,%eax
43a9e0:	74 15                	je     0x43a9f7
43a9e2:	83 e8 01             	sub    $0x1,%eax
43a9e5:	0f 85 95 01 00 00    	jne    0x43ab80
43a9eb:	c7 45 e4 f4 36 44 00 	movl   $0x4436f4,-0x1c(%ebp)
43a9f2:	e9 01 01 00 00       	jmp    0x43aaf8
43a9f7:	89 4d e0             	mov    %ecx,-0x20(%ebp)
43a9fa:	c7 45 e4 f4 36 44 00 	movl   $0x4436f4,-0x1c(%ebp)
43aa01:	e9 3f 01 00 00       	jmp    0x43ab45
43aa06:	c7 45 e4 f0 36 44 00 	movl   $0x4436f0,-0x1c(%ebp)
43aa0d:	e9 e6 00 00 00       	jmp    0x43aaf8
43aa12:	89 4d e0             	mov    %ecx,-0x20(%ebp)
43aa15:	c7 45 e4 f0 36 44 00 	movl   $0x4436f0,-0x1c(%ebp)
43aa1c:	e9 24 01 00 00       	jmp    0x43ab45
43aa21:	c7 45 e0 03 00 00 00 	movl   $0x3,-0x20(%ebp)
43aa28:	c7 45 e4 e8 36 44 00 	movl   $0x4436e8,-0x1c(%ebp)
43aa2f:	e9 11 01 00 00       	jmp    0x43ab45
43aa34:	83 e8 0f             	sub    $0xf,%eax
43aa37:	74 54                	je     0x43aa8d
43aa39:	83 e8 09             	sub    $0x9,%eax
43aa3c:	74 43                	je     0x43aa81
43aa3e:	83 e8 01             	sub    $0x1,%eax
43aa41:	0f 85 39 01 00 00    	jne    0x43ab80
43aa47:	c7 45 e4 ec 36 44 00 	movl   $0x4436ec,-0x1c(%ebp)
43aa4e:	8b 45 08             	mov    0x8(%ebp),%eax
43aa51:	8b cf                	mov    %edi,%ecx
43aa53:	8b 75 10             	mov    0x10(%ebp),%esi
43aa56:	c7 45 e0 04 00 00 00 	movl   $0x4,-0x20(%ebp)
43aa5d:	dd 00                	fldl   (%eax)
43aa5f:	8b 45 0c             	mov    0xc(%ebp),%eax
43aa62:	dd 5d e8             	fstpl  -0x18(%ebp)
43aa65:	dd 00                	fldl   (%eax)
43aa67:	8d 45 e0             	lea    -0x20(%ebp),%eax
43aa6a:	dd 5d f0             	fstpl  -0x10(%ebp)
43aa6d:	dd 06                	fldl   (%esi)
43aa6f:	50                   	push   %eax
43aa70:	dd 5d f8             	fstpl  -0x8(%ebp)
43aa73:	ff 15 3c f2 43 00    	call   *0x43f23c
43aa79:	ff d7                	call   *%edi
43aa7b:	59                   	pop    %ecx
43aa7c:	e9 fa 00 00 00       	jmp    0x43ab7b
43aa81:	c7 45 e0 03 00 00 00 	movl   $0x3,-0x20(%ebp)
43aa88:	e9 b1 00 00 00       	jmp    0x43ab3e