43884c:	89 0f                	mov    %ecx,(%edi)
43884e:	85 f6                	test   %esi,%esi
438850:	74 2f                	je     0x438881
438852:	3b ce                	cmp    %esi,%ecx
438854:	76 1c                	jbe    0x438872
438856:	6a 22                	push   $0x22
438858:	58                   	pop    %eax
438859:	eb 28                	jmp    0x438883
43885b:	85 f6                	test   %esi,%esi
43885d:	74 c4                	je     0x438823
43885f:	e8 cc b1 fe ff       	call   0x423a30
438864:	6a 16                	push   $0x16
438866:	5e                   	pop    %esi
438867:	89 30                	mov    %esi,(%eax)
438869:	e8 15 71 fe ff       	call   0x41f983
43886e:	8b c6                	mov    %esi,%eax
438870:	eb 11                	jmp    0x438883
438872:	52                   	push   %edx
438873:	56                   	push   %esi
438874:	53                   	push   %ebx
438875:	e8 ec af fe ff       	call   0x423866
43887a:	83 c4 0c             	add    $0xc,%esp
43887d:	85 c0                	test   %eax,%eax
43887f:	75 07                	jne    0x438888
438881:	33 c0                	xor    %eax,%eax
438883:	5b                   	pop    %ebx
438884:	5f                   	pop    %edi
438885:	5e                   	pop    %esi
438886:	c9                   	leave
438887:	c3                   	ret
438888:	33 c0                	xor    %eax,%eax
43888a:	50                   	push   %eax
43888b:	50                   	push   %eax
43888c:	50                   	push   %eax
43888d:	50                   	push   %eax
43888e:	50                   	push   %eax
43888f:	e8 1c 71 fe ff       	call   0x41f9b0
438894:	cc                   	int3
438895:	8b ff                	mov    %edi,%edi
438897:	55                   	push   %ebp
438898:	8b ec                	mov    %esp,%ebp
43889a:	5d                   	pop    %ebp
43889b:	e9 e8 fe ff ff       	jmp    0x438788
4388a0:	8b ff                	mov    %edi,%edi
4388a2:	55                   	push   %ebp
4388a3:	8b ec                	mov    %esp,%ebp
4388a5:	83 ec 24             	sub    $0x24,%esp
4388a8:	a1 14 50 45 00       	mov    0x455014,%eax
4388ad:	33 c5                	xor    %ebp,%eax
4388af:	89 45 fc             	mov    %eax,-0x4(%ebp)
4388b2:	8b 45 0c             	mov    0xc(%ebp),%eax
4388b5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4388b8:	8b 55 18             	mov    0x18(%ebp),%edx
4388bb:	89 4d dc             	mov    %ecx,-0x24(%ebp)
4388be:	89 45 e8             	mov    %eax,-0x18(%ebp)
4388c1:	89 55 e4             	mov    %edx,-0x1c(%ebp)
4388c4:	53                   	push   %ebx
4388c5:	8b 5d 14             	mov    0x14(%ebp),%ebx
4388c8:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4388cb:	56                   	push   %esi
4388cc:	57                   	push   %edi
4388cd:	8b 38                	mov    (%eax),%edi
4388cf:	85 c9                	test   %ecx,%ecx
4388d1:	0f 84 96 00 00 00    	je     0x43896d
4388d7:	8b 45 10             	mov    0x10(%ebp),%eax
4388da:	8b f1                	mov    %ecx,%esi
4388dc:	89 7d f0             	mov    %edi,-0x10(%ebp)
4388df:	83 f8 04             	cmp    $0x4,%eax
4388e2:	73 08                	jae    0x4388ec
4388e4:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4388e7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
4388ea:	eb 05                	jmp    0x4388f1
4388ec:	8b ce                	mov    %esi,%ecx
4388ee:	89 75 ec             	mov    %esi,-0x14(%ebp)
4388f1:	0f b7 07             	movzwl (%edi),%eax
4388f4:	52                   	push   %edx
4388f5:	53                   	push   %ebx
4388f6:	50                   	push   %eax
4388f7:	51                   	push   %ecx
4388f8:	e8 0f 13 00 00       	call   0x439c0c
4388fd:	8b d8                	mov    %eax,%ebx
4388ff:	83 c4 10             	add    $0x10,%esp
438902:	83 fb ff             	cmp    $0xffffffff,%ebx
438905:	74 59                	je     0x438960
438907:	8b 45 ec             	mov    -0x14(%ebp),%eax
43890a:	3b c6                	cmp    %esi,%eax
43890c:	74 10                	je     0x43891e
43890e:	39 5d 10             	cmp    %ebx,0x10(%ebp)
438911:	72 48                	jb     0x43895b
438913:	53                   	push   %ebx
438914:	50                   	push   %eax
438915:	56                   	push   %esi
438916:	e8 65 2d fe ff       	call   0x41b680
43891b:	83 c4 0c             	add    $0xc,%esp
43891e:	85 db                	test   %ebx,%ebx
438920:	74 1d                	je     0x43893f
438922:	8d 04 33             	lea    (%ebx,%esi,1),%eax
438925:	8d 48 ff             	lea    -0x1(%eax),%ecx
438928:	8b f0                	mov    %eax,%esi
43892a:	80 39 00             	cmpb   $0x0,(%ecx)
43892d:	75 12                	jne    0x438941
43892f:	33 c0                	xor    %eax,%eax
438931:	8b f1                	mov    %ecx,%esi
438933:	8b 55 e8             	mov    -0x18(%ebp),%edx
438936:	2b 75 dc             	sub    -0x24(%ebp),%esi
438939:	89 02                	mov    %eax,(%edx)
43893b:	8b c6                	mov    %esi,%eax
43893d:	eb 61                	jmp    0x4389a0
43893f:	03 f3                	add    %ebx,%esi
438941:	83 c7 02             	add    $0x2,%edi
438944:	85 db                	test   %ebx,%ebx
438946:	74 03                	je     0x43894b
438948:	89 7d f0             	mov    %edi,-0x10(%ebp)
43894b:	8b 45 10             	mov    0x10(%ebp),%eax
43894e:	8b 55 e4             	mov    -0x1c(%ebp),%edx
438951:	2b c3                	sub    %ebx,%eax
438953:	8b 5d e0             	mov    -0x20(%ebp),%ebx
438956:	89 45 10             	mov    %eax,0x10(%ebp)
438959:	eb 84                	jmp    0x4388df
43895b:	8b 45 f0             	mov    -0x10(%ebp),%eax
43895e:	eb d3                	jmp    0x438933
438960:	8b 55 e8             	mov    -0x18(%ebp),%edx
438963:	83 c8 ff             	or     $0xffffffff,%eax
438966:	8b 4d f0             	mov    -0x10(%ebp),%ecx
438969:	89 0a                	mov    %ecx,(%edx)
43896b:	eb 33                	jmp    0x4389a0
43896d:	33 f6                	xor    %esi,%esi
43896f:	52                   	push   %edx
438970:	eb 13                	jmp    0x438985
438972:	85 c0                	test   %eax,%eax
438974:	74 07                	je     0x43897d
438976:	80 7c 05 f3 00       	cmpb   $0x0,-0xd(%ebp,%eax,1)
43897b:	74 20                	je     0x43899d
43897d:	ff 75 e4             	push   -0x1c(%ebp)
438980:	03 f0                	add    %eax,%esi
438982:	83 c7 02             	add    $0x2,%edi
438985:	0f b7 07             	movzwl (%edi),%eax
438988:	53                   	push   %ebx
438989:	50                   	push   %eax
43898a:	8d 45 f4             	lea    -0xc(%ebp),%eax
43898d:	50                   	push   %eax
43898e:	e8 79 12 00 00       	call   0x439c0c
438993:	83 c4 10             	add    $0x10,%esp
438996:	83 f8 ff             	cmp    $0xffffffff,%eax
438999:	75 d7                	jne    0x438972
43899b:	eb 03                	jmp    0x4389a0
43899d:	48                   	dec    %eax
43899e:	03 c6                	add    %esi,%eax
4389a0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4389a3:	5f                   	pop    %edi
4389a4:	5e                   	pop    %esi
4389a5:	33 cd                	xor    %ebp,%ecx
4389a7:	5b                   	pop    %ebx
4389a8:	e8 fd 11 fe ff       	call   0x419baa
4389ad:	c9                   	leave
4389ae:	c3                   	ret
4389af:	8b ff                	mov    %edi,%edi
4389b1:	55                   	push   %ebp
4389b2:	8b ec                	mov    %esp,%ebp
4389b4:	51                   	push   %ecx
4389b5:	8b 4d 08             	mov    0x8(%ebp),%ecx
4389b8:	53                   	push   %ebx
4389b9:	8b 5d 10             	mov    0x10(%ebp),%ebx
4389bc:	56                   	push   %esi
4389bd:	8b 75 14             	mov    0x14(%ebp),%esi
4389c0:	57                   	push   %edi
4389c1:	85 f6                	test   %esi,%esi
4389c3:	75 1f                	jne    0x4389e4
4389c5:	85 c9                	test   %ecx,%ecx
4389c7:	75 1f                	jne    0x4389e8
4389c9:	39 75 0c             	cmp    %esi,0xc(%ebp)
4389cc:	74 28                	je     0x4389f6
4389ce:	e8 5d b0 fe ff       	call   0x423a30
4389d3:	6a 16                	push   $0x16
4389d5:	5e                   	pop    %esi
4389d6:	89 30                	mov    %esi,(%eax)
4389d8:	e8 a6 6f fe ff       	call   0x41f983
4389dd:	8b c6                	mov    %esi,%eax
4389df:	5f                   	pop    %edi
4389e0:	5e                   	pop    %esi
4389e1:	5b                   	pop    %ebx
4389e2:	c9                   	leave
4389e3:	c3                   	ret
4389e4:	85 c9                	test   %ecx,%ecx
4389e6:	74 e6                	je     0x4389ce
4389e8:	8b 45 0c             	mov    0xc(%ebp),%eax
4389eb:	85 c0                	test   %eax,%eax
4389ed:	74 df                	je     0x4389ce
4389ef:	85 f6                	test   %esi,%esi
4389f1:	75 07                	jne    0x4389fa
4389f3:	c6 01 00             	movb   $0x0,(%ecx)
4389f6:	33 c0                	xor    %eax,%eax
4389f8:	eb e5                	jmp    0x4389df
4389fa:	85 db                	test   %ebx,%ebx
4389fc:	75 04                	jne    0x438a02
4389fe:	88 19                	mov    %bl,(%ecx)
438a00:	eb cc                	jmp    0x4389ce
438a02:	2b d9                	sub    %ecx,%ebx
438a04:	89 75 fc             	mov    %esi,-0x4(%ebp)
438a07:	8b d1                	mov    %ecx,%edx
438a09:	8b f8                	mov    %eax,%edi
438a0b:	83 fe ff             	cmp    $0xffffffff,%esi
438a0e:	75 11                	jne    0x438a21
438a10:	8a 04 13             	mov    (%ebx,%edx,1),%al
438a13:	88 02                	mov    %al,(%edx)
438a15:	42                   	inc    %edx
438a16:	84 c0                	test   %al,%al
438a18:	74 dc                	je     0x4389f6
438a1a:	83 ef 01             	sub    $0x1,%edi
438a1d:	75 f1                	jne    0x438a10
438a1f:	eb 20                	jmp    0x438a41
438a21:	8a 04 13             	mov    (%ebx,%edx,1),%al
438a24:	88 02                	mov    %al,(%edx)
438a26:	42                   	inc    %edx
438a27:	84 c0                	test   %al,%al
438a29:	74 cb                	je     0x4389f6
438a2b:	8b 45 fc             	mov    -0x4(%ebp),%eax
438a2e:	83 ef 01             	sub    $0x1,%edi
438a31:	74 08                	je     0x438a3b
438a33:	83 e8 01             	sub    $0x1,%eax
438a36:	89 45 fc             	mov    %eax,-0x4(%ebp)
438a39:	75 e6                	jne    0x438a21
438a3b:	85 c0                	test   %eax,%eax
438a3d:	75 02                	jne    0x438a41
438a3f:	88 02                	mov    %al,(%edx)
438a41:	85 ff                	test   %edi,%edi
438a43:	75 b1                	jne    0x4389f6
438a45:	83 fe ff             	cmp    $0xffffffff,%esi
438a48:	75 0d                	jne    0x438a57
438a4a:	8b 45 0c             	mov    0xc(%ebp),%eax
438a4d:	6a 50                	push   $0x50
438a4f:	c6 44 01 ff 00       	movb   $0x0,-0x1(%ecx,%eax,1)
438a54:	58                   	pop    %eax
438a55:	eb 88                	jmp    0x4389df
438a57:	c6 01 00             	movb   $0x0,(%ecx)
438a5a:	e8 d1 af fe ff       	call   0x423a30
438a5f:	6a 22                	push   $0x22
438a61:	e9 6f ff ff ff       	jmp    0x4389d5
438a66:	8b ff                	mov    %edi,%edi
438a68:	55                   	push   %ebp
438a69:	8b ec                	mov    %esp,%ebp
438a6b:	5d                   	pop    %ebp
438a6c:	e9 3e ff ff ff       	jmp    0x4389af
438a71:	8b ff                	mov    %edi,%edi
438a73:	55                   	push   %ebp
438a74:	8b ec                	mov    %esp,%ebp
438a76:	83 ec 20             	sub    $0x20,%esp
438a79:	83 3d ac 71 45 00 00 	cmpl   $0x0,0x4571ac
438a80:	56                   	push   %esi
438a81:	57                   	push   %edi
438a82:	74 10                	je     0x438a94
438a84:	ff 35 cc 7b 45 00    	push   0x457bcc
438a8a:	ff 15 e4 e0 43 00    	call   *0x43e0e4
438a90:	8b f8                	mov    %eax,%edi
438a92:	eb 05                	jmp    0x438a99
438a94:	bf 40 78 42 00       	mov    $0x427840,%edi
438a99:	8b 45 14             	mov    0x14(%ebp),%eax
438a9c:	83 f8 1a             	cmp    $0x1a,%eax
438a9f:	0f 8f de 00 00 00    	jg     0x438b83
438aa5:	0f 84 cc 00 00 00    	je     0x438b77
438aab:	83 f8 0e             	cmp    $0xe,%eax
438aae:	7f 65                	jg     0x438b15
438ab0:	74 50                	je     0x438b02
438ab2:	6a 02                	push   $0x2
438ab4:	59                   	pop    %ecx
438ab5:	2b c1                	sub    %ecx,%eax
438ab7:	74 3a                	je     0x438af3
438ab9:	83 e8 01             	sub    $0x1,%eax
438abc:	74 29                	je     0x438ae7
438abe:	83 e8 05             	sub    $0x5,%eax
438ac1:	74 15                	je     0x438ad8
438ac3:	83 e8 01             	sub    $0x1,%eax
438ac6:	0f 85 95 01 00 00    	jne    0x438c61
438acc:	c7 45 e4 a4 27 44 00 	movl   $0x4427a4,-0x1c(%ebp)
438ad3:	e9 01 01 00 00       	jmp    0x438bd9
438ad8:	89 4d e0             	mov    %ecx,-0x20(%ebp)
438adb:	c7 45 e4 a4 27 44 00 	movl   $0x4427a4,-0x1c(%ebp)
438ae2:	e9 3f 01 00 00       	jmp    0x438c26
438ae7:	c7 45 e4 a0 27 44 00 	movl   $0x4427a0,-0x1c(%ebp)
438aee:	e9 e6 00 00 00       	jmp    0x438bd9
438af3:	89 4d e0             	mov    %ecx,-0x20(%ebp)
438af6:	c7 45 e4 a0 27 44 00 	movl   $0x4427a0,-0x1c(%ebp)
438afd:	e9 24 01 00 00       	jmp    0x438c26
438b02:	c7 45 e0 03 00 00 00 	movl   $0x3,-0x20(%ebp)
438b09:	c7 45 e4 98 27 44 00 	movl   $0x442798,-0x1c(%ebp)
438b10:	e9 11 01 00 00       	jmp    0x438c26
438b15:	83 e8 0f             	sub    $0xf,%eax
438b18:	74 54                	je     0x438b6e
438b1a:	83 e8 09             	sub    $0x9,%eax
438b1d:	74 43                	je     0x438b62
438b1f:	83 e8 01             	sub    $0x1,%eax
438b22:	0f 85 39 01 00 00    	jne    0x438c61
438b28:	c7 45 e4 9c 27 44 00 	movl   $0x44279c,-0x1c(%ebp)
438b2f:	8b 45 08             	mov    0x8(%ebp),%eax
438b32:	8b cf                	mov    %edi,%ecx
438b34:	8b 75 10             	mov    0x10(%ebp),%esi
438b37:	c7 45 e0 04 00 00 00 	movl   $0x4,-0x20(%ebp)
438b3e:	dd 00                	fldl   (%eax)
438b40:	8b 45 0c             	mov    0xc(%ebp),%eax
438b43:	dd 5d e8             	fstpl  -0x18(%ebp)
438b46:	dd 00                	fldl   (%eax)
438b48:	8d 45 e0             	lea    -0x20(%ebp),%eax
438b4b:	dd 5d f0             	fstpl  -0x10(%ebp)
438b4e:	dd 06                	fldl   (%esi)
438b50:	50                   	push   %eax
438b51:	dd 5d f8             	fstpl  -0x8(%ebp)
438b54:	ff 15 5c e2 43 00    	call   *0x43e25c
438b5a:	ff d7                	call   *%edi
438b5c:	59                   	pop    %ecx
438b5d:	e9 fa 00 00 00       	jmp    0x438c5c
438b62:	c7 45 e0 03 00 00 00 	movl   $0x3,-0x20(%ebp)
438b69:	e9 b1 00 00 00       	jmp    0x438c1f
438b6e:	c7 45 e4 98 27 44 00 	movl   $0x442798,-0x1c(%ebp)
438b75:	eb b8                	jmp    0x438b2f
438b77:	d9 e8                	fld1
438b79:	8b 45 10             	mov    0x10(%ebp),%eax
438b7c:	dd 18                	fstpl  (%eax)
438b7e:	e9 de 00 00 00       	jmp    0x438c61
438b83:	83 e8 1b             	sub    $0x1b,%eax
438b86:	0f 84 8c 00 00 00    	je     0x438c18
438b8c:	83 e8 01             	sub    $0x1,%eax
438b8f:	74 41                	je     0x438bd2
438b91:	83 e8 15             	sub    $0x15,%eax
438b94:	74 33                	je     0x438bc9
438b96:	83 e8 09             	sub    $0x9,%eax
438b99:	74 25                	je     0x438bc0
438b9b:	83 e8 03             	sub    $0x3,%eax
438b9e:	74 17                	je     0x438bb7
438ba0:	2d ab 03 00 00       	sub    $0x3ab,%eax
438ba5:	74 09                	je     0x438bb0
438ba7:	83 e8 01             	sub    $0x1,%eax
438baa:	0f 85 b1 00 00 00    	jne    0x438c61
438bb0:	8b 45 08             	mov    0x8(%ebp),%eax
438bb3:	dd 00                	fldl   (%eax)
438bb5:	eb c2                	jmp    0x438b79
438bb7:	c7 45 e4 c4 27 44 00 	movl   $0x4427c4,-0x1c(%ebp)
438bbe:	eb 19                	jmp    0x438bd9
438bc0:	c7 45 e4 cc 27 44 00 	movl   $0x4427cc,-0x1c(%ebp)
438bc7:	eb 10                	jmp    0x438bd9
438bc9:	c7 45 e4 e4 27 44 00 	movl   $0x4427e4,-0x1c(%ebp)
438bd0:	eb 07                	jmp    0x438bd9
438bd2:	c7 45 e4 9c 27 44 00 	movl   $0x44279c,-0x1c(%ebp)
438bd9:	8b 45 08             	mov    0x8(%ebp),%eax
438bdc:	8b cf                	mov    %edi,%ecx
438bde:	8b 75 10             	mov    0x10(%ebp),%esi
438be1:	c7 45 e0 01 00 00 00 	movl   $0x1,-0x20(%ebp)
438be8:	dd 00                	fldl   (%eax)
438bea:	8b 45 0c             	mov    0xc(%ebp),%eax
438bed:	dd 5d e8             	fstpl  -0x18(%ebp)
438bf0:	dd 00                	fldl   (%eax)